diff --git a/buf.work.yaml b/buf.work.yaml new file mode 100644 index 00000000..1878b341 --- /dev/null +++ b/buf.work.yaml @@ -0,0 +1,3 @@ +version: v1 +directories: + - proto diff --git a/electra/.github/workflows/release.yml b/electra/.github/workflows/release.yml new file mode 100644 index 00000000..0d472b42 --- /dev/null +++ b/electra/.github/workflows/release.yml @@ -0,0 +1,55 @@ +# This workflow is useful if you want to automate the process of: +# +# a) Creating a new prelease when you push a new tag with a "v" prefix (version). +# +# This type of prerelease is meant to be used for production: alpha, beta, rc, etc. types of releases. +# After the prerelease is created, you need to make your changes on the release page at the relevant +# Github page and publish your release. +# +# b) Creating/updating the "latest" prerelease when you push to your default branch. +# +# This type of prelease is useful to make your bleeding-edge binaries available to advanced users. +# +# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your +# default branch. +on: push + +jobs: + might_release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Prepare Release Variables + id: vars + uses: ignite/cli/actions/release/vars@main + + - name: Issue Release Assets + uses: ignite/cli/actions/cli@main + if: ${{ steps.vars.outputs.should_release == 'true' }} + with: + args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64 -y + env: + DO_NOT_TRACK: 1 + + - name: Delete the "latest" Release + uses: dev-drprasad/delete-tag-and-release@v0.2.1 + if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }} + with: + tag_name: ${{ steps.vars.outputs.tag_name }} + delete_release: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish the Release + uses: softprops/action-gh-release@v1 + if: ${{ steps.vars.outputs.should_release == 'true' }} + with: + tag_name: ${{ steps.vars.outputs.tag_name }} + files: release/* + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/electra/.gitignore b/electra/.gitignore new file mode 100644 index 00000000..c4ba55dc --- /dev/null +++ b/electra/.gitignore @@ -0,0 +1,9 @@ +vue/node_modules +vue/dist +release/ +.idea/ +.vscode/ +.DS_Store +*.dot +*.log +*.ign diff --git a/electra/app/app.go b/electra/app/app.go new file mode 100644 index 00000000..7dfd3ad7 --- /dev/null +++ b/electra/app/app.go @@ -0,0 +1,417 @@ +package app + +import ( + "io" + + clienthelpers "cosmossdk.io/client/v2/helpers" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + storetypes "cosmossdk.io/store/types" + circuitkeeper "cosmossdk.io/x/circuit/keeper" + evidencekeeper "cosmossdk.io/x/evidence/keeper" + feegrantkeeper "cosmossdk.io/x/feegrant/keeper" + upgradekeeper "cosmossdk.io/x/upgrade/keeper" + _ "cosmossdk.io/api/cosmos/tx/config/v1" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/bank" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/consensus" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/distribution" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/mint" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/staking" // import for side-effects + _ "cosmossdk.io/x/circuit" // import for side-effects + _ "cosmossdk.io/x/evidence" // import for side-effects + _ "cosmossdk.io/x/feegrant/module" // import for side-effects + _ "cosmossdk.io/x/nft/module" // import for side-effects + nftkeeper "cosmossdk.io/x/nft/keeper" + _ "cosmossdk.io/x/upgrade" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/auth/vesting" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/authz/module" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/crisis" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/group/module" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/params" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/slashing" // import for side-effects + _ "github.com/cosmos/ibc-go/modules/capability" // import for side-effects + _ "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts" // import for side-effects + _ "github.com/cosmos/ibc-go/v8/modules/apps/29-fee" // import for side-effects + dbm "github.com/cosmos/cosmos-db" + abci "github.com/cometbft/cometbft/abci/types" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/runtime" + "github.com/cosmos/cosmos-sdk/server" + "github.com/cosmos/cosmos-sdk/server/api" + "github.com/cosmos/cosmos-sdk/server/config" + sdk "github.com/cosmos/cosmos-sdk/types" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/cosmos/cosmos-sdk/x/auth" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" + consensuskeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper" + crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/gov" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" + govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + groupkeeper "github.com/cosmos/cosmos-sdk/x/group/keeper" + mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" + paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" + paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" + stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" + capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper" + icacontrollerkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/keeper" + icahostkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/keeper" + ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" + ibctransferkeeper "github.com/cosmos/ibc-go/v8/modules/apps/transfer/keeper" + ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" + + // this line is used by starport scaffolding # stargate/app/moduleImport + + "electra/docs" +) + +const ( + AccountAddressPrefix = "cosmos" + Name = "electra" +) + +var ( + // DefaultNodeHome default home directories for the application daemon + DefaultNodeHome string +) + +var ( + _ runtime.AppI = (*App)(nil) + _ servertypes.Application = (*App)(nil) +) + +// App extends an ABCI application, but with most of its parameters exported. +// They are exported for convenience in creating helper functions, as object +// capabilities aren't needed for testing. +type App struct { + *runtime.App + legacyAmino *codec.LegacyAmino + appCodec codec.Codec + txConfig client.TxConfig + interfaceRegistry codectypes.InterfaceRegistry + + // keepers + AccountKeeper authkeeper.AccountKeeper + BankKeeper bankkeeper.Keeper + StakingKeeper *stakingkeeper.Keeper + DistrKeeper distrkeeper.Keeper + ConsensusParamsKeeper consensuskeeper.Keeper + + SlashingKeeper slashingkeeper.Keeper + MintKeeper mintkeeper.Keeper + GovKeeper *govkeeper.Keeper + CrisisKeeper *crisiskeeper.Keeper + UpgradeKeeper *upgradekeeper.Keeper + ParamsKeeper paramskeeper.Keeper + AuthzKeeper authzkeeper.Keeper + EvidenceKeeper evidencekeeper.Keeper + FeeGrantKeeper feegrantkeeper.Keeper + GroupKeeper groupkeeper.Keeper + NFTKeeper nftkeeper.Keeper + CircuitBreakerKeeper circuitkeeper.Keeper + + // IBC + IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly + CapabilityKeeper *capabilitykeeper.Keeper + IBCFeeKeeper ibcfeekeeper.Keeper + ICAControllerKeeper icacontrollerkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper + TransferKeeper ibctransferkeeper.Keeper + + // Scoped IBC + ScopedIBCKeeper capabilitykeeper.ScopedKeeper + ScopedIBCTransferKeeper capabilitykeeper.ScopedKeeper + ScopedICAControllerKeeper capabilitykeeper.ScopedKeeper + ScopedICAHostKeeper capabilitykeeper.ScopedKeeper + ScopedKeepers map[string]capabilitykeeper.ScopedKeeper + + // this line is used by starport scaffolding # stargate/app/keeperDeclaration + + // simulation manager + sm *module.SimulationManager +} + +func init() { + var err error + clienthelpers.EnvPrefix = Name + DefaultNodeHome, err = clienthelpers.GetNodeHomeDirectory("."+Name) + if err != nil { + panic(err) + } +} + +// getGovProposalHandlers return the chain proposal handlers. +func getGovProposalHandlers() []govclient.ProposalHandler { + var govProposalHandlers []govclient.ProposalHandler + // this line is used by starport scaffolding # stargate/app/govProposalHandlers + + govProposalHandlers = append(govProposalHandlers, + paramsclient.ProposalHandler, + // this line is used by starport scaffolding # stargate/app/govProposalHandler + ) + + return govProposalHandlers +} + +// AppConfig returns the default app config. +func AppConfig() depinject.Config { + return depinject.Configs( + appConfig, + // Alternatively, load the app config from a YAML file. + // appconfig.LoadYAML(AppConfigYAML), + depinject.Supply( + // supply custom module basics + map[string]module.AppModuleBasic{ + genutiltypes.ModuleName: genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), + govtypes.ModuleName: gov.NewAppModuleBasic(getGovProposalHandlers()), + // this line is used by starport scaffolding # stargate/appConfig/moduleBasic + }, + ), + ) +} + +// New returns a reference to an initialized App. +func New( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + loadLatest bool, + appOpts servertypes.AppOptions, + baseAppOptions ...func(*baseapp.BaseApp), +) (*App, error) { + var ( + app = &App{ScopedKeepers: make(map[string]capabilitykeeper.ScopedKeeper)} + appBuilder *runtime.AppBuilder + + // merge the AppConfig and other configuration in one config + appConfig = depinject.Configs( + AppConfig(), + depinject.Supply( + appOpts, // supply app options + logger, // supply logger + // Supply with IBC keeper getter for the IBC modules with App Wiring. + // The IBC Keeper cannot be passed because it has not been initiated yet. + // Passing the getter, the app IBC Keeper will always be accessible. + // This needs to be removed after IBC supports App Wiring. + app.GetIBCKeeper, + app.GetCapabilityScopedKeeper, + + // here alternative options can be supplied to the DI container. + // those options can be used f.e to override the default behavior of some modules. + // for instance supplying a custom address codec for not using bech32 addresses. + // read the depinject documentation and depinject module wiring for more information + // on available options and how to use them. + ), + ) + ) + + if err := depinject.Inject(appConfig, + &appBuilder, + &app.appCodec, + &app.legacyAmino, + &app.txConfig, + &app.interfaceRegistry, + &app.AccountKeeper, + &app.BankKeeper, + &app.StakingKeeper, + &app.DistrKeeper, + &app.ConsensusParamsKeeper, + &app.SlashingKeeper, + &app.MintKeeper, + &app.GovKeeper, + &app.CrisisKeeper, + &app.UpgradeKeeper, + &app.ParamsKeeper, + &app.AuthzKeeper, + &app.EvidenceKeeper, + &app.FeeGrantKeeper, + &app.NFTKeeper, + &app.GroupKeeper, + &app.CircuitBreakerKeeper, + // this line is used by starport scaffolding # stargate/app/keeperDefinition + ); err != nil { + panic(err) + } + + // add to default baseapp options + // enable optimistic execution + baseAppOptions = append(baseAppOptions, baseapp.SetOptimisticExecution()) + + // build app + app.App = appBuilder.Build(db, traceStore, baseAppOptions...) + + // register legacy modules + if err := app.registerIBCModules(appOpts); err != nil { + return nil, err + } + + // register streaming services + if err := app.RegisterStreamingServices(appOpts, app.kvStoreKeys()); err != nil { + return nil, err + } + + /**** Module Options ****/ + + app.ModuleManager.RegisterInvariants(app.CrisisKeeper) + + // create the simulation manager and define the order of the modules for deterministic simulations + overrideModules := map[string]module.AppModuleSimulation{ + authtypes.ModuleName: auth.NewAppModule(app.appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)), + } + app.sm = module.NewSimulationManagerFromAppModules(app.ModuleManager.Modules, overrideModules) + app.sm.RegisterStoreDecoders() + + // A custom InitChainer sets if extra pre-init-genesis logic is required. + // This is necessary for manually registered modules that do not support app wiring. + // Manually set the module version map as shown below. + // The upgrade module will automatically handle de-duplication of the module version map. + app.SetInitChainer(func(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { + if err := app.UpgradeKeeper.SetModuleVersionMap(ctx, app.ModuleManager.GetVersionMap()); err != nil { + return nil, err + } + return app.App.InitChainer(ctx, req) + }) + + if err := app.Load(loadLatest); err != nil { + return nil, err + } + + return app, nil +} + +// LegacyAmino returns App's amino codec. +// +// NOTE: This is solely to be used for testing purposes as it may be desirable +// for modules to register their own custom testing types. +func (app *App) LegacyAmino() *codec.LegacyAmino { + return app.legacyAmino +} + +// AppCodec returns App's app codec. +// +// NOTE: This is solely to be used for testing purposes as it may be desirable +// for modules to register their own custom testing types. +func (app *App) AppCodec() codec.Codec { + return app.appCodec +} + +// InterfaceRegistry returns App's interfaceRegistry. +func (app *App) InterfaceRegistry() codectypes.InterfaceRegistry { + return app.interfaceRegistry +} + +// TxConfig returns App's tx config. +func (app *App) TxConfig() client.TxConfig { + return app.txConfig +} + +// GetKey returns the KVStoreKey for the provided store key. +func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey { + kvStoreKey, ok := app.UnsafeFindStoreKey(storeKey).(*storetypes.KVStoreKey) + if !ok { + return nil + } + return kvStoreKey +} + +// GetMemKey returns the MemoryStoreKey for the provided store key. +func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey { + key, ok := app.UnsafeFindStoreKey(storeKey).(*storetypes.MemoryStoreKey) + if !ok { + return nil + } + + return key +} + +// kvStoreKeys returns all the kv store keys registered inside App. +func (app *App) kvStoreKeys() map[string]*storetypes.KVStoreKey { + keys := make(map[string]*storetypes.KVStoreKey) + for _, k := range app.GetStoreKeys() { + if kv, ok := k.(*storetypes.KVStoreKey); ok { + keys[kv.Name()] = kv + } + } + + return keys +} + +// GetSubspace returns a param subspace for a given module name. +func (app *App) GetSubspace(moduleName string) paramstypes.Subspace { + subspace, _ := app.ParamsKeeper.GetSubspace(moduleName) + return subspace +} + +// GetIBCKeeper returns the IBC keeper. +func (app *App) GetIBCKeeper() *ibckeeper.Keeper { + return app.IBCKeeper +} + +// GetCapabilityScopedKeeper returns the capability scoped keeper. +func (app *App) GetCapabilityScopedKeeper(moduleName string) capabilitykeeper.ScopedKeeper { + sk, ok := app.ScopedKeepers[moduleName] + if !ok { + sk = app.CapabilityKeeper.ScopeToModule(moduleName) + app.ScopedKeepers[moduleName] = sk + } + return sk +} + +// SimulationManager implements the SimulationApp interface. +func (app *App) SimulationManager() *module.SimulationManager { + return app.sm +} + +// RegisterAPIRoutes registers all application module routes with the provided +// API server. +func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig) { + app.App.RegisterAPIRoutes(apiSvr, apiConfig) + // register swagger API in app.go so that other applications can override easily + if err := server.RegisterSwaggerAPI(apiSvr.ClientCtx, apiSvr.Router, apiConfig.Swagger); err != nil { + panic(err) + } + + // register app's OpenAPI routes. + docs.RegisterOpenAPIService(Name, apiSvr.Router) +} + +// GetMaccPerms returns a copy of the module account permissions +// +// NOTE: This is solely to be used for testing purposes. +func GetMaccPerms() map[string][]string { + dup := make(map[string][]string) + for _, perms := range moduleAccPerms { + dup[perms.Account] = perms.Permissions + } + return dup +} + +// BlockedAddresses returns all the app's blocked account addresses. +func BlockedAddresses() map[string]bool { + result := make(map[string]bool) + if len(blockAccAddrs) > 0 { + for _, addr := range blockAccAddrs { + result[addr] = true + } + } else { + for addr := range GetMaccPerms() { + result[addr] = true + } + } + return result +} \ No newline at end of file diff --git a/electra/app/app_config.go b/electra/app/app_config.go new file mode 100644 index 00000000..155f1a78 --- /dev/null +++ b/electra/app/app_config.go @@ -0,0 +1,293 @@ +package app + +import ( + "time" + + runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" + appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" + authmodulev1 "cosmossdk.io/api/cosmos/auth/module/v1" + authzmodulev1 "cosmossdk.io/api/cosmos/authz/module/v1" + bankmodulev1 "cosmossdk.io/api/cosmos/bank/module/v1" + circuitmodulev1 "cosmossdk.io/api/cosmos/circuit/module/v1" + consensusmodulev1 "cosmossdk.io/api/cosmos/consensus/module/v1" + crisismodulev1 "cosmossdk.io/api/cosmos/crisis/module/v1" + distrmodulev1 "cosmossdk.io/api/cosmos/distribution/module/v1" + evidencemodulev1 "cosmossdk.io/api/cosmos/evidence/module/v1" + feegrantmodulev1 "cosmossdk.io/api/cosmos/feegrant/module/v1" + genutilmodulev1 "cosmossdk.io/api/cosmos/genutil/module/v1" + govmodulev1 "cosmossdk.io/api/cosmos/gov/module/v1" + groupmodulev1 "cosmossdk.io/api/cosmos/group/module/v1" + mintmodulev1 "cosmossdk.io/api/cosmos/mint/module/v1" + nftmodulev1 "cosmossdk.io/api/cosmos/nft/module/v1" + paramsmodulev1 "cosmossdk.io/api/cosmos/params/module/v1" + slashingmodulev1 "cosmossdk.io/api/cosmos/slashing/module/v1" + stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" + txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" + upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" + vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" + "cosmossdk.io/core/appconfig" + circuittypes "cosmossdk.io/x/circuit/types" + evidencetypes "cosmossdk.io/x/evidence/types" + "cosmossdk.io/x/feegrant" + "cosmossdk.io/x/nft" + upgradetypes "cosmossdk.io/x/upgrade/types" + "github.com/cosmos/cosmos-sdk/runtime" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + "github.com/cosmos/cosmos-sdk/x/authz" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + consensustypes "github.com/cosmos/cosmos-sdk/x/consensus/types" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/x/group" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" + "google.golang.org/protobuf/types/known/durationpb" + + // this line is used by starport scaffolding # stargate/app/moduleImport +) + +var ( + // NOTE: The genutils module must occur after staking so that pools are + // properly initialized with tokens from genesis accounts. + // NOTE: The genutils module must also occur after auth so that it can access the params from auth. + // NOTE: Capability module must occur first so that it can initialize any capabilities + // so that other modules that want to create or claim capabilities afterwards in InitChain + // can do so safely. + genesisModuleOrder = []string{ + // cosmos-sdk/ibc modules + capabilitytypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + distrtypes.ModuleName, + stakingtypes.ModuleName, + slashingtypes.ModuleName, + govtypes.ModuleName, + minttypes.ModuleName, + crisistypes.ModuleName, + ibcexported.ModuleName, + genutiltypes.ModuleName, + evidencetypes.ModuleName, + authz.ModuleName, + ibctransfertypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + feegrant.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, + nft.ModuleName, + group.ModuleName, + consensustypes.ModuleName, + circuittypes.ModuleName, + // chain modules + // this line is used by starport scaffolding # stargate/app/initGenesis + } + + // During begin block slashing happens after distr.BeginBlocker so that + // there is nothing left over in the validator fee pool, so as to keep the + // CanWithdrawInvariant invariant. + // NOTE: staking module is required if HistoricalEntries param > 0 + // NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC) + beginBlockers = []string{ + // cosmos sdk modules + minttypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + evidencetypes.ModuleName, + stakingtypes.ModuleName, + authz.ModuleName, + genutiltypes.ModuleName, + // ibc modules + capabilitytypes.ModuleName, + ibcexported.ModuleName, + ibctransfertypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + // chain modules + // this line is used by starport scaffolding # stargate/app/beginBlockers + } + + endBlockers = []string{ + // cosmos sdk modules + crisistypes.ModuleName, + govtypes.ModuleName, + stakingtypes.ModuleName, + feegrant.ModuleName, + group.ModuleName, + genutiltypes.ModuleName, + // ibc modules + ibcexported.ModuleName, + ibctransfertypes.ModuleName, + capabilitytypes.ModuleName, + icatypes.ModuleName, + ibcfeetypes.ModuleName, + // chain modules + // this line is used by starport scaffolding # stargate/app/endBlockers + } + + preBlockers = []string{ + upgradetypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/preBlockers + } + + // module account permissions + moduleAccPerms = []*authmodulev1.ModuleAccountPermission{ + {Account: authtypes.FeeCollectorName}, + {Account: distrtypes.ModuleName}, + {Account: minttypes.ModuleName, Permissions: []string{authtypes.Minter}}, + {Account: stakingtypes.BondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: stakingtypes.NotBondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: govtypes.ModuleName, Permissions: []string{authtypes.Burner}}, + {Account: nft.ModuleName}, + {Account: ibctransfertypes.ModuleName, Permissions: []string{authtypes.Minter, authtypes.Burner}}, + {Account: ibcfeetypes.ModuleName}, + {Account: icatypes.ModuleName}, + // this line is used by starport scaffolding # stargate/app/maccPerms + } + + // blocked account addresses + blockAccAddrs = []string{ + authtypes.FeeCollectorName, + distrtypes.ModuleName, + minttypes.ModuleName, + stakingtypes.BondedPoolName, + stakingtypes.NotBondedPoolName, + nft.ModuleName, + // We allow the following module accounts to receive funds: + // govtypes.ModuleName + } + + // appConfig application configuration (used by depinject) + appConfig = appconfig.Compose(&appv1alpha1.Config{ + Modules: []*appv1alpha1.ModuleConfig{ + { + Name: runtime.ModuleName, + Config: appconfig.WrapAny(&runtimev1alpha1.Module{ + AppName: Name, + PreBlockers: preBlockers, + BeginBlockers: beginBlockers, + EndBlockers: endBlockers, + InitGenesis: genesisModuleOrder, + OverrideStoreKeys: []*runtimev1alpha1.StoreKeyConfig{ + { + ModuleName: authtypes.ModuleName, + KvStoreKey: "acc", + }, + }, + // When ExportGenesis is not specified, the export genesis module order + // is equal to the init genesis order + // ExportGenesis: genesisModuleOrder, + // Uncomment if you want to set a custom migration order here. + // OrderMigrations: nil, + }), + }, + { + Name: authtypes.ModuleName, + Config: appconfig.WrapAny(&authmodulev1.Module{ + Bech32Prefix: AccountAddressPrefix, + ModuleAccountPermissions: moduleAccPerms, + // By default modules authority is the governance module. This is configurable with the following: + // Authority: "group", // A custom module authority can be set using a module name + // Authority: "cosmos1cwwv22j5ca08ggdv9c2uky355k908694z577tv", // or a specific address + }), + }, + { + Name: nft.ModuleName, + Config: appconfig.WrapAny(&nftmodulev1.Module{}), + }, + { + Name: vestingtypes.ModuleName, + Config: appconfig.WrapAny(&vestingmodulev1.Module{}), + }, + { + Name: banktypes.ModuleName, + Config: appconfig.WrapAny(&bankmodulev1.Module{ + BlockedModuleAccountsOverride: blockAccAddrs, + }), + }, + { + Name: stakingtypes.ModuleName, + Config: appconfig.WrapAny(&stakingmodulev1.Module{ + // NOTE: specifying a prefix is only necessary when using bech32 addresses + // If not specfied, the auth Bech32Prefix appended with "valoper" and "valcons" is used by default + Bech32PrefixValidator: AccountAddressPrefix + "valoper", + Bech32PrefixConsensus: AccountAddressPrefix + "valcons", + }), + }, + { + Name: slashingtypes.ModuleName, + Config: appconfig.WrapAny(&slashingmodulev1.Module{}), + }, + { + Name: paramstypes.ModuleName, + Config: appconfig.WrapAny(¶msmodulev1.Module{}), + }, + { + Name: "tx", + Config: appconfig.WrapAny(&txconfigv1.Config{}), + }, + { + Name: genutiltypes.ModuleName, + Config: appconfig.WrapAny(&genutilmodulev1.Module{}), + }, + { + Name: authz.ModuleName, + Config: appconfig.WrapAny(&authzmodulev1.Module{}), + }, + { + Name: upgradetypes.ModuleName, + Config: appconfig.WrapAny(&upgrademodulev1.Module{}), + }, + { + Name: distrtypes.ModuleName, + Config: appconfig.WrapAny(&distrmodulev1.Module{}), + }, + { + Name: evidencetypes.ModuleName, + Config: appconfig.WrapAny(&evidencemodulev1.Module{}), + }, + { + Name: minttypes.ModuleName, + Config: appconfig.WrapAny(&mintmodulev1.Module{}), + }, + { + Name: group.ModuleName, + Config: appconfig.WrapAny(&groupmodulev1.Module{ + MaxExecutionPeriod: durationpb.New(time.Second * 1209600), + MaxMetadataLen: 255, + }), + }, + { + Name: feegrant.ModuleName, + Config: appconfig.WrapAny(&feegrantmodulev1.Module{}), + }, + { + Name: govtypes.ModuleName, + Config: appconfig.WrapAny(&govmodulev1.Module{}), + }, + { + Name: crisistypes.ModuleName, + Config: appconfig.WrapAny(&crisismodulev1.Module{}), + }, + { + Name: consensustypes.ModuleName, + Config: appconfig.WrapAny(&consensusmodulev1.Module{}), + }, + { + Name: circuittypes.ModuleName, + Config: appconfig.WrapAny(&circuitmodulev1.Module{}), + }, + // this line is used by starport scaffolding # stargate/app/moduleConfig + }, + }) +) diff --git a/electra/app/config.go b/electra/app/config.go new file mode 100644 index 00000000..a36981bf --- /dev/null +++ b/electra/app/config.go @@ -0,0 +1,19 @@ +package app + +import sdk "github.com/cosmos/cosmos-sdk/types" + +func init() { + // Set prefixes + accountPubKeyPrefix := AccountAddressPrefix + "pub" + validatorAddressPrefix := AccountAddressPrefix + "valoper" + validatorPubKeyPrefix := AccountAddressPrefix + "valoperpub" + consNodeAddressPrefix := AccountAddressPrefix + "valcons" + consNodePubKeyPrefix := AccountAddressPrefix + "valconspub" + + // Set and seal config + config := sdk.GetConfig() + config.SetBech32PrefixForAccount(AccountAddressPrefix, accountPubKeyPrefix) + config.SetBech32PrefixForValidator(validatorAddressPrefix, validatorPubKeyPrefix) + config.SetBech32PrefixForConsensusNode(consNodeAddressPrefix, consNodePubKeyPrefix) + config.Seal() +} \ No newline at end of file diff --git a/electra/app/export.go b/electra/app/export.go new file mode 100644 index 00000000..8248408a --- /dev/null +++ b/electra/app/export.go @@ -0,0 +1,248 @@ +package app + +import ( + "encoding/json" + "fmt" + "log" + + storetypes "cosmossdk.io/store/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + sdk "github.com/cosmos/cosmos-sdk/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + "github.com/cosmos/cosmos-sdk/x/staking" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +// ExportAppStateAndValidators exports the state of the application for a genesis +// file. +func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error) { + // as if they could withdraw from the start of the next block + ctx := app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight()}) + + // We export at last height + 1, because that's the height at which + // CometBFT will start InitChain. + height := app.LastBlockHeight() + 1 + if forZeroHeight { + height = 0 + app.prepForZeroHeightGenesis(ctx, jailAllowedAddrs) + } + + genState, err := app.ModuleManager.ExportGenesisForModules(ctx, app.appCodec, modulesToExport) + if err != nil { + return servertypes.ExportedApp{}, err + } + + appState, err := json.MarshalIndent(genState, "", " ") + if err != nil { + return servertypes.ExportedApp{}, err + } + + validators, err := staking.WriteValidators(ctx, app.StakingKeeper) + return servertypes.ExportedApp{ + AppState: appState, + Validators: validators, + Height: height, + ConsensusParams: app.BaseApp.GetConsensusParams(ctx), + }, err +} + +// prepare for fresh start at zero height +// NOTE zero height genesis is a temporary feature which will be deprecated +// +// in favor of export at a block height +func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []string) { + applyAllowedAddrs := false + + // check if there is a allowed address list + if len(jailAllowedAddrs) > 0 { + applyAllowedAddrs = true + } + + allowedAddrsMap := make(map[string]bool) + + for _, addr := range jailAllowedAddrs { + _, err := sdk.ValAddressFromBech32(addr) + if err != nil { + log.Fatal(err) + } + allowedAddrsMap[addr] = true + } + + + /* Just to be safe, assert the invariants on current state. */ + app.CrisisKeeper.AssertInvariants(ctx) + + + /* Handle fee distribution state. */ + + // withdraw all validator commission + err := app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + valBz, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(val.GetOperator()) + if err != nil { + panic(err) + } + _, _ = app.DistrKeeper.WithdrawValidatorCommission(ctx, valBz) + return false + }) + if err != nil { + panic(err) + } + + // withdraw all delegator rewards + dels, err := app.StakingKeeper.GetAllDelegations(ctx) + if err != nil { + panic(err) + } + + for _, delegation := range dels { + valAddr, err := sdk.ValAddressFromBech32(delegation.ValidatorAddress) + if err != nil { + panic(err) + } + + delAddr := sdk.MustAccAddressFromBech32(delegation.DelegatorAddress) + + _, _ = app.DistrKeeper.WithdrawDelegationRewards(ctx, delAddr, valAddr) + } + + // clear validator slash events + app.DistrKeeper.DeleteAllValidatorSlashEvents(ctx) + + // clear validator historical rewards + app.DistrKeeper.DeleteAllValidatorHistoricalRewards(ctx) + + // set context height to zero + height := ctx.BlockHeight() + ctx = ctx.WithBlockHeight(0) + + // reinitialize all validators + err = app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + valBz, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(val.GetOperator()) + if err != nil { + panic(err) + } + // donate any unwithdrawn outstanding reward fraction tokens to the community pool + scraps, err := app.DistrKeeper.GetValidatorOutstandingRewardsCoins(ctx, valBz) + if err != nil { + panic(err) + } + feePool, err := app.DistrKeeper.FeePool.Get(ctx) + if err != nil { + panic(err) + } + feePool.CommunityPool = feePool.CommunityPool.Add(scraps...) + if err := app.DistrKeeper.FeePool.Set(ctx, feePool); err != nil { + panic(err) + } + + if err := app.DistrKeeper.Hooks().AfterValidatorCreated(ctx, valBz); err != nil { + panic(err) + } + return false + }) + + // reinitialize all delegations + for _, del := range dels { + valAddr, err := sdk.ValAddressFromBech32(del.ValidatorAddress) + if err != nil { + panic(err) + } + delAddr := sdk.MustAccAddressFromBech32(del.DelegatorAddress) + + if err := app.DistrKeeper.Hooks().BeforeDelegationCreated(ctx, delAddr, valAddr); err != nil { + // never called as BeforeDelegationCreated always returns nil + panic(fmt.Errorf("error while incrementing period: %w", err)) + } + + if err := app.DistrKeeper.Hooks().AfterDelegationModified(ctx, delAddr, valAddr); err != nil { + // never called as AfterDelegationModified always returns nil + panic(fmt.Errorf("error while creating a new delegation period record: %w", err)) + } + } + + // reset context height + ctx = ctx.WithBlockHeight(height) + + /* Handle staking state. */ + + // iterate through redelegations, reset creation height + err = app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { + for i := range red.Entries { + red.Entries[i].CreationHeight = 0 + } + err = app.StakingKeeper.SetRedelegation(ctx, red) + if err != nil { + panic(err) + } + return false + }) + if err != nil { + panic(err) + } + + // iterate through unbonding delegations, reset creation height + err = app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { + for i := range ubd.Entries { + ubd.Entries[i].CreationHeight = 0 + } + err = app.StakingKeeper.SetUnbondingDelegation(ctx, ubd) + if err != nil { + panic(err) + } + return false + }) + if err != nil { + panic(err) + } + + // Iterate through validators by power descending, reset bond heights, and + // update bond intra-tx counters. + store := ctx.KVStore(app.GetKey(stakingtypes.StoreKey)) + iter := storetypes.KVStoreReversePrefixIterator(store, stakingtypes.ValidatorsKey) + counter := int16(0) + + for ; iter.Valid(); iter.Next() { + addr := sdk.ValAddress(stakingtypes.AddressFromValidatorsKey(iter.Key())) + validator, err := app.StakingKeeper.GetValidator(ctx, addr) + if err != nil { + panic("expected validator, not found") + } + + validator.UnbondingHeight = 0 + if applyAllowedAddrs && !allowedAddrsMap[addr.String()] { + validator.Jailed = true + } + + if err := app.StakingKeeper.SetValidator(ctx, validator); err != nil { + panic(err) + } + counter++ + } + + if err := iter.Close(); err != nil { + app.Logger().Error("error while closing the key-value store reverse prefix iterator: ", err) + return + } + + _, err = app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) + if err != nil { + log.Fatal(err) + } + + + /* Handle slashing state. */ + + // reset start height on signing infos + if err := app.SlashingKeeper.IterateValidatorSigningInfos( + ctx, + func(addr sdk.ConsAddress, info slashingtypes.ValidatorSigningInfo) (stop bool) { + info.StartHeight = 0 + _ = app.SlashingKeeper.SetValidatorSigningInfo(ctx, addr, info) + return false + }, + ); err != nil { + log.Fatal(err) + } + +} diff --git a/electra/app/genesis.go b/electra/app/genesis.go new file mode 100644 index 00000000..e4e849fc --- /dev/null +++ b/electra/app/genesis.go @@ -0,0 +1,14 @@ +package app + +import ( + "encoding/json" +) + +// GenesisState of the blockchain is represented here as a map of raw json +// messages key'd by a identifier string. +// The identifier is used to determine which module genesis information belongs +// to so it may be appropriately routed during init chain. +// Within this application default genesis information is retrieved from +// the ModuleBasicManager which populates json from each BasicModule +// object provided to it during init. +type GenesisState map[string]json.RawMessage diff --git a/electra/app/genesis_account.go b/electra/app/genesis_account.go new file mode 100644 index 00000000..91ff4dfc --- /dev/null +++ b/electra/app/genesis_account.go @@ -0,0 +1,47 @@ +package app + +import ( + "errors" + + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +var _ authtypes.GenesisAccount = (*GenesisAccount)(nil) + +// GenesisAccount defines a type that implements the GenesisAccount interface +// to be used for simulation accounts in the genesis state. +type GenesisAccount struct { + *authtypes.BaseAccount + + // vesting account fields + OriginalVesting sdk.Coins `json:"original_vesting" yaml:"original_vesting"` // total vesting coins upon initialization + DelegatedFree sdk.Coins `json:"delegated_free" yaml:"delegated_free"` // delegated vested coins at time of delegation + DelegatedVesting sdk.Coins `json:"delegated_vesting" yaml:"delegated_vesting"` // delegated vesting coins at time of delegation + StartTime int64 `json:"start_time" yaml:"start_time"` // vesting start time (UNIX Epoch time) + EndTime int64 `json:"end_time" yaml:"end_time"` // vesting end time (UNIX Epoch time) + + // module account fields + ModuleName string `json:"module_name" yaml:"module_name"` // name of the module account + ModulePermissions []string `json:"module_permissions" yaml:"module_permissions"` // permissions of module account +} + +// Validate checks for errors on the vesting and module account parameters +func (sga GenesisAccount) Validate() error { + if !sga.OriginalVesting.IsZero() { + if sga.StartTime >= sga.EndTime { + return errors.New("vesting start-time cannot be before end-time") + } + } + + if sga.ModuleName != "" { + ma := authtypes.ModuleAccount{ + BaseAccount: sga.BaseAccount, Name: sga.ModuleName, Permissions: sga.ModulePermissions, + } + if err := ma.Validate(); err != nil { + return err + } + } + + return sga.BaseAccount.Validate() +} diff --git a/electra/app/ibc.go b/electra/app/ibc.go new file mode 100644 index 00000000..9494c7a2 --- /dev/null +++ b/electra/app/ibc.go @@ -0,0 +1,208 @@ +package app + +import ( + "cosmossdk.io/core/appmodule" + storetypes "cosmossdk.io/store/types" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/types/module" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/cosmos/ibc-go/modules/capability" + capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + icamodule "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts" + icacontroller "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller" + icacontrollerkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfee "github.com/cosmos/ibc-go/v8/modules/apps/29-fee" + ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibctransfer "github.com/cosmos/ibc-go/v8/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v8/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v8/modules/core" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" + ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" + solomachine "github.com/cosmos/ibc-go/v8/modules/light-clients/06-solomachine" + ibctm "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint" + + // this line is used by starport scaffolding # ibc/app/import +) + +// registerIBCModules register IBC keepers and non dependency inject modules. +func (app *App) registerIBCModules(appOpts servertypes.AppOptions) error { + // set up non depinject support modules store keys + if err := app.RegisterStores( + storetypes.NewKVStoreKey(capabilitytypes.StoreKey), + storetypes.NewKVStoreKey(ibcexported.StoreKey), + storetypes.NewKVStoreKey(ibctransfertypes.StoreKey), + storetypes.NewKVStoreKey(ibcfeetypes.StoreKey), + storetypes.NewKVStoreKey(icahosttypes.StoreKey), + storetypes.NewKVStoreKey(icacontrollertypes.StoreKey), + storetypes.NewMemoryStoreKey(capabilitytypes.MemStoreKey), + storetypes.NewTransientStoreKey(paramstypes.TStoreKey), + ); err != nil { + return err + } + + // register the key tables for legacy param subspaces + keyTable := ibcclienttypes.ParamKeyTable() + keyTable.RegisterParamSet(&ibcconnectiontypes.Params{}) + app.ParamsKeeper.Subspace(ibcexported.ModuleName).WithKeyTable(keyTable) + app.ParamsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) + app.ParamsKeeper.Subspace(icacontrollertypes.SubModuleName).WithKeyTable(icacontrollertypes.ParamKeyTable()) + app.ParamsKeeper.Subspace(icahosttypes.SubModuleName).WithKeyTable(icahosttypes.ParamKeyTable()) + + // add capability keeper and ScopeToModule for ibc module + app.CapabilityKeeper = capabilitykeeper.NewKeeper( + app.AppCodec(), + app.GetKey(capabilitytypes.StoreKey), + app.GetMemKey(capabilitytypes.MemStoreKey), + ) + + // add capability keeper and ScopeToModule for ibc module + scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName) + scopedIBCTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) + scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) + scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) + + // Create IBC keeper + app.IBCKeeper = ibckeeper.NewKeeper( + app.appCodec, + app.GetKey(ibcexported.StoreKey), + app.GetSubspace(ibcexported.ModuleName), + app.StakingKeeper, + app.UpgradeKeeper, + scopedIBCKeeper, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + + // Register the proposal types + // Deprecated: Avoid adding new handlers, instead use the new proposal flow + // by granting the governance module the right to execute the message. + // See: https://docs.cosmos.network/main/modules/gov#proposal-messages + govRouter := govv1beta1.NewRouter() + govRouter.AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler) + + app.IBCFeeKeeper = ibcfeekeeper.NewKeeper( + app.appCodec, app.GetKey(ibcfeetypes.StoreKey), + app.IBCKeeper.ChannelKeeper, // may be replaced with IBC middleware + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, + ) + + // Create IBC transfer keeper + app.TransferKeeper = ibctransferkeeper.NewKeeper( + app.appCodec, + app.GetKey(ibctransfertypes.StoreKey), + app.GetSubspace(ibctransfertypes.ModuleName), + app.IBCFeeKeeper, + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + app.AccountKeeper, + app.BankKeeper, + scopedIBCTransferKeeper, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + + // Create interchain account keepers + app.ICAHostKeeper = icahostkeeper.NewKeeper( + app.appCodec, + app.GetKey(icahosttypes.StoreKey), + app.GetSubspace(icahosttypes.SubModuleName), + app.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + app.AccountKeeper, + scopedICAHostKeeper, + app.MsgServiceRouter(), + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + app.ICAHostKeeper.WithQueryRouter(app.GRPCQueryRouter()) + + app.ICAControllerKeeper = icacontrollerkeeper.NewKeeper( + app.appCodec, + app.GetKey(icacontrollertypes.StoreKey), + app.GetSubspace(icacontrollertypes.SubModuleName), + app.IBCFeeKeeper, // use ics29 fee as ics4Wrapper in middleware stack + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.PortKeeper, + scopedICAControllerKeeper, + app.MsgServiceRouter(), + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) + app.GovKeeper.SetLegacyRouter(govRouter) + + // Create IBC modules with ibcfee middleware + transferIBCModule := ibcfee.NewIBCMiddleware(ibctransfer.NewIBCModule(app.TransferKeeper), app.IBCFeeKeeper) + + // integration point for custom authentication modules + var noAuthzModule porttypes.IBCModule + icaControllerIBCModule := ibcfee.NewIBCMiddleware( + icacontroller.NewIBCMiddleware(noAuthzModule, app.ICAControllerKeeper), + app.IBCFeeKeeper, + ) + + icaHostIBCModule := ibcfee.NewIBCMiddleware(icahost.NewIBCModule(app.ICAHostKeeper), app.IBCFeeKeeper) + + // Create static IBC router, add transfer route, then set and seal it + ibcRouter := porttypes.NewRouter(). + AddRoute(ibctransfertypes.ModuleName, transferIBCModule). + AddRoute(icacontrollertypes.SubModuleName, icaControllerIBCModule). + AddRoute(icahosttypes.SubModuleName, icaHostIBCModule) + + // this line is used by starport scaffolding # ibc/app/module + + app.IBCKeeper.SetRouter(ibcRouter) + + app.ScopedIBCKeeper = scopedIBCKeeper + app.ScopedIBCTransferKeeper = scopedIBCTransferKeeper + app.ScopedICAHostKeeper = scopedICAHostKeeper + app.ScopedICAControllerKeeper = scopedICAControllerKeeper + + // register IBC modules + if err := app.RegisterModules( + ibc.NewAppModule(app.IBCKeeper), + ibctransfer.NewAppModule(app.TransferKeeper), + ibcfee.NewAppModule(app.IBCFeeKeeper), + icamodule.NewAppModule(&app.ICAControllerKeeper, &app.ICAHostKeeper), + capability.NewAppModule(app.appCodec, *app.CapabilityKeeper, false), + ibctm.NewAppModule(), + solomachine.NewAppModule(), + ); err != nil { + return err + } + + return nil +} + +// RegisterIBC Since the IBC modules don't support dependency injection, +// we need to manually register the modules on the client side. +// This needs to be removed after IBC supports App Wiring. +func RegisterIBC(registry cdctypes.InterfaceRegistry) map[string]appmodule.AppModule { + modules := map[string]appmodule.AppModule{ + ibcexported.ModuleName: ibc.AppModule{}, + ibctransfertypes.ModuleName: ibctransfer.AppModule{}, + ibcfeetypes.ModuleName: ibcfee.AppModule{}, + icatypes.ModuleName: icamodule.AppModule{}, + capabilitytypes.ModuleName: capability.AppModule{}, + ibctm.ModuleName: ibctm.AppModule{}, + solomachine.ModuleName: solomachine.AppModule{}, + } + + for name, m := range modules { + module.CoreAppModuleBasicAdaptor(name, m).RegisterInterfaces(registry) + } + + return modules +} \ No newline at end of file diff --git a/electra/app/sim_bench_test.go b/electra/app/sim_bench_test.go new file mode 100644 index 00000000..11e5471d --- /dev/null +++ b/electra/app/sim_bench_test.go @@ -0,0 +1,151 @@ +package app_test + +import ( + "fmt" + "os" + "testing" + + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/cosmos-sdk/x/simulation" + simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" + "github.com/stretchr/testify/require" + + "electra/app" +) + +// Profile with: +// `go test -benchmem -run=^$ -bench ^BenchmarkFullAppSimulation ./app -Commit=true -cpuprofile cpu.out` +func BenchmarkFullAppSimulation(b *testing.B) { + b.ReportAllocs() + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "goleveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if err != nil { + b.Fatalf("simulation setup failed: %s", err.Error()) + } + + if skip { + b.Skip("skipping benchmark application simulation") + } + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, interBlockCacheOpt()) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + if err = simtestutil.CheckExportSimulation(bApp, config, simParams); err != nil { + b.Fatal(err) + } + + if simErr != nil { + b.Fatal(simErr) + } + + if config.Commit { + simtestutil.PrintStats(db) + } +} + + +func BenchmarkInvariants(b *testing.B) { + b.ReportAllocs() + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-invariant-bench", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if err != nil { + b.Fatalf("simulation setup failed: %s", err.Error()) + } + + if skip { + b.Skip("skipping benchmark application simulation") + } + + config.AllInvariants = false + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, interBlockCacheOpt()) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + if err = simtestutil.CheckExportSimulation(bApp, config, simParams); err != nil { + b.Fatal(err) + } + + if simErr != nil { + b.Fatal(simErr) + } + + if config.Commit { + simtestutil.PrintStats(db) + } + + ctx := bApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight() + 1}) + + // 3. Benchmark each invariant separately + // + // NOTE: We use the crisis keeper as it has all the invariants registered with + // their respective metadata which makes it useful for testing/benchmarking. + for _, cr := range bApp.CrisisKeeper.Routes() { + cr := cr + b.Run(fmt.Sprintf("%s/%s", cr.ModuleName, cr.Route), func(b *testing.B) { + if res, stop := cr.Invar(ctx); stop { + b.Fatalf( + "broken invariant at block %d of %d\n%s", + ctx.BlockHeight()-1, config.NumBlocks, res, + ) + } + }) + } +} diff --git a/electra/app/sim_test.go b/electra/app/sim_test.go new file mode 100644 index 00000000..a02514b7 --- /dev/null +++ b/electra/app/sim_test.go @@ -0,0 +1,430 @@ +package app_test + +import ( + "encoding/json" + "flag" + "fmt" + "math/rand" + "os" + "runtime/debug" + "strings" + "testing" + "time" + + "cosmossdk.io/log" + "cosmossdk.io/store" + storetypes "cosmossdk.io/store/types" + "cosmossdk.io/x/feegrant" + upgradetypes "cosmossdk.io/x/upgrade/types" + abci "github.com/cometbft/cometbft/abci/types" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + simulationtypes "github.com/cosmos/cosmos-sdk/types/simulation" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + "github.com/cosmos/cosmos-sdk/x/simulation" + simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/spf13/viper" + "github.com/stretchr/testify/require" + + "electra/app" +) + +const ( + SimAppChainID = "electra-simapp" +) + +var FlagEnableStreamingValue bool + +// Get flags every time the simulator is run +func init() { + simcli.GetSimulatorFlags() + flag.BoolVar(&FlagEnableStreamingValue, "EnableStreaming", false, "Enable streaming service") +} + +// fauxMerkleModeOpt returns a BaseApp option to use a dbStoreAdapter instead of +// an IAVLStore for faster simulation speed. +func fauxMerkleModeOpt(bapp *baseapp.BaseApp) { + bapp.SetFauxMerkleMode() +} + +// interBlockCacheOpt returns a BaseApp option function that sets the persistent +// inter-block write-through cache. +func interBlockCacheOpt() func(*baseapp.BaseApp) { + return baseapp.SetInterBlockCache(store.NewCommitKVStoreCacheManager()) +} + +// BenchmarkSimulation run the chain simulation +// Running using starport command: +// `ignite chain simulate -v --numBlocks 200 --blockSize 50` +// Running as go benchmark test: +// `go test -benchmem -run=^$ -bench ^BenchmarkSimulation ./app -NumBlocks=200 -BlockSize 50 -Commit=true -Verbose=true -Enabled=true` +func BenchmarkSimulation(b *testing.B) { + simcli.FlagSeedValue = time.Now().Unix() + simcli.FlagVerboseValue = true + simcli.FlagCommitValue = true + simcli.FlagEnabledValue = true + + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + b.Skip("skipping application simulation") + } + require.NoError(b, err, "simulation setup failed") + + defer func() { + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(b, err) + require.Equal(b, app.Name, bApp.Name()) + + // run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + b, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(b, err) + require.NoError(b, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } +} + +func TestAppImportExport(t *testing.T) { + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + t.Skip("skipping application import/export simulation") + } + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, db.Close()) + require.NoError(t, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, bApp.Name()) + + // Run randomized simulation + _, simParams, simErr := simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(t, err) + require.NoError(t, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } + + fmt.Printf("exporting genesis...\n") + + exported, err := bApp.ExportAppStateAndValidators(false, []string{}, []string{}) + require.NoError(t, err) + + fmt.Printf("importing genesis...\n") + + newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, newDB.Close()) + require.NoError(t, os.RemoveAll(newDir)) + }() + + newApp, err := app.New(log.NewNopLogger(), newDB, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, newApp.Name()) + + var genesisState app.GenesisState + err = json.Unmarshal(exported.AppState, &genesisState) + require.NoError(t, err) + + ctxA := bApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight()}) + ctxB := newApp.NewContextLegacy(true, cmtproto.Header{Height: bApp.LastBlockHeight()}) + _, err = newApp.ModuleManager.InitGenesis(ctxB, bApp.AppCodec(), genesisState) + + if err != nil { + if strings.Contains(err.Error(), "validator set is empty after InitGenesis") { + logger.Info("Skipping simulation as all validators have been unbonded") + logger.Info("err", err, "stacktrace", string(debug.Stack())) + return + } + } + require.NoError(t, err) + err = newApp.StoreConsensusParams(ctxB, exported.ConsensusParams) + require.NoError(t, err) + fmt.Printf("comparing stores...\n") + + // skip certain prefixes + skipPrefixes := map[string][][]byte{ + upgradetypes.StoreKey: { + []byte{upgradetypes.VersionMapByte}, + }, + stakingtypes.StoreKey: { + stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, + stakingtypes.HistoricalInfoKey, stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, + stakingtypes.UnbondingTypeKey, stakingtypes.ValidatorUpdatesKey, + }, + authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix}, + feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix}, + slashingtypes.StoreKey: {slashingtypes.ValidatorMissedBlockBitmapKeyPrefix}, + } + + storeKeys := bApp.GetStoreKeys() + require.NotEmpty(t, storeKeys) + + for _, appKeyA := range storeKeys { + // only compare kvstores + if _, ok := appKeyA.(*storetypes.KVStoreKey); !ok { + continue + } + + keyName := appKeyA.Name() + appKeyB := newApp.GetKey(keyName) + + storeA := ctxA.KVStore(appKeyA) + storeB := ctxB.KVStore(appKeyB) + + failedKVAs, failedKVBs := simtestutil.DiffKVStores(storeA, storeB, skipPrefixes[keyName]) + require.Equal(t, len(failedKVAs), len(failedKVBs), "unequal sets of key-values to compare %s", keyName) + + fmt.Printf("compared %d different key/value pairs between %s and %s\n", len(failedKVAs), appKeyA, appKeyB) + + require.Equal(t, 0, len(failedKVAs), simtestutil.GetSimulationLog(keyName, bApp.SimulationManager().StoreDecoders, failedKVAs, failedKVBs)) + } +} + +func TestAppSimulationAfterImport(t *testing.T) { + config := simcli.NewConfigFromFlags() + config.ChainID = SimAppChainID + + db, dir, logger, skip, err := simtestutil.SetupSimulation(config, "leveldb-app-sim", "Simulation", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + if skip { + t.Skip("skipping application simulation after import") + } + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, db.Close()) + require.NoError(t, os.RemoveAll(dir)) + }() + + appOptions := make(simtestutil.AppOptionsMap, 0) + appOptions[flags.FlagHome] = app.DefaultNodeHome + appOptions[server.FlagInvCheckPeriod] = simcli.FlagPeriodValue + + bApp, err := app.New(logger, db, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, bApp.Name()) + + // Run randomized simulation + stopEarly, simParams, simErr := simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + + // export state and simParams before the simulation error is checked + err = simtestutil.CheckExportSimulation(bApp, config, simParams) + require.NoError(t, err) + require.NoError(t, simErr) + + if config.Commit { + simtestutil.PrintStats(db) + } + + if stopEarly { + fmt.Println("can't export or import a zero-validator genesis, exiting test...") + return + } + + fmt.Printf("exporting genesis...\n") + + exported, err := bApp.ExportAppStateAndValidators(true, []string{}, []string{}) + require.NoError(t, err) + + fmt.Printf("importing genesis...\n") + + newDB, newDir, _, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup failed") + + defer func() { + require.NoError(t, newDB.Close()) + require.NoError(t, os.RemoveAll(newDir)) + }() + + newApp, err := app.New(log.NewNopLogger(), newDB, nil, true, appOptions, fauxMerkleModeOpt, baseapp.SetChainID(SimAppChainID)) + require.NoError(t, err) + require.Equal(t, app.Name, newApp.Name()) + + _, err = newApp.InitChain(&abci.RequestInitChain{ + AppStateBytes: exported.AppState, + ChainId: SimAppChainID, + }) + require.NoError(t, err) + + _, _, err = simulation.SimulateFromSeed( + t, + os.Stdout, + newApp.BaseApp, + simtestutil.AppStateFn(bApp.AppCodec(), bApp.SimulationManager(), bApp.DefaultGenesis()), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(newApp, newApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + require.NoError(t, err) +} + +func TestAppStateDeterminism(t *testing.T) { + if !simcli.FlagEnabledValue { + t.Skip("skipping application simulation") + } + + config := simcli.NewConfigFromFlags() + config.InitialBlockHeight = 1 + config.ExportParamsPath = "" + config.OnOperation = true + config.AllInvariants = true + config.ChainID = SimAppChainID + + numSeeds := 3 + numTimesToRunPerSeed := 3 // This used to be set to 5, but we've temporarily reduced it to 3 for the sake of faster CI. + appHashList := make([]json.RawMessage, numTimesToRunPerSeed) + + // We will be overriding the random seed and just run a single simulation on the provided seed value + if config.Seed != simcli.DefaultSeedValue { + numSeeds = 1 + } + + appOptions := viper.New() + if FlagEnableStreamingValue { + m := make(map[string]interface{}) + m["streaming.abci.keys"] = []string{"*"} + m["streaming.abci.plugin"] = "abci_v1" + m["streaming.abci.stop-node-on-err"] = true + for key, value := range m { + appOptions.SetDefault(key, value) + } + } + appOptions.SetDefault(flags.FlagHome, app.DefaultNodeHome) + appOptions.SetDefault(server.FlagInvCheckPeriod, simcli.FlagPeriodValue) + if simcli.FlagVerboseValue { + appOptions.SetDefault(flags.FlagLogLevel, "debug") + } + + for i := 0; i < numSeeds; i++ { + if config.Seed == simcli.DefaultSeedValue { + config.Seed = rand.Int63() + } + fmt.Println("config.Seed: ", config.Seed) + + for j := 0; j < numTimesToRunPerSeed; j++ { + var logger log.Logger + if simcli.FlagVerboseValue { + logger = log.NewTestLogger(t) + } else { + logger = log.NewNopLogger() + } + + db := dbm.NewMemDB() + bApp, err := app.New( + logger, + db, + nil, + true, + appOptions, + interBlockCacheOpt(), + baseapp.SetChainID(SimAppChainID), + ) + require.NoError(t, err) + + fmt.Printf( + "running non-determinism simulation; seed %d: %d/%d, attempt: %d/%d\n", + config.Seed, i+1, numSeeds, j+1, numTimesToRunPerSeed, + ) + + _, _, err = simulation.SimulateFromSeed( + t, + os.Stdout, + bApp.BaseApp, + simtestutil.AppStateFn( + bApp.AppCodec(), + bApp.SimulationManager(), + bApp.DefaultGenesis(), + ), + simulationtypes.RandomAccounts, + simtestutil.SimulationOperations(bApp, bApp.AppCodec(), config), + app.BlockedAddresses(), + config, + bApp.AppCodec(), + ) + require.NoError(t, err) + + if config.Commit { + simtestutil.PrintStats(db) + } + + appHash := bApp.LastCommitID().Hash + appHashList[j] = appHash + + if j != 0 { + require.Equal( + t, string(appHashList[0]), string(appHashList[j]), + "non-determinism in seed %d: %d/%d, attempt: %d/%d\n", config.Seed, i+1, numSeeds, j+1, numTimesToRunPerSeed, + ) + } + } + } +} diff --git a/electra/buf.work.yaml b/electra/buf.work.yaml new file mode 100644 index 00000000..1878b341 --- /dev/null +++ b/electra/buf.work.yaml @@ -0,0 +1,3 @@ +version: v1 +directories: + - proto diff --git a/electra/cmd/electrad/cmd/commands.go b/electra/cmd/electrad/cmd/commands.go new file mode 100644 index 00000000..f199c6fa --- /dev/null +++ b/electra/cmd/electrad/cmd/commands.go @@ -0,0 +1,190 @@ +package cmd + +import ( + "errors" + "io" + + "cosmossdk.io/log" + confixcmd "cosmossdk.io/tools/confix/cmd" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/debug" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/keys" + "github.com/cosmos/cosmos-sdk/client/pruning" + "github.com/cosmos/cosmos-sdk/client/rpc" + "github.com/cosmos/cosmos-sdk/client/snapshot" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/server" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/types/module" + authcmd "github.com/cosmos/cosmos-sdk/x/auth/client/cli" + "github.com/cosmos/cosmos-sdk/x/crisis" + genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" + "github.com/spf13/cobra" + "github.com/spf13/viper" + + "electra/app" +) + +func initRootCmd( + rootCmd *cobra.Command, + txConfig client.TxConfig, + basicManager module.BasicManager, +) { + rootCmd.AddCommand( + genutilcli.InitCmd(basicManager, app.DefaultNodeHome), + NewInPlaceTestnetCmd(addModuleInitFlags), + debug.Cmd(), + confixcmd.ConfigCommand(), + pruning.Cmd(newApp, app.DefaultNodeHome), + snapshot.Cmd(newApp), + ) + + server.AddCommands(rootCmd, app.DefaultNodeHome, newApp, appExport, addModuleInitFlags) + + // add keybase, auxiliary RPC, query, genesis, and tx child commands + rootCmd.AddCommand( + server.StatusCommand(), + genesisCommand(txConfig, basicManager), + queryCommand(), + txCommand(), + keys.Commands(), + ) +} + +func addModuleInitFlags(startCmd *cobra.Command) { + crisis.AddModuleInitFlags(startCmd) +} + +// genesisCommand builds genesis-related `electrad genesis` command. Users may provide application specific commands as a parameter +func genesisCommand(txConfig client.TxConfig, basicManager module.BasicManager, cmds ...*cobra.Command) *cobra.Command { + cmd := genutilcli.Commands(txConfig, basicManager, app.DefaultNodeHome) + + for _, subCmd := range cmds { + cmd.AddCommand(subCmd) + } + return cmd +} + +func queryCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "query", + Aliases: []string{"q"}, + Short: "Querying subcommands", + DisableFlagParsing: false, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + rpc.QueryEventForTxCmd(), + rpc.ValidatorCommand(), + server.QueryBlockCmd(), + authcmd.QueryTxsByEventsCmd(), + server.QueryBlocksCmd(), + authcmd.QueryTxCmd(), + server.QueryBlockResultsCmd(), + ) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +func txCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "tx", + Short: "Transactions subcommands", + DisableFlagParsing: false, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + authcmd.GetSignCommand(), + authcmd.GetSignBatchCommand(), + authcmd.GetMultiSignCommand(), + authcmd.GetMultiSignBatchCmd(), + authcmd.GetValidateSignaturesCommand(), + flags.LineBreak, + authcmd.GetBroadcastCommand(), + authcmd.GetEncodeCommand(), + authcmd.GetDecodeCommand(), + authcmd.GetSimulateCmd(), + ) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +// newApp creates the application +func newApp( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + appOpts servertypes.AppOptions, +) servertypes.Application { + baseappOptions := server.DefaultBaseappOptions(appOpts) + + app, err := app.New( + logger, db, traceStore, true, + appOpts, + baseappOptions..., + ) + if err != nil { + panic(err) + } + return app +} + +// appExport creates a new app (optionally at a given height) and exports state. +func appExport( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + height int64, + forZeroHeight bool, + jailAllowedAddrs []string, + appOpts servertypes.AppOptions, + modulesToExport []string, +) (servertypes.ExportedApp, error) { + var ( + bApp *app.App + err error + ) + + // this check is necessary as we use the flag in x/upgrade. + // we can exit more gracefully by checking the flag here. + homePath, ok := appOpts.Get(flags.FlagHome).(string) + if !ok || homePath == "" { + return servertypes.ExportedApp{}, errors.New("application home not set") + } + + viperAppOpts, ok := appOpts.(*viper.Viper) + if !ok { + return servertypes.ExportedApp{}, errors.New("appOpts is not viper.Viper") + } + + // overwrite the FlagInvCheckPeriod + viperAppOpts.Set(server.FlagInvCheckPeriod, 1) + appOpts = viperAppOpts + + if height != -1 { + bApp, err = app.New(logger, db, traceStore, false, appOpts) + if err != nil { + return servertypes.ExportedApp{}, err + } + + if err := bApp.LoadHeight(height); err != nil { + return servertypes.ExportedApp{}, err + } + } else { + bApp, err = app.New(logger, db, traceStore, true, appOpts) + if err != nil { + return servertypes.ExportedApp{}, err + } + } + + return bApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs, modulesToExport) +} diff --git a/electra/cmd/electrad/cmd/config.go b/electra/cmd/electrad/cmd/config.go new file mode 100644 index 00000000..a14ebc57 --- /dev/null +++ b/electra/cmd/electrad/cmd/config.go @@ -0,0 +1,62 @@ +package cmd + +import ( + cmtcfg "github.com/cometbft/cometbft/config" + serverconfig "github.com/cosmos/cosmos-sdk/server/config" +) + +// initCometBFTConfig helps to override default CometBFT Config values. +// return cmtcfg.DefaultConfig if no custom configuration is required for the application. +func initCometBFTConfig() *cmtcfg.Config { + cfg := cmtcfg.DefaultConfig() + + // these values put a higher strain on node memory + // cfg.P2P.MaxNumInboundPeers = 100 + // cfg.P2P.MaxNumOutboundPeers = 40 + + return cfg +} + +// initAppConfig helps to override default appConfig template and configs. +// return "", nil if no custom configuration is required for the application. +func initAppConfig() (string, interface{}) { + // The following code snippet is just for reference. + type CustomAppConfig struct { + serverconfig.Config `mapstructure:",squash"` + } + + // Optionally allow the chain developer to overwrite the SDK's default + // server config. + srvCfg := serverconfig.DefaultConfig() + // The SDK's default minimum gas price is set to "" (empty value) inside + // app.toml. If left empty by validators, the node will halt on startup. + // However, the chain developer can set a default app.toml value for their + // validators here. + // + // In summary: + // - if you leave srvCfg.MinGasPrices = "", all validators MUST tweak their + // own app.toml config, + // - if you set srvCfg.MinGasPrices non-empty, validators CAN tweak their + // own app.toml to override, or use this default value. + // + // In tests, we set the min gas prices to 0. + // srvCfg.MinGasPrices = "0stake" + // srvCfg.BaseConfig.IAVLDisableFastNode = true // disable fastnode by default + + customAppConfig := CustomAppConfig{ + Config: *srvCfg, + } + + customAppTemplate := serverconfig.DefaultConfigTemplate + // Edit the default template file + // + // customAppTemplate := serverconfig.DefaultConfigTemplate + ` + // [wasm] + // # This is the maximum sdk gas (wasm and storage) that we allow for any x/wasm "smart" queries + // query_gas_limit = 300000 + // # This is the number of wasm vm instances we keep cached in memory for speed-up + // # Warning: this is currently unstable and may lead to crashes, best to keep for 0 unless testing locally + // lru_size = 0` + + return customAppTemplate, customAppConfig +} diff --git a/electra/cmd/electrad/cmd/root.go b/electra/cmd/electrad/cmd/root.go new file mode 100644 index 00000000..5334166e --- /dev/null +++ b/electra/cmd/electrad/cmd/root.go @@ -0,0 +1,148 @@ +package cmd + +import ( + "os" + "strings" + + "cosmossdk.io/client/v2/autocli" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/config" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/server" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + authtxconfig "github.com/cosmos/cosmos-sdk/x/auth/tx/config" + "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "electra/app" +) + +// NewRootCmd creates a new root command for electrad. It is called once in the main function. +func NewRootCmd() *cobra.Command { + var ( + autoCliOpts autocli.AppOptions + moduleBasicManager module.BasicManager + clientCtx client.Context + ) + + if err := depinject.Inject( + depinject.Configs(app.AppConfig(), + depinject.Supply( + log.NewNopLogger(), + ), + depinject.Provide( + ProvideClientContext, + ), + ), + &autoCliOpts, + &moduleBasicManager, + &clientCtx, + ); err != nil { + panic(err) + } + + rootCmd := &cobra.Command{ + Use: app.Name + "d", + Short: "Start electra node", + SilenceErrors: true, + PersistentPreRunE: func(cmd *cobra.Command, _ []string) error { + // set the default command outputs + cmd.SetOut(cmd.OutOrStdout()) + cmd.SetErr(cmd.ErrOrStderr()) + + clientCtx = clientCtx.WithCmdContext(cmd.Context()) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + if err != nil { + return err + } + + clientCtx, err = config.ReadFromClientConfig(clientCtx) + if err != nil { + return err + } + + if err := client.SetCmdClientContextHandler(clientCtx, cmd); err != nil { + return err + } + + customAppTemplate, customAppConfig := initAppConfig() + customCMTConfig := initCometBFTConfig() + + return server.InterceptConfigsPreRunHandler(cmd, customAppTemplate, customAppConfig, customCMTConfig) + }, + } + + + // Since the IBC modules don't support dependency injection, we need to + // manually register the modules on the client side. + // This needs to be removed after IBC supports App Wiring. + ibcModules := app.RegisterIBC(clientCtx.InterfaceRegistry) + for name, mod := range ibcModules { + moduleBasicManager[name] = module.CoreAppModuleBasicAdaptor(name, mod) + autoCliOpts.Modules[name] = mod + } + + initRootCmd(rootCmd, clientCtx.TxConfig, moduleBasicManager) + + overwriteFlagDefaults(rootCmd, map[string]string{ + flags.FlagChainID: strings.ReplaceAll(app.Name, "-", ""), + flags.FlagKeyringBackend: "test", + }) + + if err := autoCliOpts.EnhanceRootCommand(rootCmd); err != nil { + panic(err) + } + + return rootCmd +} + +func overwriteFlagDefaults(c *cobra.Command, defaults map[string]string) { + set := func(s *pflag.FlagSet, key, val string) { + if f := s.Lookup(key); f != nil { + f.DefValue = val + _ = f.Value.Set(val) + } + } + for key, val := range defaults { + set(c.Flags(), key, val) + set(c.PersistentFlags(), key, val) + } + for _, c := range c.Commands() { + overwriteFlagDefaults(c, defaults) + } +} + +func ProvideClientContext( + appCodec codec.Codec, + interfaceRegistry codectypes.InterfaceRegistry, + txConfigOpts tx.ConfigOptions, + legacyAmino *codec.LegacyAmino, +) client.Context { + clientCtx := client.Context{}. + WithCodec(appCodec). + WithInterfaceRegistry(interfaceRegistry). + WithLegacyAmino(legacyAmino). + WithInput(os.Stdin). + WithAccountRetriever(types.AccountRetriever{}). + WithHomeDir(app.DefaultNodeHome). + WithViper(app.Name) // env variable prefix + + // Read the config again to overwrite the default values with the values from the config file + clientCtx, _ = config.ReadFromClientConfig(clientCtx) + + // textual is enabled by default, we need to re-create the tx config grpc instead of bank keeper. + txConfigOpts.TextualCoinMetadataQueryFn = authtxconfig.NewGRPCCoinMetadataQueryFn(clientCtx) + txConfig, err := tx.NewTxConfigWithOptions(clientCtx.Codec, txConfigOpts) + if err != nil { + panic(err) + } + clientCtx = clientCtx.WithTxConfig(txConfig) + + return clientCtx +} \ No newline at end of file diff --git a/electra/cmd/electrad/cmd/testnet.go b/electra/cmd/electrad/cmd/testnet.go new file mode 100644 index 00000000..6732c39e --- /dev/null +++ b/electra/cmd/electrad/cmd/testnet.go @@ -0,0 +1,266 @@ +package cmd + +import ( + "fmt" + "io" + "strings" + + "cosmossdk.io/log" + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" + "github.com/cometbft/cometbft/crypto" + "github.com/cometbft/cometbft/libs/bytes" + tmos "github.com/cometbft/cometbft/libs/os" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/client/flags" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" + "github.com/cosmos/cosmos-sdk/server" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + sdk "github.com/cosmos/cosmos-sdk/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/spf13/cast" + "github.com/spf13/cobra" + + "electra/app" +) + +const ( + valVotingPower int64 = 900000000000000 +) + +var ( + flagAccountsToFund = "accounts-to-fund" +) + +type valArgs struct { + newValAddr bytes.HexBytes + newOperatorAddress string + newValPubKey crypto.PubKey + accountsToFund []sdk.AccAddress + upgradeToTrigger string + homeDir string +} + +func NewInPlaceTestnetCmd(addStartFlags servertypes.ModuleInitFlags) *cobra.Command { + cmd := server.InPlaceTestnetCreator(newTestnetApp) + addStartFlags(cmd) + cmd.Short = "Updates chain's application and consensus state with provided validator info and starts the node" + cmd.Long = `The test command modifies both application and consensus stores within a local mainnet node and starts the node, +with the aim of facilitating testing procedures. This command replaces existing validator data with updated information, +thereby removing the old validator set and introducing a new set suitable for local testing purposes. By altering the state extracted from the mainnet node, +it enables developers to configure their local environments to reflect mainnet conditions more accurately.` + + cmd.Example = fmt.Sprintf(`%sd in-place-testnet testing-1 cosmosvaloper1w7f3xx7e75p4l7qdym5msqem9rd4dyc4mq79dm --home $HOME/.%sd/validator1 --validator-privkey=6dq+/KHNvyiw2TToCgOpUpQKIzrLs69Rb8Az39xvmxPHNoPxY1Cil8FY+4DhT9YwD6s0tFABMlLcpaylzKKBOg== --accounts-to-fund="cosmos1f7twgcq4ypzg7y24wuywy06xmdet8pc4473tnq,cosmos1qvuhm5m644660nd8377d6l7yz9e9hhm9evmx3x"`, "electra", "electra") + + cmd.Flags().String(flagAccountsToFund, "", "Comma-separated list of account addresses that will be funded for testing purposes") + return cmd +} + +// newTestnetApp starts by running the normal newApp method. From there, the app interface returned is modified in order +// for a testnet to be created from the provided app. +func newTestnetApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts servertypes.AppOptions) servertypes.Application { + // Create an app and type cast to an App + newApp := newApp(logger, db, traceStore, appOpts) + testApp, ok := newApp.(*app.App) + if !ok { + panic("app created from newApp is not of type App") + } + + // Get command args + args, err := getCommandArgs(appOpts) + if err != nil { + panic(err) + } + + return initAppForTestnet(testApp, args) +} + + +func initAppForTestnet(app *app.App, args valArgs) *app.App { + // Required Changes: + // + ctx := app.BaseApp.NewUncachedContext(true, tmproto.Header{}) + + pubkey := &ed25519.PubKey{Key: args.newValPubKey.Bytes()} + pubkeyAny, err := codectypes.NewAnyWithValue(pubkey) + if err != nil { + tmos.Exit(err.Error()) + } + + // STAKING + // + + // Create Validator struct for our new validator. + newVal := stakingtypes.Validator{ + OperatorAddress: args.newOperatorAddress, + ConsensusPubkey: pubkeyAny, + Jailed: false, + Status: stakingtypes.Bonded, + Tokens: math.NewInt(valVotingPower), + DelegatorShares: math.LegacyMustNewDecFromStr("10000000"), + Description: stakingtypes.Description{ + Moniker: "Testnet Validator", + }, + Commission: stakingtypes.Commission{ + CommissionRates: stakingtypes.CommissionRates{ + Rate: math.LegacyMustNewDecFromStr("0.05"), + MaxRate: math.LegacyMustNewDecFromStr("0.1"), + MaxChangeRate: math.LegacyMustNewDecFromStr("0.05"), + }, + }, + MinSelfDelegation: math.OneInt(), + } + + validator, err := app.StakingKeeper.ValidatorAddressCodec().StringToBytes(newVal.GetOperator()) + if err != nil { + tmos.Exit(err.Error()) + } + + // Remove all validators from power store + stakingKey := app.GetKey(stakingtypes.ModuleName) + stakingStore := ctx.KVStore(stakingKey) + iterator, err := app.StakingKeeper.ValidatorsPowerStoreIterator(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all valdiators from last validators store + iterator, err = app.StakingKeeper.LastValidatorsIterator(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all validators from validators store + iterator = stakingStore.Iterator(stakingtypes.ValidatorsKey, storetypes.PrefixEndBytes(stakingtypes.ValidatorsKey)) + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Remove all validators from unbonding queue + iterator = stakingStore.Iterator(stakingtypes.ValidatorQueueKey, storetypes.PrefixEndBytes(stakingtypes.ValidatorQueueKey)) + for ; iterator.Valid(); iterator.Next() { + stakingStore.Delete(iterator.Key()) + } + iterator.Close() + + // Add our validator to power and last validators store + app.StakingKeeper.SetValidator(ctx, newVal) + err = app.StakingKeeper.SetValidatorByConsAddr(ctx, newVal) + if err != nil { + tmos.Exit(err.Error()) + } + app.StakingKeeper.SetValidatorByPowerIndex(ctx, newVal) + app.StakingKeeper.SetLastValidatorPower(ctx, validator, 0) + if err := app.StakingKeeper.Hooks().AfterValidatorCreated(ctx, validator); err != nil { + tmos.Exit(err.Error()) + } + + // DISTRIBUTION + // + + // Initialize records for this validator across all distribution stores + app.DistrKeeper.SetValidatorHistoricalRewards(ctx, validator, 0, distrtypes.NewValidatorHistoricalRewards(sdk.DecCoins{}, 1)) + app.DistrKeeper.SetValidatorCurrentRewards(ctx, validator, distrtypes.NewValidatorCurrentRewards(sdk.DecCoins{}, 1)) + app.DistrKeeper.SetValidatorAccumulatedCommission(ctx, validator, distrtypes.InitialValidatorAccumulatedCommission()) + app.DistrKeeper.SetValidatorOutstandingRewards(ctx, validator, distrtypes.ValidatorOutstandingRewards{Rewards: sdk.DecCoins{}}) + + + // SLASHING + // + + // Set validator signing info for our new validator. + newConsAddr := sdk.ConsAddress(args.newValAddr.Bytes()) + newValidatorSigningInfo := slashingtypes.ValidatorSigningInfo{ + Address: newConsAddr.String(), + StartHeight: app.LastBlockHeight() - 1, + Tombstoned: false, + } + app.SlashingKeeper.SetValidatorSigningInfo(ctx, newConsAddr, newValidatorSigningInfo) + + + // BANK + // + bondDenom, err := app.StakingKeeper.BondDenom(ctx) + if err != nil { + tmos.Exit(err.Error()) + } + + defaultCoins := sdk.NewCoins(sdk.NewInt64Coin(bondDenom, 1000000000)) + + // Fund local accounts + for _, account := range args.accountsToFund { + err := app.BankKeeper.MintCoins(ctx, minttypes.ModuleName, defaultCoins) + if err != nil { + tmos.Exit(err.Error()) + } + err = app.BankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, account, defaultCoins) + if err != nil { + tmos.Exit(err.Error()) + } + } + + return app +} + + +// parse the input flags and returns valArgs +func getCommandArgs(appOpts servertypes.AppOptions) (valArgs, error) { + args := valArgs{} + + newValAddr, ok := appOpts.Get(server.KeyNewValAddr).(bytes.HexBytes) + if !ok { + panic("newValAddr is not of type bytes.HexBytes") + } + args.newValAddr = newValAddr + newValPubKey, ok := appOpts.Get(server.KeyUserPubKey).(crypto.PubKey) + if !ok { + panic("newValPubKey is not of type crypto.PubKey") + } + args.newValPubKey = newValPubKey + newOperatorAddress, ok := appOpts.Get(server.KeyNewOpAddr).(string) + if !ok { + panic("newOperatorAddress is not of type string") + } + args.newOperatorAddress = newOperatorAddress + upgradeToTrigger, ok := appOpts.Get(server.KeyTriggerTestnetUpgrade).(string) + if !ok { + panic("upgradeToTrigger is not of type string") + } + args.upgradeToTrigger = upgradeToTrigger + + // validate and set accounts to fund + accountsString := cast.ToString(appOpts.Get(flagAccountsToFund)) + + for _, account := range strings.Split(accountsString, ",") { + if account != "" { + addr, err := sdk.AccAddressFromBech32(account) + if err != nil { + return args, fmt.Errorf("invalid bech32 address format %w", err) + } + args.accountsToFund = append(args.accountsToFund, addr) + } + } + + // home dir + homeDir := cast.ToString(appOpts.Get(flags.FlagHome)) + if homeDir == "" { + return args, fmt.Errorf("invalid home dir") + } + args.homeDir = homeDir + + return args, nil +} diff --git a/electra/cmd/electrad/main.go b/electra/cmd/electrad/main.go new file mode 100644 index 00000000..2269fda0 --- /dev/null +++ b/electra/cmd/electrad/main.go @@ -0,0 +1,20 @@ +package main + +import ( + "fmt" + "os" + + clienthelpers "cosmossdk.io/client/v2/helpers" + svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" + + "electra/app" + "electra/cmd/electrad/cmd" +) + +func main() { + rootCmd := cmd.NewRootCmd() + if err := svrcmd.Execute(rootCmd, clienthelpers.EnvPrefix, app.DefaultNodeHome); err != nil { + fmt.Fprintln(rootCmd.OutOrStderr(), err) + os.Exit(1) + } +} diff --git a/electra/config.yml b/electra/config.yml new file mode 100644 index 00000000..1bb23a65 --- /dev/null +++ b/electra/config.yml @@ -0,0 +1,22 @@ +version: 1 +validation: sovereign +accounts: +- name: alice + coins: + - 20000token + - 200000000stake +- name: bob + coins: + - 10000token + - 100000000stake +client: + openapi: + path: docs/static/openapi.yml +faucet: + name: bob + coins: + - 5token + - 100000stake +validators: +- name: alice + bonded: 100000000stake diff --git a/electra/docs/docs.go b/electra/docs/docs.go new file mode 100644 index 00000000..cac38a13 --- /dev/null +++ b/electra/docs/docs.go @@ -0,0 +1,41 @@ +package docs + +import ( + "embed" + httptemplate "html/template" + "net/http" + + "github.com/gorilla/mux" +) + +const ( + apiFile = "/static/openapi.yml" + indexFile = "template/index.tpl" +) + + +//go:embed static +var Static embed.FS + +//go:embed template +var template embed.FS + +func RegisterOpenAPIService(appName string, rtr *mux.Router) { + rtr.Handle(apiFile, http.FileServer(http.FS(Static))) + rtr.HandleFunc("/", handler(appName)) +} + +// handler returns an http handler that servers OpenAPI console for an OpenAPI spec at specURL. +func handler(title string) http.HandlerFunc { + t, _ := httptemplate.ParseFS(template, indexFile) + + return func(w http.ResponseWriter, req *http.Request) { + _ = t.Execute(w, struct { + Title string + URL string + }{ + title, + apiFile, + }) + } +} diff --git a/electra/docs/template/index.tpl b/electra/docs/template/index.tpl new file mode 100644 index 00000000..ec098e82 --- /dev/null +++ b/electra/docs/template/index.tpl @@ -0,0 +1,28 @@ + + + + + {{ .Title }} + + + + +
+ + + + + +Footer +© 2022 GitHub, Inc. +Footer navigation diff --git a/electra/go.mod b/electra/go.mod new file mode 100644 index 00000000..f871dcf9 --- /dev/null +++ b/electra/go.mod @@ -0,0 +1,50 @@ +module electra + +go 1.21 + +replace ( + // fix upstream GHSA-h395-qcrw-5vmq vulnerability. + github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 + // replace broken goleveldb + github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 +) + +require ( + cosmossdk.io/api v0.7.5 + cosmossdk.io/client/v2 v2.0.0-beta.5 + cosmossdk.io/core v0.11.1 + cosmossdk.io/depinject v1.0.0 + cosmossdk.io/errors v1.0.1 + cosmossdk.io/log v1.4.1 + cosmossdk.io/math v1.3.0 + cosmossdk.io/store v1.1.1 + cosmossdk.io/tools/confix v0.1.2 + cosmossdk.io/x/circuit v0.1.1 + cosmossdk.io/x/evidence v0.1.1 + cosmossdk.io/x/feegrant v0.1.1 + cosmossdk.io/x/nft v0.1.0 + cosmossdk.io/x/upgrade v0.1.4 + + github.com/bufbuild/buf v1.34.0 + github.com/cometbft/cometbft v0.38.12 + github.com/cosmos/cosmos-db v1.0.2 + github.com/cosmos/cosmos-proto v1.0.0-beta.5 + github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/gogoproto v1.7.0 + github.com/cosmos/ibc-go/modules/capability v1.0.1 + github.com/cosmos/ibc-go/v8 v8.5.1 + github.com/golang/protobuf v1.5.4 + github.com/gorilla/mux v1.8.1 + github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 + github.com/spf13/cast v1.6.0 + github.com/spf13/cobra v1.8.1 + github.com/spf13/pflag v1.0.5 + github.com/spf13/viper v1.19.0 + github.com/stretchr/testify v1.9.0 + golang.org/x/tools v0.22.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240624140628-dc46fd24d27d + google.golang.org/grpc v1.64.1 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 + google.golang.org/protobuf v1.34.2 +) \ No newline at end of file diff --git a/electra/proto/buf.gen.gogo.yaml b/electra/proto/buf.gen.gogo.yaml new file mode 100644 index 00000000..8d2c1460 --- /dev/null +++ b/electra/proto/buf.gen.gogo.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.gogo.yaml +# +version: v1 +plugins: + - name: gocosmos + out: . + opt: + - plugins=grpc + - Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm + - name: grpc-gateway + out: . + opt: + - logtostderr=true + - allow_colon_final_segments=true diff --git a/electra/proto/buf.gen.pulsar.yaml b/electra/proto/buf.gen.pulsar.yaml new file mode 100644 index 00000000..f24923b8 --- /dev/null +++ b/electra/proto/buf.gen.pulsar.yaml @@ -0,0 +1,23 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.pulsar.yaml +# +version: v1 +managed: + enabled: true + go_package_prefix: + default: electra/api + except: + - buf.build/googleapis/googleapis + - buf.build/cosmos/gogo-proto + - buf.build/cosmos/cosmos-proto + override: + buf.build/cosmos/cosmos-sdk: cosmossdk.io/api +plugins: + - name: go-pulsar + out: ./api + opt: paths=source_relative + - name: go-grpc + out: ./api + opt: paths=source_relative diff --git a/electra/proto/buf.gen.sta.yaml b/electra/proto/buf.gen.sta.yaml new file mode 100644 index 00000000..4444f5e7 --- /dev/null +++ b/electra/proto/buf.gen.sta.yaml @@ -0,0 +1,15 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.sta.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=simple + - ignore_comments=true + - simple_operation_ids=false + - json_names_for_fields=false diff --git a/electra/proto/buf.gen.swagger.yaml b/electra/proto/buf.gen.swagger.yaml new file mode 100644 index 00000000..58d30d86 --- /dev/null +++ b/electra/proto/buf.gen.swagger.yaml @@ -0,0 +1,14 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.swagger.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=fqn + - json_names_for_fields=false + - generate_unbound_methods=true \ No newline at end of file diff --git a/electra/proto/buf.gen.ts.yaml b/electra/proto/buf.gen.ts.yaml new file mode 100644 index 00000000..c484fb3a --- /dev/null +++ b/electra/proto/buf.gen.ts.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.ts.yaml +# +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/community/stephenh-ts-proto + out: . + opt: + - logtostderr=true + - allow_merge=true + - json_names_for_fields=false + - ts_proto_opt=snakeToCamel=true + - ts_proto_opt=esModuleInterop=true + - ts_proto_out=. diff --git a/electra/proto/buf.lock b/electra/proto/buf.lock new file mode 100644 index 00000000..8441ef4d --- /dev/null +++ b/electra/proto/buf.lock @@ -0,0 +1,37 @@ +# This file is auto-generated from Ignite. +# DO NOT EDIT +# +# buf.lock +# +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 04467658e59e44bbb22fe568206e1f70 + digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 05419252bcc241ea8023acf1ed4cadc5 + digest: shake256:1e54a48c19a8b59d35e0a7efa76402939f515f2d8005df099856f24c37c20a52800308f025abb8cffcd014d437b49707388aaca4865d9d063d8f25d5d4eb77d5 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 88ef6483f90f478fb938c37dde52ece3 + digest: shake256:89c45df2aa11e0cff97b0d695436713db3d993d76792e9f8dc1ae90e6ab9a9bec55503d48ceedd6b86069ab07d3041b32001b2bfe0227fa725dd515ff381e5ba + - remote: buf.build + owner: cosmos + repository: ics23 + commit: a9ee7c290ef34ee69d3f141b9b44dcee + digest: shake256:255dbee3e92a370723bf4d72b34868b18e7570543f30f79c0c8c10a5a332d230175e0c29cb7ebcb8020706312e3cd37c23974df0bacfb60a4afb968fee4c1afc + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 09703837a2ed48dbbbb3fdfbe6a84f5c + digest: shake256:de26a277fc28b8b411ecf58729d78d32fcf15090ffd998a4469225b17889bfb51442eaab04bb7a8d88d203ecdf0a9febd4ffd52c18ed1c2229160c7bd353ca95 + - remote: buf.build + owner: protocolbuffers + repository: wellknowntypes + commit: 3186086b2a8e44d9acdeeef2423c5de7 + digest: shake256:3b9dc2f56d9ed2e4001f95b701985fd803f7e2559b19b6a18d5f4e792cfdde320e765638de69fff037edc202b0006532d7ff19eab9465526b5ec628e4a5e5a1a diff --git a/electra/proto/buf.yaml b/electra/proto/buf.yaml new file mode 100644 index 00000000..7a86adcf --- /dev/null +++ b/electra/proto/buf.yaml @@ -0,0 +1,29 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.yaml +# +version: v1 +deps: + - buf.build/protocolbuffers/wellknowntypes + - buf.build/cosmos/cosmos-sdk + - buf.build/cosmos/cosmos-proto + - buf.build/cosmos/gogo-proto + - buf.build/googleapis/googleapis + - buf.build/cosmos/ics23 +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + ignore: + - tendermint diff --git a/electra/readme.md b/electra/readme.md new file mode 100644 index 00000000..791a6cd8 --- /dev/null +++ b/electra/readme.md @@ -0,0 +1,51 @@ +# electra +**electra** is a blockchain built using Cosmos SDK and Tendermint and created with [Ignite CLI](https://ignite.com/cli). + +## Get started + +``` +ignite chain serve +``` + +`serve` command installs dependencies, builds, initializes, and starts your blockchain in development. + +### Configure + +Your blockchain in development can be configured with `config.yml`. To learn more, see the [Ignite CLI docs](https://docs.ignite.com). + +### Web Frontend + +Additionally, Ignite CLI offers both Vue and React options for frontend scaffolding: + +For a Vue frontend, use: `ignite scaffold vue` +For a React frontend, use: `ignite scaffold react` +These commands can be run within your scaffolded blockchain project. + + +For more information see the [monorepo for Ignite front-end development](https://github.com/ignite/web). + +## Release +To release a new version of your blockchain, create and push a new tag with `v` prefix. A new draft release with the configured targets will be created. + +``` +git tag v0.1 +git push origin v0.1 +``` + +After a draft release is created, make your final changes from the release page and publish it. + +### Install +To install the latest version of your blockchain node's binary, execute the following command on your machine: + +``` +curl https://get.ignite.com/username/electra@latest! | sudo bash +``` +`username/electra` should match the `username` and `repo_name` of the Github repository to which the source code was pushed. Learn more about [the install process](https://github.com/allinbits/starport-installer). + +## Learn more + +- [Ignite CLI](https://ignite.com/cli) +- [Tutorials](https://docs.ignite.com/guide) +- [Ignite CLI docs](https://docs.ignite.com) +- [Cosmos SDK docs](https://docs.cosmos.network) +- [Developer Chat](https://discord.gg/ignite) diff --git a/electra/testutil/network/network.go b/electra/testutil/network/network.go new file mode 100644 index 00000000..3f1a38eb --- /dev/null +++ b/electra/testutil/network/network.go @@ -0,0 +1,80 @@ +package network + +import ( + "fmt" + "testing" + + "github.com/cosmos/cosmos-sdk/testutil/network" + "github.com/stretchr/testify/require" + + "electra/app" +) + +type ( + Network = network.Network + Config = network.Config +) + +// New creates instance with fully configured cosmos network. +// Accepts optional config, that will be used in place of the DefaultConfig() if provided. +func New(t *testing.T, configs ...Config) *Network { + t.Helper() + if len(configs) > 1 { + panic("at most one config should be provided") + } + var cfg network.Config + if len(configs) == 0 { + cfg = DefaultConfig() + } else { + cfg = configs[0] + } + net, err := network.New(t, t.TempDir(), cfg) + require.NoError(t, err) + _, err = net.WaitForHeight(1) + require.NoError(t, err) + t.Cleanup(net.Cleanup) + return net +} + +// DefaultConfig will initialize config for the network with custom application, +// genesis and single validator. All other parameters are inherited from cosmos-sdk/testutil/network.DefaultConfig +func DefaultConfig() network.Config { + cfg, err := network.DefaultConfigWithAppConfig(app.AppConfig()) + if err != nil { + panic(err) + } + ports, err := freePorts(3) + if err != nil { + panic(err) + } + if cfg.APIAddress == "" { + cfg.APIAddress = fmt.Sprintf("tcp://0.0.0.0:%s", ports[0]) + } + if cfg.RPCAddress == "" { + cfg.RPCAddress = fmt.Sprintf("tcp://0.0.0.0:%s", ports[1]) + } + if cfg.GRPCAddress == "" { + cfg.GRPCAddress = fmt.Sprintf("0.0.0.0:%s", ports[2]) + } + return cfg +} + +// freePorts return the available ports based on the number of requested ports. +func freePorts(n int) ([]string, error) { + closeFns := make([]func() error, n) + ports := make([]string, n) + for i := 0; i < n; i++ { + _, port, closeFn, err := network.FreeTCPAddr() + if err != nil { + return nil, err + } + ports[i] = port + closeFns[i] = closeFn + } + for _, closeFn := range closeFns { + if err := closeFn(); err != nil { + return nil, err + } + } + return ports, nil +} diff --git a/electra/testutil/nullify/nullify.go b/electra/testutil/nullify/nullify.go new file mode 100644 index 00000000..3b968c09 --- /dev/null +++ b/electra/testutil/nullify/nullify.go @@ -0,0 +1,57 @@ +// Package nullify provides methods to init nil values structs for test assertion. +package nullify + +import ( + "reflect" + "unsafe" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +var ( + coinType = reflect.TypeOf(sdk.Coin{}) + coinsType = reflect.TypeOf(sdk.Coins{}) +) + +// Fill analyze all struct fields and slices with +// reflection and initialize the nil and empty slices, +// structs, and pointers. +func Fill(x interface{}) interface{} { + v := reflect.Indirect(reflect.ValueOf(x)) + switch v.Kind() { + case reflect.Slice: + for i := 0; i < v.Len(); i++ { + obj := v.Index(i) + objPt := reflect.NewAt(obj.Type(), unsafe.Pointer(obj.UnsafeAddr())).Interface() + objPt = Fill(objPt) + obj.Set(reflect.ValueOf(objPt)) + } + case reflect.Struct: + for i := 0; i < v.NumField(); i++ { + f := reflect.Indirect(v.Field(i)) + if !f.CanSet() { + continue + } + switch f.Kind() { + case reflect.Slice: + f.Set(reflect.MakeSlice(f.Type(), 0, 0)) + case reflect.Struct: + switch f.Type() { + case coinType: + coin := reflect.New(coinType).Interface() + s := reflect.ValueOf(coin).Elem() + f.Set(s) + case coinsType: + coins := reflect.New(coinsType).Interface() + s := reflect.ValueOf(coins).Elem() + f.Set(s) + default: + objPt := reflect.NewAt(f.Type(), unsafe.Pointer(f.UnsafeAddr())).Interface() + s := Fill(objPt) + f.Set(reflect.ValueOf(s)) + } + } + } + } + return reflect.Indirect(v).Interface() +} diff --git a/electra/testutil/sample/sample.go b/electra/testutil/sample/sample.go new file mode 100644 index 00000000..98f2153e --- /dev/null +++ b/electra/testutil/sample/sample.go @@ -0,0 +1,13 @@ +package sample + +import ( + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// AccAddress returns a sample account address +func AccAddress() string { + pk := ed25519.GenPrivKey().PubKey() + addr := pk.Address() + return sdk.AccAddress(addr).String() +} diff --git a/electra/tools/tools.go b/electra/tools/tools.go new file mode 100644 index 00000000..e668aaa9 --- /dev/null +++ b/electra/tools/tools.go @@ -0,0 +1,14 @@ +//go:build tools + +package tools + +import ( + _ "github.com/bufbuild/buf/cmd/buf" + _ "github.com/cosmos/gogoproto/protoc-gen-gocosmos" + _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" + _ "google.golang.org/protobuf/cmd/protoc-gen-go" + _ "github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" + _ "golang.org/x/tools/cmd/goimports" +) diff --git a/go.mod b/go.mod index dab3afc1..a4e151af 100644 --- a/go.mod +++ b/go.mod @@ -6,12 +6,16 @@ toolchain go1.21.4 require ( cosmossdk.io/math v1.0.0-beta.3 + github.com/bufbuild/buf v1.8.0 + github.com/cosmos/cosmos-proto v1.0.0-alpha7 github.com/cosmos/cosmos-sdk v0.46.3 + github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ibc-go/v5 v5.0.0 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.3 github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 github.com/ignite/cli v0.25.1 github.com/spf13/cast v1.5.0 github.com/spf13/cobra v1.5.0 @@ -19,8 +23,11 @@ require ( github.com/stretchr/testify v1.8.4 github.com/tendermint/tendermint v0.34.22 github.com/tendermint/tm-db v0.6.7 + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 google.golang.org/grpc v1.67.1 + google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 + google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v2 v2.4.0 ) @@ -33,6 +40,7 @@ require ( filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect github.com/Microsoft/go-winio v0.6.0 // indirect github.com/Microsoft/hcsshim v0.9.6 // indirect @@ -47,6 +55,8 @@ require ( github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect + github.com/btcsuite/btcd v0.22.1 // indirect + github.com/bufbuild/connect-go v0.4.0 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect @@ -58,13 +68,14 @@ require ( github.com/confio/ics23/go v0.7.0 // indirect github.com/containerd/cgroups v1.0.4 // indirect github.com/containerd/containerd v1.6.18 // indirect + github.com/containerd/typeurl v1.0.2 // indirect github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.3 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -72,29 +83,37 @@ require ( github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect + github.com/docker/distribution v2.8.1+incompatible // indirect github.com/docker/docker v20.10.24+incompatible // indirect + github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.4.0 // indirect github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/emicklei/proto v1.11.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fatih/color v1.13.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/ghodss/yaml v1.0.0 // indirect + github.com/go-chi/chi/v5 v5.0.7 // indirect github.com/go-git/gcfg v1.5.0 // indirect github.com/go-git/go-billy/v5 v5.3.1 // indirect github.com/go-git/go-git/v5 v5.4.2 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/goccy/go-yaml v1.9.4 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gofrs/flock v0.8.1 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/gateway v1.1.0 // indirect github.com/golang/glog v1.2.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.0.1 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.7.1 // indirect @@ -118,6 +137,9 @@ require ( github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a // indirect + github.com/jhump/protocompile v0.0.0-20220812162104-d108583e055d // indirect + github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/jpillora/ansi v1.0.2 // indirect @@ -127,7 +149,7 @@ require ( github.com/jpillora/sizestr v1.0.0 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.15.11 // indirect - github.com/kr/pretty v0.3.1 // indirect + github.com/klauspost/pgzip v1.2.5 // indirect github.com/lib/pq v1.10.6 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.6 // indirect @@ -141,8 +163,11 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moby/buildkit v0.10.3 // indirect github.com/moby/sys/mount v0.3.1 // indirect github.com/moby/sys/mountinfo v0.6.0 // indirect + github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect @@ -151,7 +176,9 @@ require ( github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/profile v1.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.12.2 // indirect github.com/prometheus/client_model v0.2.0 // indirect @@ -161,8 +188,10 @@ require ( github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.2 // indirect github.com/rs/zerolog v1.27.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/sergi/go-diff v1.2.0 // indirect github.com/sirupsen/logrus v1.9.0 // indirect @@ -182,6 +211,12 @@ require ( github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.34.0 // indirect + go.opentelemetry.io/otel v1.9.0 // indirect + go.opentelemetry.io/otel/trace v1.9.0 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.8.0 // indirect + go.uber.org/zap v1.22.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect golang.org/x/mod v0.17.0 // indirect @@ -191,11 +226,9 @@ require ( golang.org/x/sys v0.24.0 // indirect golang.org/x/term v0.23.0 // indirect golang.org/x/text v0.19.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.35.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 677bf4d4..261b628e 100644 --- a/go.sum +++ b/go.sum @@ -322,6 +322,8 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7 github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -348,6 +350,7 @@ github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= @@ -363,6 +366,10 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bufbuild/buf v1.8.0 h1:53qJ3QY/KOHwSjWgCQYkQaR3jGWst7aOfTXnFe8e+VQ= +github.com/bufbuild/buf v1.8.0/go.mod h1:tBzKkd1fzCcBV6KKSO7zo3rlhk3o1YQ0F2tQKSC2aNU= +github.com/bufbuild/connect-go v0.4.0 h1:fIMyUYG8mXSTH+nnlOx9KmRUf3mBF0R2uKK+BQBoOHE= +github.com/bufbuild/connect-go v0.4.0/go.mod h1:ZEtBnQ7J/m7bvWOW+H8T/+hKQCzPVfhhhICuvtcnjlI= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= @@ -415,6 +422,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -503,6 +512,7 @@ github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Ev github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= @@ -545,6 +555,8 @@ github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpF github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= +github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= +github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.3 h1:cESO0OwTTxQm5rmyESKW+zESheDUYI7CcZDWWDwnuxg= @@ -558,11 +570,14 @@ github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -607,6 +622,8 @@ github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= @@ -655,6 +672,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= @@ -667,8 +686,9 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= @@ -702,6 +722,8 @@ github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aev github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= +github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= @@ -731,6 +753,11 @@ github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNV github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= @@ -772,7 +799,11 @@ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -935,6 +966,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -1026,10 +1059,18 @@ github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6t github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= +github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= +github.com/jhump/protocompile v0.0.0-20220812162104-d108583e055d h1:1BLWxsvcb5w9/vGjtyEo//r3dwEPNg7z73nbQ/XV4/s= +github.com/jhump/protocompile v0.0.0-20220812162104-d108583e055d/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1088,6 +1129,8 @@ github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrD github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= +github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1188,6 +1231,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/moby/buildkit v0.10.3 h1:/dGykD8FW+H4p++q5+KqKEo6gAkYKyBQHdawdjVwVAU= +github.com/moby/buildkit v0.10.3/go.mod h1:jxeOuly98l9gWHai0Ojrbnczrk/rf+o9/JqNhY+UCSo= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/sys/mount v0.3.1 h1:RX1K0x95oR8j5P1YefKDt7tE1C2kCCixV0H8Aza3GaI= github.com/moby/sys/mount v0.3.1/go.mod h1:6IZknFQiqjLpwuYJD5Zk0qYEuJiws36M88MIXnZHya0= @@ -1198,6 +1243,8 @@ github.com/moby/sys/mountinfo v0.6.0 h1:gUDhXQx58YNrpHlK4nSL+7y2pxFZkUcXqzFDKWdC github.com/moby/sys/mountinfo v0.6.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= +github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -1206,6 +1253,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= @@ -1330,13 +1378,16 @@ github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= +github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -1420,6 +1471,7 @@ github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= @@ -1618,16 +1670,31 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.34.0 h1:PNEMW4EvpNQ7SuoPFNkvbZqi1STkTPKq+8vfoMl/6AE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.34.0/go.mod h1:fk1+icoN47ytLSgkoWHLJrtVTSQ+HgmkNgPTKrk/Nsc= +go.opentelemetry.io/otel v1.9.0 h1:8WZNQFIB2a71LnANS9JeyidJKKGOOremcUtb/OtHISw= +go.opentelemetry.io/otel v1.9.0/go.mod h1:np4EoPGzoPs3O67xUVNoPPcmSvsfOxNlNA4F4AC+0Eo= +go.opentelemetry.io/otel/trace v1.9.0 h1:oZaCNJUjWcg60VXWee8lJKlqhPbXAPB51URuR47pQYc= +go.opentelemetry.io/otel/trace v1.9.0/go.mod h1:2737Q0MuG8q1uILYm2YYVkAyLtOofiTNGg6VODnOiPo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.22.0 h1:Zcye5DUgBloQ9BaT4qc9BnjOFog5TvBSAGkJ3Nf70c0= +go.uber.org/zap v1.22.0/go.mod h1:H4siCOZOrAolnUPJEkfaSjDqyP+BDS0DdDWzwcgt3+U= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1928,6 +1995,7 @@ golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1990,6 +2058,8 @@ golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2302,6 +2372,7 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -2315,6 +2386,7 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/proto/buf.gen.gogo.yaml b/proto/buf.gen.gogo.yaml new file mode 100644 index 00000000..8d2c1460 --- /dev/null +++ b/proto/buf.gen.gogo.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.gogo.yaml +# +version: v1 +plugins: + - name: gocosmos + out: . + opt: + - plugins=grpc + - Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm + - name: grpc-gateway + out: . + opt: + - logtostderr=true + - allow_colon_final_segments=true diff --git a/proto/buf.gen.pulsar.yaml.plush b/proto/buf.gen.pulsar.yaml.plush new file mode 100644 index 00000000..b128e940 --- /dev/null +++ b/proto/buf.gen.pulsar.yaml.plush @@ -0,0 +1,23 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.pulsar.yaml +# +version: v1 +managed: + enabled: true + go_package_prefix: + default: <%= ModulePath %>/api + except: + - buf.build/googleapis/googleapis + - buf.build/cosmos/gogo-proto + - buf.build/cosmos/cosmos-proto + override: + buf.build/cosmos/cosmos-sdk: cosmossdk.io/api +plugins: + - name: go-pulsar + out: ./api + opt: paths=source_relative + - name: go-grpc + out: ./api + opt: paths=source_relative diff --git a/proto/buf.gen.sta.yaml b/proto/buf.gen.sta.yaml new file mode 100644 index 00000000..4444f5e7 --- /dev/null +++ b/proto/buf.gen.sta.yaml @@ -0,0 +1,15 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.sta.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=simple + - ignore_comments=true + - simple_operation_ids=false + - json_names_for_fields=false diff --git a/proto/buf.gen.swagger.yaml b/proto/buf.gen.swagger.yaml new file mode 100644 index 00000000..58d30d86 --- /dev/null +++ b/proto/buf.gen.swagger.yaml @@ -0,0 +1,14 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.swagger.yaml +# +version: v1 +plugins: + - name: openapiv2 + out: . + opt: + - logtostderr=true + - openapi_naming_strategy=fqn + - json_names_for_fields=false + - generate_unbound_methods=true \ No newline at end of file diff --git a/proto/buf.gen.ts.yaml b/proto/buf.gen.ts.yaml new file mode 100644 index 00000000..c484fb3a --- /dev/null +++ b/proto/buf.gen.ts.yaml @@ -0,0 +1,18 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.gen.ts.yaml +# +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/community/stephenh-ts-proto + out: . + opt: + - logtostderr=true + - allow_merge=true + - json_names_for_fields=false + - ts_proto_opt=snakeToCamel=true + - ts_proto_opt=esModuleInterop=true + - ts_proto_out=. diff --git a/proto/buf.lock b/proto/buf.lock new file mode 100644 index 00000000..8441ef4d --- /dev/null +++ b/proto/buf.lock @@ -0,0 +1,37 @@ +# This file is auto-generated from Ignite. +# DO NOT EDIT +# +# buf.lock +# +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 04467658e59e44bbb22fe568206e1f70 + digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 05419252bcc241ea8023acf1ed4cadc5 + digest: shake256:1e54a48c19a8b59d35e0a7efa76402939f515f2d8005df099856f24c37c20a52800308f025abb8cffcd014d437b49707388aaca4865d9d063d8f25d5d4eb77d5 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 88ef6483f90f478fb938c37dde52ece3 + digest: shake256:89c45df2aa11e0cff97b0d695436713db3d993d76792e9f8dc1ae90e6ab9a9bec55503d48ceedd6b86069ab07d3041b32001b2bfe0227fa725dd515ff381e5ba + - remote: buf.build + owner: cosmos + repository: ics23 + commit: a9ee7c290ef34ee69d3f141b9b44dcee + digest: shake256:255dbee3e92a370723bf4d72b34868b18e7570543f30f79c0c8c10a5a332d230175e0c29cb7ebcb8020706312e3cd37c23974df0bacfb60a4afb968fee4c1afc + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 09703837a2ed48dbbbb3fdfbe6a84f5c + digest: shake256:de26a277fc28b8b411ecf58729d78d32fcf15090ffd998a4469225b17889bfb51442eaab04bb7a8d88d203ecdf0a9febd4ffd52c18ed1c2229160c7bd353ca95 + - remote: buf.build + owner: protocolbuffers + repository: wellknowntypes + commit: 3186086b2a8e44d9acdeeef2423c5de7 + digest: shake256:3b9dc2f56d9ed2e4001f95b701985fd803f7e2559b19b6a18d5f4e792cfdde320e765638de69fff037edc202b0006532d7ff19eab9465526b5ec628e4a5e5a1a diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000..7a86adcf --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,29 @@ +# This file is auto-generated from Ignite. You can edit +# the file content but do not change the file name or path. +# +# buf.yaml +# +version: v1 +deps: + - buf.build/protocolbuffers/wellknowntypes + - buf.build/cosmos/cosmos-sdk + - buf.build/cosmos/cosmos-proto + - buf.build/cosmos/gogo-proto + - buf.build/googleapis/googleapis + - buf.build/cosmos/ics23 +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + ignore: + - tendermint diff --git a/tools/tools.go b/tools/tools.go index 6e7a12d4..d697c36c 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -3,9 +3,14 @@ package tools import ( + _ "github.com/bufbuild/buf/cmd/buf" + _ "github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar" _ "github.com/cosmos/gogoproto/protoc-gen-gocosmos" _ "github.com/golang/protobuf/protoc-gen-go" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" + _ "golang.org/x/tools/cmd/goimports" + _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" + _ "google.golang.org/protobuf/cmd/protoc-gen-go" ) diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/README.md b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/README.md new file mode 100644 index 00000000..c8bb4282 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/README.md @@ -0,0 +1,11 @@ +# @cosmjs/amino + +[![npm version](https://img.shields.io/npm/v/@cosmjs/amino.svg)](https://www.npmjs.com/package/@cosmjs/amino) + +Helpers for Amino for @cosmjs/stargate. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.d.ts new file mode 100644 index 00000000..e4318417 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.d.ts @@ -0,0 +1,5 @@ +import { Pubkey } from "./pubkeys"; +export declare function rawEd25519PubkeyToRawAddress(pubkeyData: Uint8Array): Uint8Array; +export declare function rawSecp256k1PubkeyToRawAddress(pubkeyData: Uint8Array): Uint8Array; +export declare function pubkeyToRawAddress(pubkey: Pubkey): Uint8Array; +export declare function pubkeyToAddress(pubkey: Pubkey, prefix: string): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js new file mode 100644 index 00000000..242633ca --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js @@ -0,0 +1,47 @@ +"use strict"; +// See https://github.com/tendermint/tendermint/blob/f2ada0a604b4c0763bda2f64fac53d506d3beca7/docs/spec/blockchain/encoding.md#public-key-cryptography +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pubkeyToAddress = exports.pubkeyToRawAddress = exports.rawSecp256k1PubkeyToRawAddress = exports.rawEd25519PubkeyToRawAddress = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const encoding_2 = require("./encoding"); +const pubkeys_1 = require("./pubkeys"); +function rawEd25519PubkeyToRawAddress(pubkeyData) { + if (pubkeyData.length !== 32) { + throw new Error(`Invalid Ed25519 pubkey length: ${pubkeyData.length}`); + } + return (0, crypto_1.sha256)(pubkeyData).slice(0, 20); +} +exports.rawEd25519PubkeyToRawAddress = rawEd25519PubkeyToRawAddress; +function rawSecp256k1PubkeyToRawAddress(pubkeyData) { + if (pubkeyData.length !== 33) { + throw new Error(`Invalid Secp256k1 pubkey length (compressed): ${pubkeyData.length}`); + } + return (0, crypto_1.ripemd160)((0, crypto_1.sha256)(pubkeyData)); +} +exports.rawSecp256k1PubkeyToRawAddress = rawSecp256k1PubkeyToRawAddress; +// For secp256k1 this assumes we already have a compressed pubkey. +function pubkeyToRawAddress(pubkey) { + if ((0, pubkeys_1.isSecp256k1Pubkey)(pubkey)) { + const pubkeyData = (0, encoding_1.fromBase64)(pubkey.value); + return rawSecp256k1PubkeyToRawAddress(pubkeyData); + } + else if ((0, pubkeys_1.isEd25519Pubkey)(pubkey)) { + const pubkeyData = (0, encoding_1.fromBase64)(pubkey.value); + return rawEd25519PubkeyToRawAddress(pubkeyData); + } + else if ((0, pubkeys_1.isMultisigThresholdPubkey)(pubkey)) { + // https://github.com/tendermint/tendermint/blob/38b401657e4ad7a7eeb3c30a3cbf512037df3740/crypto/multisig/threshold_pubkey.go#L71-L74 + const pubkeyData = (0, encoding_2.encodeAminoPubkey)(pubkey); + return (0, crypto_1.sha256)(pubkeyData).slice(0, 20); + } + else { + throw new Error("Unsupported public key type"); + } +} +exports.pubkeyToRawAddress = pubkeyToRawAddress; +function pubkeyToAddress(pubkey, prefix) { + return (0, encoding_1.toBech32)(prefix, pubkeyToRawAddress(pubkey)); +} +exports.pubkeyToAddress = pubkeyToAddress; +//# sourceMappingURL=addresses.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js.map new file mode 100644 index 00000000..65633211 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/addresses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":";AAAA,sJAAsJ;;;AAEtJ,2CAAmD;AACnD,+CAAwD;AAExD,yCAA+C;AAC/C,uCAAkG;AAElG,SAAgB,4BAA4B,CAAC,UAAsB;IACjE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACxE;IACD,OAAO,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AALD,oEAKC;AAED,SAAgB,8BAA8B,CAAC,UAAsB;IACnE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACvF;IACD,OAAO,IAAA,kBAAS,EAAC,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,CAAC;AACvC,CAAC;AALD,wEAKC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,IAAI,IAAA,2BAAiB,EAAC,MAAM,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,8BAA8B,CAAC,UAAU,CAAC,CAAC;KACnD;SAAM,IAAI,IAAA,yBAAe,EAAC,MAAM,CAAC,EAAE;QAClC,MAAM,UAAU,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;KACjD;SAAM,IAAI,IAAA,mCAAyB,EAAC,MAAM,CAAC,EAAE;QAC5C,qIAAqI;QACrI,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACxC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;AACH,CAAC;AAdD,gDAcC;AAED,SAAgB,eAAe,CAAC,MAAc,EAAE,MAAc;IAC5D,OAAO,IAAA,mBAAQ,EAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.d.ts new file mode 100644 index 00000000..8eb69644 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.d.ts @@ -0,0 +1,34 @@ +export interface Coin { + readonly denom: string; + readonly amount: string; +} +/** + * Creates a coin. + * + * If your values do not exceed the safe integer range of JS numbers (53 bit), + * you can use the number type here. This is the case for all typical Cosmos SDK + * chains that use the default 6 decimals. + * + * In case you need to supportr larger values, use unsigned integer strings instead. + */ +export declare function coin(amount: number | string, denom: string): Coin; +/** + * Creates a list of coins with one element. + */ +export declare function coins(amount: number | string, denom: string): Coin[]; +/** + * Takes a coins list like "819966000ucosm,700000000ustake" and parses it. + * + * A Stargate-ready variant of this function is available via: + * + * ``` + * import { parseCoins } from "@cosmjs/proto-signing"; + * // or + * import { parseCoins } from "@cosmjs/stargate"; + * ``` + */ +export declare function parseCoins(input: string): Coin[]; +/** + * Function to sum up coins with type Coin + */ +export declare function addCoins(lhs: Coin, rhs: Coin): Coin; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js new file mode 100644 index 00000000..5b04dc76 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.addCoins = exports.parseCoins = exports.coins = exports.coin = void 0; +const math_1 = require("@cosmjs/math"); +/** + * Creates a coin. + * + * If your values do not exceed the safe integer range of JS numbers (53 bit), + * you can use the number type here. This is the case for all typical Cosmos SDK + * chains that use the default 6 decimals. + * + * In case you need to supportr larger values, use unsigned integer strings instead. + */ +function coin(amount, denom) { + let outAmount; + if (typeof amount === "number") { + try { + outAmount = new math_1.Uint53(amount).toString(); + } + catch (_err) { + throw new Error("Given amount is not a safe integer. Consider using a string instead to overcome the limitations of JS numbers."); + } + } + else { + if (!amount.match(/^[0-9]+$/)) { + throw new Error("Invalid unsigned integer string format"); + } + outAmount = amount.replace(/^0*/, "") || "0"; + } + return { + amount: outAmount, + denom: denom, + }; +} +exports.coin = coin; +/** + * Creates a list of coins with one element. + */ +function coins(amount, denom) { + return [coin(amount, denom)]; +} +exports.coins = coins; +/** + * Takes a coins list like "819966000ucosm,700000000ustake" and parses it. + * + * A Stargate-ready variant of this function is available via: + * + * ``` + * import { parseCoins } from "@cosmjs/proto-signing"; + * // or + * import { parseCoins } from "@cosmjs/stargate"; + * ``` + */ +function parseCoins(input) { + return input + .replace(/\s/g, "") + .split(",") + .filter(Boolean) + .map((part) => { + const match = part.match(/^([0-9]+)([a-zA-Z]+)/); + if (!match) + throw new Error("Got an invalid coin string"); + return { + amount: match[1].replace(/^0+/, "") || "0", + denom: match[2], + }; + }); +} +exports.parseCoins = parseCoins; +/** + * Function to sum up coins with type Coin + */ +function addCoins(lhs, rhs) { + if (lhs.denom !== rhs.denom) + throw new Error("Trying to add two coins with different denoms"); + return { + amount: math_1.Decimal.fromAtomics(lhs.amount, 0).plus(math_1.Decimal.fromAtomics(rhs.amount, 0)).atomics, + denom: lhs.denom, + }; +} +exports.addCoins = addCoins; +//# sourceMappingURL=coins.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js.map new file mode 100644 index 00000000..0be95ea3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/coins.js.map @@ -0,0 +1 @@ +{"version":3,"file":"coins.js","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAO/C;;;;;;;;GAQG;AACH,SAAgB,IAAI,CAAC,MAAuB,EAAE,KAAa;IACzD,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,IAAI;YACF,SAAS,GAAG,IAAI,aAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC3C;QAAC,OAAO,IAAI,EAAE;YACb,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;SACH;KACF;SAAM;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;KAC9C;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AApBD,oBAoBC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,MAAuB,EAAE,KAAa;IAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAFD,sBAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC1D,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG;YAC1C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,gCAaC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAS,EAAE,GAAS;IAC3C,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC9F,OAAO;QACL,MAAM,EAAE,cAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;QAC3F,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC;AAND,4BAMC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.d.ts new file mode 100644 index 00000000..fc8b5041 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.d.ts @@ -0,0 +1,33 @@ +import { Ed25519Pubkey, Pubkey, Secp256k1Pubkey } from "./pubkeys"; +/** + * Takes a Secp256k1 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +export declare function encodeSecp256k1Pubkey(pubkey: Uint8Array): Secp256k1Pubkey; +/** + * Takes an Edd25519 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +export declare function encodeEd25519Pubkey(pubkey: Uint8Array): Ed25519Pubkey; +/** + * Decodes a pubkey in the Amino binary format to a type/value object. + */ +export declare function decodeAminoPubkey(data: Uint8Array): Pubkey; +/** + * Decodes a bech32 pubkey to Amino binary, which is then decoded to a type/value object. + * The bech32 prefix is ignored and discareded. + * + * @param bechEncoded the bech32 encoded pubkey + */ +export declare function decodeBech32Pubkey(bechEncoded: string): Pubkey; +/** + * Encodes a public key to binary Amino. + */ +export declare function encodeAminoPubkey(pubkey: Pubkey): Uint8Array; +/** + * Encodes a public key to binary Amino and then to bech32. + * + * @param pubkey the public key to encode + * @param prefix the bech32 prefix (human readable part) + */ +export declare function encodeBech32Pubkey(pubkey: Pubkey, prefix: string): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js new file mode 100644 index 00000000..477c2509 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js @@ -0,0 +1,208 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeBech32Pubkey = exports.encodeAminoPubkey = exports.decodeBech32Pubkey = exports.decodeAminoPubkey = exports.encodeEd25519Pubkey = exports.encodeSecp256k1Pubkey = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const utils_1 = require("@cosmjs/utils"); +const pubkeys_1 = require("./pubkeys"); +/** + * Takes a Secp256k1 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +function encodeSecp256k1Pubkey(pubkey) { + if (pubkey.length !== 33 || (pubkey[0] !== 0x02 && pubkey[0] !== 0x03)) { + throw new Error("Public key must be compressed secp256k1, i.e. 33 bytes starting with 0x02 or 0x03"); + } + return { + type: pubkeys_1.pubkeyType.secp256k1, + value: (0, encoding_1.toBase64)(pubkey), + }; +} +exports.encodeSecp256k1Pubkey = encodeSecp256k1Pubkey; +/** + * Takes an Edd25519 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +function encodeEd25519Pubkey(pubkey) { + if (pubkey.length !== 32) { + throw new Error("Ed25519 public key must be 32 bytes long"); + } + return { + type: pubkeys_1.pubkeyType.ed25519, + value: (0, encoding_1.toBase64)(pubkey), + }; +} +exports.encodeEd25519Pubkey = encodeEd25519Pubkey; +// As discussed in https://github.com/binance-chain/javascript-sdk/issues/163 +// Prefixes listed here: https://github.com/tendermint/tendermint/blob/d419fffe18531317c28c29a292ad7d253f6cafdf/docs/spec/blockchain/encoding.md#public-key-cryptography +// Last bytes is varint-encoded length prefix +const pubkeyAminoPrefixSecp256k1 = (0, encoding_1.fromHex)("eb5ae987" + "21" /* fixed length */); +const pubkeyAminoPrefixEd25519 = (0, encoding_1.fromHex)("1624de64" + "20" /* fixed length */); +const pubkeyAminoPrefixSr25519 = (0, encoding_1.fromHex)("0dfb1005" + "20" /* fixed length */); +/** See https://github.com/tendermint/tendermint/commit/38b401657e4ad7a7eeb3c30a3cbf512037df3740 */ +const pubkeyAminoPrefixMultisigThreshold = (0, encoding_1.fromHex)("22c1f7e2" /* variable length not included */); +/** + * Decodes a pubkey in the Amino binary format to a type/value object. + */ +function decodeAminoPubkey(data) { + if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixSecp256k1)) { + const rest = data.slice(pubkeyAminoPrefixSecp256k1.length); + if (rest.length !== 33) { + throw new Error("Invalid rest data length. Expected 33 bytes (compressed secp256k1 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.secp256k1, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixEd25519)) { + const rest = data.slice(pubkeyAminoPrefixEd25519.length); + if (rest.length !== 32) { + throw new Error("Invalid rest data length. Expected 32 bytes (Ed25519 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.ed25519, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixSr25519)) { + const rest = data.slice(pubkeyAminoPrefixSr25519.length); + if (rest.length !== 32) { + throw new Error("Invalid rest data length. Expected 32 bytes (Sr25519 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.sr25519, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixMultisigThreshold)) { + // eslint-disable-next-line @typescript-eslint/no-use-before-define + return decodeMultisigPubkey(data); + } + else { + throw new Error("Unsupported public key type. Amino data starts with: " + (0, encoding_1.toHex)(data.slice(0, 5))); + } +} +exports.decodeAminoPubkey = decodeAminoPubkey; +/** + * Decodes a bech32 pubkey to Amino binary, which is then decoded to a type/value object. + * The bech32 prefix is ignored and discareded. + * + * @param bechEncoded the bech32 encoded pubkey + */ +function decodeBech32Pubkey(bechEncoded) { + const { data } = (0, encoding_1.fromBech32)(bechEncoded); + return decodeAminoPubkey(data); +} +exports.decodeBech32Pubkey = decodeBech32Pubkey; +/** + * Uvarint decoder for Amino. + * @see https://github.com/tendermint/go-amino/blob/8e779b71f40d175/decoder.go#L64-76 + * @returns varint as number, and bytes count occupied by varaint + */ +function decodeUvarint(reader) { + if (reader.length < 1) { + throw new Error("Can't decode varint. EOF"); + } + if (reader[0] > 127) { + throw new Error("Decoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.Varint implementation from the Go standard library and write some tests."); + } + return [reader[0], 1]; +} +/** + * Decodes a multisig pubkey to type object. + * Pubkey structure [ prefix + const + threshold + loop:(const + pubkeyLength + pubkey ) ] + * [ 4b + 1b + varint + loop:(1b + varint + pubkeyLength bytes) ] + * @param data encoded pubkey + */ +function decodeMultisigPubkey(data) { + const reader = Array.from(data); + // remove multisig amino prefix; + const prefixFromReader = reader.splice(0, pubkeyAminoPrefixMultisigThreshold.length); + if (!(0, utils_1.arrayContentStartsWith)(prefixFromReader, pubkeyAminoPrefixMultisigThreshold)) { + throw new Error("Invalid multisig prefix."); + } + // remove 0x08 threshold prefix; + if (reader.shift() != 0x08) { + throw new Error("Invalid multisig data. Expecting 0x08 prefix before threshold."); + } + // read threshold + const [threshold, thresholdBytesLength] = decodeUvarint(reader); + reader.splice(0, thresholdBytesLength); + // read participants pubkeys + const pubkeys = []; + while (reader.length > 0) { + // remove 0x12 threshold prefix; + if (reader.shift() != 0x12) { + throw new Error("Invalid multisig data. Expecting 0x12 prefix before participant pubkey length."); + } + // read pubkey length + const [pubkeyLength, pubkeyLengthBytesSize] = decodeUvarint(reader); + reader.splice(0, pubkeyLengthBytesSize); + // verify that we can read pubkey + if (reader.length < pubkeyLength) { + throw new Error("Invalid multisig data length."); + } + // read and decode participant pubkey + const encodedPubkey = reader.splice(0, pubkeyLength); + const pubkey = decodeAminoPubkey(Uint8Array.from(encodedPubkey)); + pubkeys.push(pubkey); + } + return { + type: pubkeys_1.pubkeyType.multisigThreshold, + value: { + threshold: threshold.toString(), + pubkeys: pubkeys, + }, + }; +} +/** + * Uvarint encoder for Amino. This is the same encoding as `binary.PutUvarint` from the Go + * standard library. + * + * @see https://github.com/tendermint/go-amino/blob/8e779b71f40d175/encoder.go#L77-L85 + */ +function encodeUvarint(value) { + const checked = math_1.Uint53.fromString(value.toString()).toNumber(); + if (checked > 127) { + throw new Error("Encoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.PutUvarint implementation from the Go standard library and write some tests."); + } + return [checked]; +} +/** + * Encodes a public key to binary Amino. + */ +function encodeAminoPubkey(pubkey) { + if ((0, pubkeys_1.isMultisigThresholdPubkey)(pubkey)) { + const out = Array.from(pubkeyAminoPrefixMultisigThreshold); + out.push(0x08); // TODO: What is this? + out.push(...encodeUvarint(pubkey.value.threshold)); + for (const pubkeyData of pubkey.value.pubkeys.map((p) => encodeAminoPubkey(p))) { + out.push(0x12); // TODO: What is this? + out.push(...encodeUvarint(pubkeyData.length)); + out.push(...pubkeyData); + } + return new Uint8Array(out); + } + else if ((0, pubkeys_1.isEd25519Pubkey)(pubkey)) { + return new Uint8Array([...pubkeyAminoPrefixEd25519, ...(0, encoding_1.fromBase64)(pubkey.value)]); + } + else if ((0, pubkeys_1.isSecp256k1Pubkey)(pubkey)) { + return new Uint8Array([...pubkeyAminoPrefixSecp256k1, ...(0, encoding_1.fromBase64)(pubkey.value)]); + } + else { + throw new Error("Unsupported pubkey type"); + } +} +exports.encodeAminoPubkey = encodeAminoPubkey; +/** + * Encodes a public key to binary Amino and then to bech32. + * + * @param pubkey the public key to encode + * @param prefix the bech32 prefix (human readable part) + */ +function encodeBech32Pubkey(pubkey, prefix) { + return (0, encoding_1.toBech32)(prefix, encodeAminoPubkey(pubkey)); +} +exports.encodeBech32Pubkey = encodeBech32Pubkey; +//# sourceMappingURL=encoding.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js.map new file mode 100644 index 00000000..cdfd2dfe --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/encoding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.d.ts new file mode 100644 index 00000000..4829bb71 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.d.ts @@ -0,0 +1,13 @@ +export { pubkeyToAddress, pubkeyToRawAddress, rawEd25519PubkeyToRawAddress, rawSecp256k1PubkeyToRawAddress, } from "./addresses"; +export { addCoins, Coin, coin, coins, parseCoins } from "./coins"; +export { decodeAminoPubkey, decodeBech32Pubkey, encodeAminoPubkey, encodeBech32Pubkey, encodeEd25519Pubkey, encodeSecp256k1Pubkey, } from "./encoding"; +export { createMultisigThresholdPubkey } from "./multisig"; +export { makeCosmoshubPath } from "./paths"; +export { Ed25519Pubkey, isEd25519Pubkey, isMultisigThresholdPubkey, isSecp256k1Pubkey, isSinglePubkey, MultisigThresholdPubkey, Pubkey, pubkeyType, Secp256k1Pubkey, SinglePubkey, } from "./pubkeys"; +export { extractKdfConfiguration, Secp256k1HdWallet, Secp256k1HdWalletOptions } from "./secp256k1hdwallet"; +export { Secp256k1Wallet } from "./secp256k1wallet"; +export { decodeSignature, encodeSecp256k1Signature, StdSignature } from "./signature"; +export { AminoMsg, makeSignDoc, serializeSignDoc, StdFee, StdSignDoc } from "./signdoc"; +export { AccountData, Algo, AminoSignResponse, OfflineAminoSigner } from "./signer"; +export { isStdTx, makeStdTx, StdTx } from "./stdtx"; +export { executeKdf, KdfConfiguration } from "./wallet"; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js new file mode 100644 index 00000000..be3bd91a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.executeKdf = exports.makeStdTx = exports.isStdTx = exports.serializeSignDoc = exports.makeSignDoc = exports.encodeSecp256k1Signature = exports.decodeSignature = exports.Secp256k1Wallet = exports.Secp256k1HdWallet = exports.extractKdfConfiguration = exports.pubkeyType = exports.isSinglePubkey = exports.isSecp256k1Pubkey = exports.isMultisigThresholdPubkey = exports.isEd25519Pubkey = exports.makeCosmoshubPath = exports.createMultisigThresholdPubkey = exports.encodeSecp256k1Pubkey = exports.encodeEd25519Pubkey = exports.encodeBech32Pubkey = exports.encodeAminoPubkey = exports.decodeBech32Pubkey = exports.decodeAminoPubkey = exports.parseCoins = exports.coins = exports.coin = exports.addCoins = exports.rawSecp256k1PubkeyToRawAddress = exports.rawEd25519PubkeyToRawAddress = exports.pubkeyToRawAddress = exports.pubkeyToAddress = void 0; +var addresses_1 = require("./addresses"); +Object.defineProperty(exports, "pubkeyToAddress", { enumerable: true, get: function () { return addresses_1.pubkeyToAddress; } }); +Object.defineProperty(exports, "pubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.pubkeyToRawAddress; } }); +Object.defineProperty(exports, "rawEd25519PubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.rawEd25519PubkeyToRawAddress; } }); +Object.defineProperty(exports, "rawSecp256k1PubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.rawSecp256k1PubkeyToRawAddress; } }); +var coins_1 = require("./coins"); +Object.defineProperty(exports, "addCoins", { enumerable: true, get: function () { return coins_1.addCoins; } }); +Object.defineProperty(exports, "coin", { enumerable: true, get: function () { return coins_1.coin; } }); +Object.defineProperty(exports, "coins", { enumerable: true, get: function () { return coins_1.coins; } }); +Object.defineProperty(exports, "parseCoins", { enumerable: true, get: function () { return coins_1.parseCoins; } }); +var encoding_1 = require("./encoding"); +Object.defineProperty(exports, "decodeAminoPubkey", { enumerable: true, get: function () { return encoding_1.decodeAminoPubkey; } }); +Object.defineProperty(exports, "decodeBech32Pubkey", { enumerable: true, get: function () { return encoding_1.decodeBech32Pubkey; } }); +Object.defineProperty(exports, "encodeAminoPubkey", { enumerable: true, get: function () { return encoding_1.encodeAminoPubkey; } }); +Object.defineProperty(exports, "encodeBech32Pubkey", { enumerable: true, get: function () { return encoding_1.encodeBech32Pubkey; } }); +Object.defineProperty(exports, "encodeEd25519Pubkey", { enumerable: true, get: function () { return encoding_1.encodeEd25519Pubkey; } }); +Object.defineProperty(exports, "encodeSecp256k1Pubkey", { enumerable: true, get: function () { return encoding_1.encodeSecp256k1Pubkey; } }); +var multisig_1 = require("./multisig"); +Object.defineProperty(exports, "createMultisigThresholdPubkey", { enumerable: true, get: function () { return multisig_1.createMultisigThresholdPubkey; } }); +var paths_1 = require("./paths"); +Object.defineProperty(exports, "makeCosmoshubPath", { enumerable: true, get: function () { return paths_1.makeCosmoshubPath; } }); +var pubkeys_1 = require("./pubkeys"); +Object.defineProperty(exports, "isEd25519Pubkey", { enumerable: true, get: function () { return pubkeys_1.isEd25519Pubkey; } }); +Object.defineProperty(exports, "isMultisigThresholdPubkey", { enumerable: true, get: function () { return pubkeys_1.isMultisigThresholdPubkey; } }); +Object.defineProperty(exports, "isSecp256k1Pubkey", { enumerable: true, get: function () { return pubkeys_1.isSecp256k1Pubkey; } }); +Object.defineProperty(exports, "isSinglePubkey", { enumerable: true, get: function () { return pubkeys_1.isSinglePubkey; } }); +Object.defineProperty(exports, "pubkeyType", { enumerable: true, get: function () { return pubkeys_1.pubkeyType; } }); +var secp256k1hdwallet_1 = require("./secp256k1hdwallet"); +Object.defineProperty(exports, "extractKdfConfiguration", { enumerable: true, get: function () { return secp256k1hdwallet_1.extractKdfConfiguration; } }); +Object.defineProperty(exports, "Secp256k1HdWallet", { enumerable: true, get: function () { return secp256k1hdwallet_1.Secp256k1HdWallet; } }); +var secp256k1wallet_1 = require("./secp256k1wallet"); +Object.defineProperty(exports, "Secp256k1Wallet", { enumerable: true, get: function () { return secp256k1wallet_1.Secp256k1Wallet; } }); +var signature_1 = require("./signature"); +Object.defineProperty(exports, "decodeSignature", { enumerable: true, get: function () { return signature_1.decodeSignature; } }); +Object.defineProperty(exports, "encodeSecp256k1Signature", { enumerable: true, get: function () { return signature_1.encodeSecp256k1Signature; } }); +var signdoc_1 = require("./signdoc"); +Object.defineProperty(exports, "makeSignDoc", { enumerable: true, get: function () { return signdoc_1.makeSignDoc; } }); +Object.defineProperty(exports, "serializeSignDoc", { enumerable: true, get: function () { return signdoc_1.serializeSignDoc; } }); +var stdtx_1 = require("./stdtx"); +Object.defineProperty(exports, "isStdTx", { enumerable: true, get: function () { return stdtx_1.isStdTx; } }); +Object.defineProperty(exports, "makeStdTx", { enumerable: true, get: function () { return stdtx_1.makeStdTx; } }); +var wallet_1 = require("./wallet"); +Object.defineProperty(exports, "executeKdf", { enumerable: true, get: function () { return wallet_1.executeKdf; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js.map new file mode 100644 index 00000000..3452c3e6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAKqB;AAJnB,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,yHAAA,4BAA4B,OAAA;AAC5B,2HAAA,8BAA8B,OAAA;AAEhC,iCAAkE;AAAzD,iGAAA,QAAQ,OAAA;AAAQ,6FAAA,IAAI,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,mGAAA,UAAU,OAAA;AAChD,uCAOoB;AANlB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AAEvB,uCAA2D;AAAlD,yHAAA,6BAA6B,OAAA;AACtC,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,qCAWmB;AATjB,0GAAA,eAAe,OAAA;AACf,oHAAA,yBAAyB,OAAA;AACzB,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AAGd,qGAAA,UAAU,OAAA;AAIZ,yDAA2G;AAAlG,4HAAA,uBAAuB,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACnD,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yCAAsF;AAA7E,4GAAA,eAAe,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AAClD,qCAAwF;AAArE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAEhD,iCAAoD;AAA3C,gGAAA,OAAO,OAAA;AAAE,kGAAA,SAAS,OAAA;AAC3B,mCAAwD;AAA/C,oGAAA,UAAU,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.d.ts new file mode 100644 index 00000000..524c628b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.d.ts @@ -0,0 +1,10 @@ +import { MultisigThresholdPubkey, SinglePubkey } from "./pubkeys"; +/** + * Compare arrays lexicographically. + * + * Returns value < 0 if `a < b`. + * Returns value > 0 if `a > b`. + * Returns 0 if `a === b`. + */ +export declare function compareArrays(a: Uint8Array, b: Uint8Array): number; +export declare function createMultisigThresholdPubkey(pubkeys: readonly SinglePubkey[], threshold: number, nosort?: boolean): MultisigThresholdPubkey; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js new file mode 100644 index 00000000..779d9971 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createMultisigThresholdPubkey = exports.compareArrays = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const addresses_1 = require("./addresses"); +/** + * Compare arrays lexicographically. + * + * Returns value < 0 if `a < b`. + * Returns value > 0 if `a > b`. + * Returns 0 if `a === b`. + */ +function compareArrays(a, b) { + const aHex = (0, encoding_1.toHex)(a); + const bHex = (0, encoding_1.toHex)(b); + return aHex === bHex ? 0 : aHex < bHex ? -1 : 1; +} +exports.compareArrays = compareArrays; +function createMultisigThresholdPubkey(pubkeys, threshold, nosort = false) { + const uintThreshold = new math_1.Uint53(threshold); + if (uintThreshold.toNumber() > pubkeys.length) { + throw new Error(`Threshold k = ${uintThreshold.toNumber()} exceeds number of keys n = ${pubkeys.length}`); + } + const outPubkeys = nosort + ? pubkeys + : Array.from(pubkeys).sort((lhs, rhs) => { + // https://github.com/cosmos/cosmos-sdk/blob/v0.42.2/client/keys/add.go#L172-L174 + const addressLhs = (0, addresses_1.pubkeyToRawAddress)(lhs); + const addressRhs = (0, addresses_1.pubkeyToRawAddress)(rhs); + return compareArrays(addressLhs, addressRhs); + }); + return { + type: "tendermint/PubKeyMultisigThreshold", + value: { + threshold: uintThreshold.toString(), + pubkeys: outPubkeys, + }, + }; +} +exports.createMultisigThresholdPubkey = createMultisigThresholdPubkey; +//# sourceMappingURL=multisig.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js.map new file mode 100644 index 00000000..c9c7e943 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/multisig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AACzC,uCAAsC;AAEtC,2CAAiD;AAGjD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,CAAa,EAAE,CAAa;IACxD,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC;IACtB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAJD,sCAIC;AAED,SAAgB,6BAA6B,CAC3C,OAAgC,EAChC,SAAiB,EACjB,MAAM,GAAG,KAAK;IAEd,MAAM,aAAa,GAAG,IAAI,aAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,aAAa,CAAC,QAAQ,EAAE,+BAA+B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3G;IAED,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,iFAAiF;YACjF,MAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC,CAAC;YAC3C,OAAO,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,OAAO;QACL,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE;YACL,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE;YACnC,OAAO,EAAE,UAAU;SACpB;KACF,CAAC;AACJ,CAAC;AAzBD,sEAyBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.d.ts new file mode 100644 index 00000000..cd9b31a7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.d.ts @@ -0,0 +1,6 @@ +import { HdPath } from "@cosmjs/crypto"; +/** + * The Cosmos Hub derivation path in the form `m/44'/118'/0'/0/a` + * with 0-based account index `a`. + */ +export declare function makeCosmoshubPath(a: number): HdPath; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js new file mode 100644 index 00000000..0b642f2b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.makeCosmoshubPath = void 0; +const crypto_1 = require("@cosmjs/crypto"); +/** + * The Cosmos Hub derivation path in the form `m/44'/118'/0'/0/a` + * with 0-based account index `a`. + */ +function makeCosmoshubPath(a) { + return [ + crypto_1.Slip10RawIndex.hardened(44), + crypto_1.Slip10RawIndex.hardened(118), + crypto_1.Slip10RawIndex.hardened(0), + crypto_1.Slip10RawIndex.normal(0), + crypto_1.Slip10RawIndex.normal(a), + ]; +} +exports.makeCosmoshubPath = makeCosmoshubPath; +//# sourceMappingURL=paths.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js.map new file mode 100644 index 00000000..4b1e9c30 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/paths.js.map @@ -0,0 +1 @@ +{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,CAAS;IACzC,OAAO;QACL,uBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,uBAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5B,uBAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1B,uBAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,uBAAc,CAAC,MAAM,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AARD,8CAQC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.d.ts new file mode 100644 index 00000000..8fa8fa51 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.d.ts @@ -0,0 +1,47 @@ +export interface Pubkey { + readonly type: string; + readonly value: any; +} +export interface Ed25519Pubkey extends SinglePubkey { + readonly type: "tendermint/PubKeyEd25519"; + readonly value: string; +} +export declare function isEd25519Pubkey(pubkey: Pubkey): pubkey is Ed25519Pubkey; +export interface Secp256k1Pubkey extends SinglePubkey { + readonly type: "tendermint/PubKeySecp256k1"; + readonly value: string; +} +export declare function isSecp256k1Pubkey(pubkey: Pubkey): pubkey is Secp256k1Pubkey; +export declare const pubkeyType: { + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/ed25519/ed25519.go#L22 */ + secp256k1: "tendermint/PubKeySecp256k1"; + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/secp256k1/secp256k1.go#L23 */ + ed25519: "tendermint/PubKeyEd25519"; + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/sr25519/codec.go#L12 */ + sr25519: "tendermint/PubKeySr25519"; + multisigThreshold: "tendermint/PubKeyMultisigThreshold"; +}; +/** + * A pubkey which contains the data directly without further nesting. + * + * You can think of this as a non-multisig pubkey. + */ +export interface SinglePubkey extends Pubkey { + readonly type: string; + /** + * The base64 encoding of the Amino binary encoded pubkey. + * + * Note: if type is Secp256k1, this must contain a 33 bytes compressed pubkey. + */ + readonly value: string; +} +export declare function isSinglePubkey(pubkey: Pubkey): pubkey is SinglePubkey; +export interface MultisigThresholdPubkey extends Pubkey { + readonly type: "tendermint/PubKeyMultisigThreshold"; + readonly value: { + /** A string-encoded integer */ + readonly threshold: string; + readonly pubkeys: readonly SinglePubkey[]; + }; +} +export declare function isMultisigThresholdPubkey(pubkey: Pubkey): pubkey is MultisigThresholdPubkey; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js new file mode 100644 index 00000000..e9844ef8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMultisigThresholdPubkey = exports.isSinglePubkey = exports.pubkeyType = exports.isSecp256k1Pubkey = exports.isEd25519Pubkey = void 0; +function isEd25519Pubkey(pubkey) { + return pubkey.type === "tendermint/PubKeyEd25519"; +} +exports.isEd25519Pubkey = isEd25519Pubkey; +function isSecp256k1Pubkey(pubkey) { + return pubkey.type === "tendermint/PubKeySecp256k1"; +} +exports.isSecp256k1Pubkey = isSecp256k1Pubkey; +exports.pubkeyType = { + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/ed25519/ed25519.go#L22 */ + secp256k1: "tendermint/PubKeySecp256k1", + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/secp256k1/secp256k1.go#L23 */ + ed25519: "tendermint/PubKeyEd25519", + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/sr25519/codec.go#L12 */ + sr25519: "tendermint/PubKeySr25519", + multisigThreshold: "tendermint/PubKeyMultisigThreshold", +}; +function isSinglePubkey(pubkey) { + const singPubkeyTypes = [exports.pubkeyType.ed25519, exports.pubkeyType.secp256k1, exports.pubkeyType.sr25519]; + return singPubkeyTypes.includes(pubkey.type); +} +exports.isSinglePubkey = isSinglePubkey; +function isMultisigThresholdPubkey(pubkey) { + return pubkey.type === "tendermint/PubKeyMultisigThreshold"; +} +exports.isMultisigThresholdPubkey = isMultisigThresholdPubkey; +//# sourceMappingURL=pubkeys.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js.map new file mode 100644 index 00000000..40bdf782 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/pubkeys.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pubkeys.js","sourceRoot":"","sources":["../src/pubkeys.ts"],"names":[],"mappings":";;;AAaA,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAQ,MAAwB,CAAC,IAAI,KAAK,0BAA0B,CAAC;AACvE,CAAC;AAFD,0CAEC;AAOD,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAQ,MAA0B,CAAC,IAAI,KAAK,4BAA4B,CAAC;AAC3E,CAAC;AAFD,8CAEC;AAEY,QAAA,UAAU,GAAG;IACxB,+FAA+F;IAC/F,SAAS,EAAE,4BAAqC;IAChD,mGAAmG;IACnG,OAAO,EAAE,0BAAmC;IAC5C,6FAA6F;IAC7F,OAAO,EAAE,0BAAmC;IAC5C,iBAAiB,EAAE,oCAA6C;CACjE,CAAC;AAoBF,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,eAAe,GAAa,CAAC,kBAAU,CAAC,OAAO,EAAE,kBAAU,CAAC,SAAS,EAAE,kBAAU,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAHD,wCAGC;AAWD,SAAgB,yBAAyB,CAAC,MAAc;IACtD,OAAQ,MAAkC,CAAC,IAAI,KAAK,oCAAoC,CAAC;AAC3F,CAAC;AAFD,8DAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts new file mode 100644 index 00000000..c1caf038 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts @@ -0,0 +1,94 @@ +import { EnglishMnemonic, HdPath } from "@cosmjs/crypto"; +import { StdSignDoc } from "./signdoc"; +import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer"; +import { EncryptionConfiguration, KdfConfiguration } from "./wallet"; +/** + * This interface describes a JSON object holding the encrypted wallet and the meta data. + * All fields in here must be JSON types. + */ +export interface Secp256k1HdWalletSerialization { + /** A format+version identifier for this serialization format */ + readonly type: string; + /** Information about the key derivation function (i.e. password to encryption key) */ + readonly kdf: KdfConfiguration; + /** Information about the symmetric encryption */ + readonly encryption: EncryptionConfiguration; + /** An instance of Secp256k1HdWalletData, which is stringified, encrypted and base64 encoded. */ + readonly data: string; +} +export declare function extractKdfConfiguration(serialization: string): KdfConfiguration; +export interface Secp256k1HdWalletOptions { + /** The password to use when deriving a BIP39 seed from a mnemonic. */ + readonly bip39Password: string; + /** The BIP-32/SLIP-10 derivation paths. Defaults to the Cosmos Hub/ATOM path `m/44'/118'/0'/0/0`. */ + readonly hdPaths: readonly HdPath[]; + /** The bech32 address prefix (human readable part). Defaults to "cosmos". */ + readonly prefix: string; +} +interface Secp256k1HdWalletConstructorOptions extends Partial { + readonly seed: Uint8Array; +} +export declare class Secp256k1HdWallet implements OfflineAminoSigner { + /** + * Restores a wallet from the given BIP39 mnemonic. + * + * @param mnemonic Any valid English mnemonic. + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static fromMnemonic(mnemonic: string, options?: Partial): Promise; + /** + * Generates a new wallet with a BIP39 mnemonic of the given length. + * + * @param length The number of words in the mnemonic (12, 15, 18, 21 or 24). + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static generate(length?: 12 | 15 | 18 | 21 | 24, options?: Partial): Promise; + /** + * Restores a wallet from an encrypted serialization. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + static deserialize(serialization: string, password: string): Promise; + /** + * Restores a wallet from an encrypted serialization. + * + * This is an advanced alternative to calling `deserialize(serialization, password)` directly, which allows + * you to offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF configuration. This can be + * done using `extractKdfConfiguration(serialization)` and `executeKdf(password, kdfConfiguration)` from this package. + */ + static deserializeWithEncryptionKey(serialization: string, encryptionKey: Uint8Array): Promise; + private static deserializeTypeV1; + /** Base secret */ + private readonly secret; + /** BIP39 seed */ + private readonly seed; + /** Derivation instruction */ + private readonly accounts; + protected constructor(mnemonic: EnglishMnemonic, options: Secp256k1HdWalletConstructorOptions); + get mnemonic(): string; + getAccounts(): Promise; + signAmino(signerAddress: string, signDoc: StdSignDoc): Promise; + /** + * Generates an encrypted serialization of this wallet. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + serialize(password: string): Promise; + /** + * Generates an encrypted serialization of this wallet. + * + * This is an advanced alternative to calling `serialize(password)` directly, which allows you to + * offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF options. If this + * is not the case, the wallet cannot be restored with the original password. + */ + serializeWithEncryptionKey(encryptionKey: Uint8Array, kdfConfiguration: KdfConfiguration): Promise; + private getKeyPair; + private getAccountsWithPrivkeys; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js new file mode 100644 index 00000000..c933ce9c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js @@ -0,0 +1,243 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1HdWallet = exports.extractKdfConfiguration = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const utils_1 = require("@cosmjs/utils"); +const addresses_1 = require("./addresses"); +const paths_1 = require("./paths"); +const signature_1 = require("./signature"); +const signdoc_1 = require("./signdoc"); +const wallet_1 = require("./wallet"); +const serializationTypeV1 = "secp256k1wallet-v1"; +/** + * A KDF configuration that is not very strong but can be used on the main thread. + * It takes about 1 second in Node.js 16.0.0 and should have similar runtimes in other modern Wasm hosts. + */ +const basicPasswordHashingOptions = { + algorithm: "argon2id", + params: { + outputLength: 32, + opsLimit: 24, + memLimitKib: 12 * 1024, + }, +}; +function isDerivationJson(thing) { + if (!(0, utils_1.isNonNullObject)(thing)) + return false; + if (typeof thing.hdPath !== "string") + return false; + if (typeof thing.prefix !== "string") + return false; + return true; +} +function extractKdfConfigurationV1(doc) { + return doc.kdf; +} +function extractKdfConfiguration(serialization) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + switch (root.type) { + case serializationTypeV1: + return extractKdfConfigurationV1(root); + default: + throw new Error("Unsupported serialization type"); + } +} +exports.extractKdfConfiguration = extractKdfConfiguration; +const defaultOptions = { + bip39Password: "", + hdPaths: [(0, paths_1.makeCosmoshubPath)(0)], + prefix: "cosmos", +}; +class Secp256k1HdWallet { + /** + * Restores a wallet from the given BIP39 mnemonic. + * + * @param mnemonic Any valid English mnemonic. + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static async fromMnemonic(mnemonic, options = {}) { + const mnemonicChecked = new crypto_1.EnglishMnemonic(mnemonic); + const seed = await crypto_1.Bip39.mnemonicToSeed(mnemonicChecked, options.bip39Password); + return new Secp256k1HdWallet(mnemonicChecked, { + ...options, + seed: seed, + }); + } + /** + * Generates a new wallet with a BIP39 mnemonic of the given length. + * + * @param length The number of words in the mnemonic (12, 15, 18, 21 or 24). + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static async generate(length = 12, options = {}) { + const entropyLength = 4 * Math.floor((11 * length) / 33); + const entropy = crypto_1.Random.getBytes(entropyLength); + const mnemonic = crypto_1.Bip39.encode(entropy); + return Secp256k1HdWallet.fromMnemonic(mnemonic.toString(), options); + } + /** + * Restores a wallet from an encrypted serialization. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + static async deserialize(serialization, password) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + switch (root.type) { + case serializationTypeV1: + return Secp256k1HdWallet.deserializeTypeV1(serialization, password); + default: + throw new Error("Unsupported serialization type"); + } + } + /** + * Restores a wallet from an encrypted serialization. + * + * This is an advanced alternative to calling `deserialize(serialization, password)` directly, which allows + * you to offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF configuration. This can be + * done using `extractKdfConfiguration(serialization)` and `executeKdf(password, kdfConfiguration)` from this package. + */ + static async deserializeWithEncryptionKey(serialization, encryptionKey) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + const untypedRoot = root; + switch (untypedRoot.type) { + case serializationTypeV1: { + const decryptedBytes = await (0, wallet_1.decrypt)((0, encoding_1.fromBase64)(untypedRoot.data), encryptionKey, untypedRoot.encryption); + const decryptedDocument = JSON.parse((0, encoding_1.fromUtf8)(decryptedBytes)); + const { mnemonic, accounts } = decryptedDocument; + (0, utils_1.assert)(typeof mnemonic === "string"); + if (!Array.isArray(accounts)) + throw new Error("Property 'accounts' is not an array"); + if (!accounts.every((account) => isDerivationJson(account))) { + throw new Error("Account is not in the correct format."); + } + const firstPrefix = accounts[0].prefix; + if (!accounts.every(({ prefix }) => prefix === firstPrefix)) { + throw new Error("Accounts do not all have the same prefix"); + } + const hdPaths = accounts.map(({ hdPath }) => (0, crypto_1.stringToPath)(hdPath)); + return Secp256k1HdWallet.fromMnemonic(mnemonic, { + hdPaths: hdPaths, + prefix: firstPrefix, + }); + } + default: + throw new Error("Unsupported serialization type"); + } + } + static async deserializeTypeV1(serialization, password) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + const encryptionKey = await (0, wallet_1.executeKdf)(password, root.kdf); + return Secp256k1HdWallet.deserializeWithEncryptionKey(serialization, encryptionKey); + } + constructor(mnemonic, options) { + const hdPaths = options.hdPaths ?? defaultOptions.hdPaths; + const prefix = options.prefix ?? defaultOptions.prefix; + this.secret = mnemonic; + this.seed = options.seed; + this.accounts = hdPaths.map((hdPath) => ({ + hdPath: hdPath, + prefix, + })); + } + get mnemonic() { + return this.secret.toString(); + } + async getAccounts() { + const accountsWithPrivkeys = await this.getAccountsWithPrivkeys(); + return accountsWithPrivkeys.map(({ algo, pubkey, address }) => ({ + algo: algo, + pubkey: pubkey, + address: address, + })); + } + async signAmino(signerAddress, signDoc) { + const accounts = await this.getAccountsWithPrivkeys(); + const account = accounts.find(({ address }) => address === signerAddress); + if (account === undefined) { + throw new Error(`Address ${signerAddress} not found in wallet`); + } + const { privkey, pubkey } = account; + const message = (0, crypto_1.sha256)((0, signdoc_1.serializeSignDoc)(signDoc)); + const signature = await crypto_1.Secp256k1.createSignature(message, privkey); + const signatureBytes = new Uint8Array([...signature.r(32), ...signature.s(32)]); + return { + signed: signDoc, + signature: (0, signature_1.encodeSecp256k1Signature)(pubkey, signatureBytes), + }; + } + /** + * Generates an encrypted serialization of this wallet. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + async serialize(password) { + const kdfConfiguration = basicPasswordHashingOptions; + const encryptionKey = await (0, wallet_1.executeKdf)(password, kdfConfiguration); + return this.serializeWithEncryptionKey(encryptionKey, kdfConfiguration); + } + /** + * Generates an encrypted serialization of this wallet. + * + * This is an advanced alternative to calling `serialize(password)` directly, which allows you to + * offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF options. If this + * is not the case, the wallet cannot be restored with the original password. + */ + async serializeWithEncryptionKey(encryptionKey, kdfConfiguration) { + const dataToEncrypt = { + mnemonic: this.mnemonic, + accounts: this.accounts.map(({ hdPath, prefix }) => ({ + hdPath: (0, crypto_1.pathToString)(hdPath), + prefix: prefix, + })), + }; + const dataToEncryptRaw = (0, encoding_1.toUtf8)(JSON.stringify(dataToEncrypt)); + const encryptionConfiguration = { + algorithm: wallet_1.supportedAlgorithms.xchacha20poly1305Ietf, + }; + const encryptedData = await (0, wallet_1.encrypt)(dataToEncryptRaw, encryptionKey, encryptionConfiguration); + const out = { + type: serializationTypeV1, + kdf: kdfConfiguration, + encryption: encryptionConfiguration, + data: (0, encoding_1.toBase64)(encryptedData), + }; + return JSON.stringify(out); + } + async getKeyPair(hdPath) { + const { privkey } = crypto_1.Slip10.derivePath(crypto_1.Slip10Curve.Secp256k1, this.seed, hdPath); + const { pubkey } = await crypto_1.Secp256k1.makeKeypair(privkey); + return { + privkey: privkey, + pubkey: crypto_1.Secp256k1.compressPubkey(pubkey), + }; + } + async getAccountsWithPrivkeys() { + return Promise.all(this.accounts.map(async ({ hdPath, prefix }) => { + const { privkey, pubkey } = await this.getKeyPair(hdPath); + const address = (0, encoding_1.toBech32)(prefix, (0, addresses_1.rawSecp256k1PubkeyToRawAddress)(pubkey)); + return { + algo: "secp256k1", + privkey: privkey, + pubkey: pubkey, + address: address, + }; + })); + } +} +exports.Secp256k1HdWallet = Secp256k1HdWallet; +//# sourceMappingURL=secp256k1hdwallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map new file mode 100644 index 00000000..377f5bd6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1hdwallet.js","sourceRoot":"","sources":["../src/secp256k1hdwallet.ts"],"names":[],"mappings":";;;AAAA,2CAYwB;AACxB,+CAAoF;AACpF,yCAAwD;AAExD,2CAA6D;AAC7D,mCAA4C;AAC5C,2CAAuD;AACvD,uCAAyD;AAEzD,qCAOkB;AAMlB,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD;;;GAGG;AACH,MAAM,2BAA2B,GAAqB;IACpD,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE;QACN,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE,GAAG,IAAI;KACvB;CACF,CAAC;AA0BF,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,OAAQ,KAA4B,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,OAAQ,KAA4B,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,SAAS,yBAAyB,CAAC,GAAQ;IACzC,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED,SAAgB,uBAAuB,CAAC,aAAqB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAE/E,QAAS,IAAY,CAAC,IAAI,EAAE;QAC1B,KAAK,mBAAmB;YACtB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACzC;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACrD;AACH,CAAC;AAVD,0DAUC;AAwBD,MAAM,cAAc,GAA6B;IAC/C,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,CAAC,IAAA,yBAAiB,EAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAa,iBAAiB;IAC5B;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,QAAgB,EAChB,UAA6C,EAAE;QAE/C,MAAM,eAAe,GAAG,IAAI,wBAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,cAAK,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAChF,OAAO,IAAI,iBAAiB,CAAC,eAAe,EAAE;YAC5C,GAAG,OAAO;YACV,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC1B,SAAiC,EAAE,EACnC,UAA6C,EAAE;QAE/C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,eAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,cAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,QAAgB;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/E,QAAS,IAAY,CAAC,IAAI,EAAE;YAC1B,KAAK,mBAAmB;gBACtB,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACtE;gBACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC9C,aAAqB,EACrB,aAAyB;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAQ,IAAI,CAAC;QAC9B,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,mBAAmB,CAAC,CAAC;gBACxB,MAAM,cAAc,GAAG,MAAM,IAAA,gBAAO,EAClC,IAAA,qBAAU,EAAC,WAAW,CAAC,IAAI,CAAC,EAC5B,aAAa,EACb,WAAW,CAAC,UAAU,CACvB,CAAC;gBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,mBAAQ,EAAC,cAAc,CAAC,CAAC,CAAC;gBAC/D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC;gBACjD,IAAA,cAAM,EAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE;oBAC3D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC1D;gBACD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE;oBAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;iBAC7D;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;gBACnE,OAAO,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC9C,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;aACJ;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;IACH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACpC,aAAqB,EACrB,QAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAU,EAAC,QAAQ,EAAG,IAAY,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO,iBAAiB,CAAC,4BAA4B,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC;IASD,YAAsB,QAAyB,EAAE,OAA4C;QAC3F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE,MAAM;YACd,MAAM;SACP,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,OAAmB;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC;QAC1E,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,aAAa,sBAAsB,CAAC,CAAC;SACjE;QACD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAA,oCAAwB,EAAC,MAAM,EAAE,cAAc,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,QAAgB;QACrC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAU,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,0BAA0B,CACrC,aAAyB,EACzB,gBAAkC;QAElC,MAAM,aAAa,GAA0B;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnD,MAAM,EAAE,IAAA,qBAAY,EAAC,MAAM,CAAC;gBAC5B,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAA,iBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAE/D,MAAM,uBAAuB,GAA4B;YACvD,SAAS,EAAE,4BAAmB,CAAC,qBAAqB;SACrD,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAO,EAAC,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;QAE9F,MAAM,GAAG,GAAmC;YAC1C,IAAI,EAAE,mBAAmB;YACzB,GAAG,EAAE,gBAAgB;YACrB,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,IAAA,mBAAQ,EAAC,aAAa,CAAC;SAC9B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,EAAE,OAAO,EAAE,GAAG,eAAM,CAAC,UAAU,CAAC,oBAAW,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,kBAAS,CAAC,cAAc,CAAC,MAAM,CAAC;SACzC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAA,mBAAQ,EAAC,MAAM,EAAE,IAAA,0CAA8B,EAAC,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO;gBACL,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;aACjB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAjOD,8CAiOC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts new file mode 100644 index 00000000..e87da4ee --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts @@ -0,0 +1,23 @@ +import { StdSignDoc } from "./signdoc"; +import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer"; +/** + * A wallet that holds a single secp256k1 keypair. + * + * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet. + */ +export declare class Secp256k1Wallet implements OfflineAminoSigner { + /** + * Creates a Secp256k1Wallet from the given private key + * + * @param privkey The private key. + * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos". + */ + static fromKey(privkey: Uint8Array, prefix?: string): Promise; + private readonly pubkey; + private readonly privkey; + private readonly prefix; + private constructor(); + private get address(); + getAccounts(): Promise; + signAmino(signerAddress: string, signDoc: StdSignDoc): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js new file mode 100644 index 00000000..475d418c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1Wallet = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const addresses_1 = require("./addresses"); +const signature_1 = require("./signature"); +const signdoc_1 = require("./signdoc"); +/** + * A wallet that holds a single secp256k1 keypair. + * + * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet. + */ +class Secp256k1Wallet { + /** + * Creates a Secp256k1Wallet from the given private key + * + * @param privkey The private key. + * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos". + */ + static async fromKey(privkey, prefix = "cosmos") { + const uncompressed = (await crypto_1.Secp256k1.makeKeypair(privkey)).pubkey; + return new Secp256k1Wallet(privkey, crypto_1.Secp256k1.compressPubkey(uncompressed), prefix); + } + constructor(privkey, pubkey, prefix) { + this.privkey = privkey; + this.pubkey = pubkey; + this.prefix = prefix; + } + get address() { + return (0, encoding_1.toBech32)(this.prefix, (0, addresses_1.rawSecp256k1PubkeyToRawAddress)(this.pubkey)); + } + async getAccounts() { + return [ + { + algo: "secp256k1", + address: this.address, + pubkey: this.pubkey, + }, + ]; + } + async signAmino(signerAddress, signDoc) { + if (signerAddress !== this.address) { + throw new Error(`Address ${signerAddress} not found in wallet`); + } + const message = new crypto_1.Sha256((0, signdoc_1.serializeSignDoc)(signDoc)).digest(); + const signature = await crypto_1.Secp256k1.createSignature(message, this.privkey); + const signatureBytes = new Uint8Array([...signature.r(32), ...signature.s(32)]); + return { + signed: signDoc, + signature: (0, signature_1.encodeSecp256k1Signature)(this.pubkey, signatureBytes), + }; + } +} +exports.Secp256k1Wallet = Secp256k1Wallet; +//# sourceMappingURL=secp256k1wallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map new file mode 100644 index 00000000..2a47d736 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1wallet.js","sourceRoot":"","sources":["../src/secp256k1wallet.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AACnD,+CAA4C;AAE5C,2CAA6D;AAC7D,2CAAuD;AACvD,uCAAyD;AAGzD;;;;GAIG;AACH,MAAa,eAAe;IAC1B;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAmB,EAAE,MAAM,GAAG,QAAQ;QAChE,MAAM,YAAY,GAAG,CAAC,MAAM,kBAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,kBAAS,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAMD,YAAoB,OAAmB,EAAE,MAAkB,EAAE,MAAc;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAA,0CAA8B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,OAAO;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,OAAmB;QAC/D,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,WAAW,aAAa,sBAAsB,CAAC,CAAC;SACjE;QACD,MAAM,OAAO,GAAG,IAAI,eAAM,CAAC,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAA,oCAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;SACjE,CAAC;IACJ,CAAC;CACF;AAhDD,0CAgDC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.d.ts new file mode 100644 index 00000000..c7fff17b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.d.ts @@ -0,0 +1,16 @@ +import { Pubkey } from "./pubkeys"; +export interface StdSignature { + readonly pub_key: Pubkey; + readonly signature: string; +} +/** + * Takes a binary pubkey and signature to create a signature object + * + * @param pubkey a compressed secp256k1 public key + * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s + */ +export declare function encodeSecp256k1Signature(pubkey: Uint8Array, signature: Uint8Array): StdSignature; +export declare function decodeSignature(signature: StdSignature): { + readonly pubkey: Uint8Array; + readonly signature: Uint8Array; +}; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js new file mode 100644 index 00000000..6a06bec5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeSignature = exports.encodeSecp256k1Signature = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const encoding_2 = require("./encoding"); +const pubkeys_1 = require("./pubkeys"); +/** + * Takes a binary pubkey and signature to create a signature object + * + * @param pubkey a compressed secp256k1 public key + * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s + */ +function encodeSecp256k1Signature(pubkey, signature) { + if (signature.length !== 64) { + throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s."); + } + return { + pub_key: (0, encoding_2.encodeSecp256k1Pubkey)(pubkey), + signature: (0, encoding_1.toBase64)(signature), + }; +} +exports.encodeSecp256k1Signature = encodeSecp256k1Signature; +function decodeSignature(signature) { + switch (signature.pub_key.type) { + // Note: please don't add cases here without writing additional unit tests + case pubkeys_1.pubkeyType.secp256k1: + return { + pubkey: (0, encoding_1.fromBase64)(signature.pub_key.value), + signature: (0, encoding_1.fromBase64)(signature.signature), + }; + default: + throw new Error("Unsupported pubkey type"); + } +} +exports.decodeSignature = decodeSignature; +//# sourceMappingURL=signature.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js.map new file mode 100644 index 00000000..fd699733 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,+CAAwD;AAExD,yCAAmD;AACnD,uCAA+C;AAO/C;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,MAAkB,EAAE,SAAqB;IAChF,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,kIAAkI,CACnI,CAAC;KACH;IAED,OAAO;QACL,OAAO,EAAE,IAAA,gCAAqB,EAAC,MAAM,CAAC;QACtC,SAAS,EAAE,IAAA,mBAAQ,EAAC,SAAS,CAAC;KAC/B,CAAC;AACJ,CAAC;AAXD,4DAWC;AAED,SAAgB,eAAe,CAAC,SAAuB;IAIrD,QAAQ,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;QAC9B,0EAA0E;QAC1E,KAAK,oBAAU,CAAC,SAAS;YACvB,OAAO;gBACL,MAAM,EAAE,IAAA,qBAAU,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC3C,SAAS,EAAE,IAAA,qBAAU,EAAC,SAAS,CAAC,SAAS,CAAC;aAC3C,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AACH,CAAC;AAdD,0CAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.d.ts new file mode 100644 index 00000000..bd787c0e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.d.ts @@ -0,0 +1,43 @@ +import { Coin } from "./coins"; +export interface AminoMsg { + readonly type: string; + readonly value: any; +} +export interface StdFee { + readonly amount: readonly Coin[]; + readonly gas: string; + /** The granter address that is used for paying with feegrants */ + readonly granter?: string; + /** The fee payer address. The payer must have signed the transaction. */ + readonly payer?: string; +} +/** + * The document to be signed + * + * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc + */ +export interface StdSignDoc { + readonly chain_id: string; + readonly account_number: string; + readonly sequence: string; + readonly fee: StdFee; + readonly msgs: readonly AminoMsg[]; + readonly memo: string; +} +/** Returns a JSON string with objects sorted by key */ +export declare function sortedJsonStringify(obj: any): string; +export declare function makeSignDoc(msgs: readonly AminoMsg[], fee: StdFee, chainId: string, memo: string | undefined, accountNumber: number | string, sequence: number | string): StdSignDoc; +/** + * Takes a valid JSON document and performs the following escapings in string values: + * + * `&` -> `\u0026` + * `<` -> `\u003c` + * `>` -> `\u003e` + * + * Since those characters do not occur in other places of the JSON document, only + * string values are affected. + * + * If the input is invalid JSON, the behaviour is undefined. + */ +export declare function escapeCharacters(input: string): string; +export declare function serializeSignDoc(signDoc: StdSignDoc): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js new file mode 100644 index 00000000..30c95450 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js @@ -0,0 +1,65 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeSignDoc = exports.escapeCharacters = exports.makeSignDoc = exports.sortedJsonStringify = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +function sortedObject(obj) { + if (typeof obj !== "object" || obj === null) { + return obj; + } + if (Array.isArray(obj)) { + return obj.map(sortedObject); + } + const sortedKeys = Object.keys(obj).sort(); + const result = {}; + // NOTE: Use forEach instead of reduce for performance with large objects eg Wasm code + sortedKeys.forEach((key) => { + result[key] = sortedObject(obj[key]); + }); + return result; +} +/** Returns a JSON string with objects sorted by key */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +function sortedJsonStringify(obj) { + return JSON.stringify(sortedObject(obj)); +} +exports.sortedJsonStringify = sortedJsonStringify; +function makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence) { + return { + chain_id: chainId, + account_number: math_1.Uint53.fromString(accountNumber.toString()).toString(), + sequence: math_1.Uint53.fromString(sequence.toString()).toString(), + fee: fee, + msgs: msgs, + memo: memo || "", + }; +} +exports.makeSignDoc = makeSignDoc; +/** + * Takes a valid JSON document and performs the following escapings in string values: + * + * `&` -> `\u0026` + * `<` -> `\u003c` + * `>` -> `\u003e` + * + * Since those characters do not occur in other places of the JSON document, only + * string values are affected. + * + * If the input is invalid JSON, the behaviour is undefined. + */ +function escapeCharacters(input) { + // When we migrate to target es2021 or above, we can use replaceAll instead of global patterns. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll + const amp = /&/g; + const lt = //g; + return input.replace(amp, "\\u0026").replace(lt, "\\u003c").replace(gt, "\\u003e"); +} +exports.escapeCharacters = escapeCharacters; +function serializeSignDoc(signDoc) { + const serialized = escapeCharacters(sortedJsonStringify(signDoc)); + return (0, encoding_1.toUtf8)(serialized); +} +exports.serializeSignDoc = serializeSignDoc; +//# sourceMappingURL=signdoc.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js.map new file mode 100644 index 00000000..03f37401 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signdoc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signdoc.js","sourceRoot":"","sources":["../src/signdoc.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,+CAA0C;AAC1C,uCAAsC;AAgCtC,SAAS,YAAY,CAAC,GAAQ;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9B;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,sFAAsF;IACtF,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uDAAuD;AACvD,6EAA6E;AAC7E,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED,SAAgB,WAAW,CACzB,IAAyB,EACzB,GAAW,EACX,OAAe,EACf,IAAwB,EACxB,aAA8B,EAC9B,QAAyB;IAEzB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,aAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtE,QAAQ,EAAE,aAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC;AACJ,CAAC;AAhBD,kCAgBC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,+FAA+F;IAC/F,qGAAqG;IACrG,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACrF,CAAC;AAPD,4CAOC;AAED,SAAgB,gBAAgB,CAAC,OAAmB;IAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,OAAO,IAAA,iBAAM,EAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAHD,4CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.d.ts new file mode 100644 index 00000000..82d2b68c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.d.ts @@ -0,0 +1,33 @@ +import { StdSignature } from "./signature"; +import { StdSignDoc } from "./signdoc"; +export type Algo = "secp256k1" | "ed25519" | "sr25519"; +export interface AccountData { + /** A printable address (typically bech32 encoded) */ + readonly address: string; + readonly algo: Algo; + readonly pubkey: Uint8Array; +} +export interface AminoSignResponse { + /** + * The sign doc that was signed. + * This may be different from the input signDoc when the signer modifies it as part of the signing process. + */ + readonly signed: StdSignDoc; + readonly signature: StdSignature; +} +export interface OfflineAminoSigner { + /** + * Get AccountData array from wallet. Rejects if not enabled. + */ + readonly getAccounts: () => Promise; + /** + * Request signature from whichever key corresponds to provided bech32-encoded address. Rejects if not enabled. + * + * The signer implementation may offer the user the ability to override parts of the signDoc. It must + * return the doc that was signed in the response. + * + * @param signerAddress The address of the account that should sign the transaction + * @param signDoc The content that should be signed + */ + readonly signAmino: (signerAddress: string, signDoc: StdSignDoc) => Promise; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js new file mode 100644 index 00000000..c73406ac --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=signer.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js.map new file mode 100644 index 00000000..5b2efee5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/signer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.d.ts new file mode 100644 index 00000000..3cc05bc6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.d.ts @@ -0,0 +1,15 @@ +import { StdSignature } from "./signature"; +import { AminoMsg, StdFee, StdSignDoc } from "./signdoc"; +/** + * A Cosmos SDK StdTx + * + * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdtx + */ +export interface StdTx { + readonly msg: readonly AminoMsg[]; + readonly fee: StdFee; + readonly signatures: readonly StdSignature[]; + readonly memo: string | undefined; +} +export declare function isStdTx(txValue: unknown): txValue is StdTx; +export declare function makeStdTx(content: Pick, signatures: StdSignature | readonly StdSignature[]): StdTx; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js new file mode 100644 index 00000000..ee56fd14 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.makeStdTx = exports.isStdTx = void 0; +function isStdTx(txValue) { + const { memo, msg, fee, signatures } = txValue; + return (typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures)); +} +exports.isStdTx = isStdTx; +function makeStdTx(content, signatures) { + return { + msg: content.msgs, + fee: content.fee, + memo: content.memo, + signatures: Array.isArray(signatures) ? signatures : [signatures], + }; +} +exports.makeStdTx = makeStdTx; +//# sourceMappingURL=stdtx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js.map new file mode 100644 index 00000000..7bacecf8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/stdtx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stdtx.js","sourceRoot":"","sources":["../src/stdtx.ts"],"names":[],"mappings":";;;AAeA,SAAgB,OAAO,CAAC,OAAgB;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAgB,CAAC;IACxD,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CACvG,CAAC;AACJ,CAAC;AALD,0BAKC;AAED,SAAgB,SAAS,CACvB,OAAkD,EAClD,UAAkD;IAElD,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;KAClE,CAAC;AACJ,CAAC;AAVD,8BAUC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.d.ts new file mode 100644 index 00000000..bc68969b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.d.ts @@ -0,0 +1,32 @@ +/** + * A fixed salt is chosen to archive a deterministic password to key derivation. + * This reduces the scope of a potential rainbow attack to all CosmJS users. + * Must be 16 bytes due to implementation limitations. + */ +export declare const cosmjsSalt: Uint8Array; +export interface KdfConfiguration { + /** + * An algorithm identifier, such as "argon2id" or "scrypt". + */ + readonly algorithm: string; + /** A map of algorithm-specific parameters */ + readonly params: Record; +} +export declare function executeKdf(password: string, configuration: KdfConfiguration): Promise; +/** + * Configuration how to encrypt data or how data was encrypted. + * This is stored as part of the wallet serialization and must only contain JSON types. + */ +export interface EncryptionConfiguration { + /** + * An algorithm identifier, such as "xchacha20poly1305-ietf". + */ + readonly algorithm: string; + /** A map of algorithm-specific parameters */ + readonly params?: Record; +} +export declare const supportedAlgorithms: { + xchacha20poly1305Ietf: string; +}; +export declare function encrypt(plaintext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise; +export declare function decrypt(ciphertext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js new file mode 100644 index 00000000..365e2996 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decrypt = exports.encrypt = exports.supportedAlgorithms = exports.executeKdf = exports.cosmjsSalt = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +/** + * A fixed salt is chosen to archive a deterministic password to key derivation. + * This reduces the scope of a potential rainbow attack to all CosmJS users. + * Must be 16 bytes due to implementation limitations. + */ +exports.cosmjsSalt = (0, encoding_1.toAscii)("The CosmJS salt."); +async function executeKdf(password, configuration) { + switch (configuration.algorithm) { + case "argon2id": { + const options = configuration.params; + if (!(0, crypto_1.isArgon2idOptions)(options)) + throw new Error("Invalid format of argon2id params"); + return crypto_1.Argon2id.execute(password, exports.cosmjsSalt, options); + } + default: + throw new Error("Unsupported KDF algorithm"); + } +} +exports.executeKdf = executeKdf; +exports.supportedAlgorithms = { + xchacha20poly1305Ietf: "xchacha20poly1305-ietf", +}; +async function encrypt(plaintext, encryptionKey, config) { + switch (config.algorithm) { + case exports.supportedAlgorithms.xchacha20poly1305Ietf: { + const nonce = crypto_1.Random.getBytes(crypto_1.xchacha20NonceLength); + // Prepend fixed-length nonce to ciphertext as suggested in the example from https://github.com/jedisct1/libsodium.js#api + return new Uint8Array([ + ...nonce, + ...(await crypto_1.Xchacha20poly1305Ietf.encrypt(plaintext, encryptionKey, nonce)), + ]); + } + default: + throw new Error(`Unsupported encryption algorithm: '${config.algorithm}'`); + } +} +exports.encrypt = encrypt; +async function decrypt(ciphertext, encryptionKey, config) { + switch (config.algorithm) { + case exports.supportedAlgorithms.xchacha20poly1305Ietf: { + const nonce = ciphertext.slice(0, crypto_1.xchacha20NonceLength); + return crypto_1.Xchacha20poly1305Ietf.decrypt(ciphertext.slice(crypto_1.xchacha20NonceLength), encryptionKey, nonce); + } + default: + throw new Error(`Unsupported encryption algorithm: '${config.algorithm}'`); + } +} +exports.decrypt = decrypt; +//# sourceMappingURL=wallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js.map new file mode 100644 index 00000000..57b57c7c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/build/wallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":";;;AAAA,2CAMwB;AACxB,+CAA2C;AAE3C;;;;GAIG;AACU,QAAA,UAAU,GAAG,IAAA,kBAAO,EAAC,kBAAkB,CAAC,CAAC;AAW/C,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,aAA+B;IAChF,QAAQ,aAAa,CAAC,SAAS,EAAE;QAC/B,KAAK,UAAU,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtF,OAAO,iBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAU,EAAE,OAAO,CAAC,CAAC;SACxD;QACD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;AACH,CAAC;AAVD,gCAUC;AAeY,QAAA,mBAAmB,GAAG;IACjC,qBAAqB,EAAE,wBAAwB;CAChD,CAAC;AAEK,KAAK,UAAU,OAAO,CAC3B,SAAqB,EACrB,aAAyB,EACzB,MAA+B;IAE/B,QAAQ,MAAM,CAAC,SAAS,EAAE;QACxB,KAAK,2BAAmB,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,eAAM,CAAC,QAAQ,CAAC,6BAAoB,CAAC,CAAC;YACpD,yHAAyH;YACzH,OAAO,IAAI,UAAU,CAAC;gBACpB,GAAG,KAAK;gBACR,GAAG,CAAC,MAAM,8BAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;aAC1E,CAAC,CAAC;SACJ;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;KAC9E;AACH,CAAC;AAjBD,0BAiBC;AAEM,KAAK,UAAU,OAAO,CAC3B,UAAsB,EACtB,aAAyB,EACzB,MAA+B;IAE/B,QAAQ,MAAM,CAAC,SAAS,EAAE;QACxB,KAAK,2BAAmB,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,6BAAoB,CAAC,CAAC;YACxD,OAAO,8BAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,6BAAoB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;SACpG;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;KAC9E;AACH,CAAC;AAbD,0BAaC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/package.json b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/package.json new file mode 100644 index 00000000..5baa62ad --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/amino/package.json @@ -0,0 +1,82 @@ +{ + "name": "@cosmjs/amino", + "version": "0.31.0", + "description": "Helpers for Amino based signing.", + "contributors": [ + "Simon Warta " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/amino" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "@cosmjs/crypto": "^0.31.0", + "@cosmjs/encoding": "^0.31.0", + "@cosmjs/math": "^0.31.0", + "@cosmjs/utils": "^0.31.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/README.md b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/README.md new file mode 100644 index 00000000..d8820186 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/README.md @@ -0,0 +1,15 @@ +# @cosmjs/crypto + +[![npm version](https://img.shields.io/npm/v/@cosmjs/crypto.svg)](https://www.npmjs.com/package/@cosmjs/crypto) + +This package contains low-level cryptographic functionality used in other +@cosmjs libraries. Little of it is implemented here, but mainly it is a curation +of external libraries along with correctness tests. We add type safety, some +more checks, and a simple API to these libraries. This can also be freely +imported outside of CosmJS based applications. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.d.ts new file mode 100644 index 00000000..b5cb7e22 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.d.ts @@ -0,0 +1,29 @@ +export declare function entropyToMnemonic(entropy: Uint8Array): string; +export declare function mnemonicToEntropy(mnemonic: string): Uint8Array; +export declare class EnglishMnemonic { + static readonly wordlist: readonly string[]; + private static readonly mnemonicMatcher; + private readonly data; + constructor(mnemonic: string); + toString(): string; +} +export declare class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy: Uint8Array): EnglishMnemonic; + static decode(mnemonic: EnglishMnemonic): Uint8Array; + static mnemonicToSeed(mnemonic: EnglishMnemonic, password?: string): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js new file mode 100644 index 00000000..5a5a2079 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js @@ -0,0 +1,2186 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bip39 = exports.EnglishMnemonic = exports.mnemonicToEntropy = exports.entropyToMnemonic = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const pbkdf2_1 = require("./pbkdf2"); +const sha_1 = require("./sha"); +const wordlist = [ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo", +]; +function bytesToBitstring(bytes) { + return Array.from(bytes) + .map((byte) => byte.toString(2).padStart(8, "0")) + .join(""); +} +function deriveChecksumBits(entropy) { + const entropyLengthBits = entropy.length * 8; // "ENT" (in bits) + const checksumLengthBits = entropyLengthBits / 32; // "CS" (in bits) + const hash = (0, sha_1.sha256)(entropy); + return bytesToBitstring(hash).slice(0, checksumLengthBits); +} +function bitstringToByte(bin) { + return parseInt(bin, 2); +} +const allowedEntropyLengths = [16, 20, 24, 28, 32]; +const allowedWordLengths = [12, 15, 18, 21, 24]; +function entropyToMnemonic(entropy) { + if (allowedEntropyLengths.indexOf(entropy.length) === -1) { + throw new Error("invalid input length"); + } + const entropyBits = bytesToBitstring(entropy); + const checksumBits = deriveChecksumBits(entropy); + const bits = entropyBits + checksumBits; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const chunks = bits.match(/(.{11})/g); + const words = chunks.map((binary) => { + const index = bitstringToByte(binary); + return wordlist[index]; + }); + return words.join(" "); +} +exports.entropyToMnemonic = entropyToMnemonic; +const invalidNumberOfWorks = "Invalid number of words"; +const wordNotInWordlist = "Found word that is not in the wordlist"; +const invalidEntropy = "Invalid entropy"; +const invalidChecksum = "Invalid mnemonic checksum"; +function normalize(str) { + return str.normalize("NFKD"); +} +function mnemonicToEntropy(mnemonic) { + const words = normalize(mnemonic).split(" "); + if (!allowedWordLengths.includes(words.length)) { + throw new Error(invalidNumberOfWorks); + } + // convert word indices to 11 bit binary strings + const bits = words + .map((word) => { + const index = wordlist.indexOf(word); + if (index === -1) { + throw new Error(wordNotInWordlist); + } + return index.toString(2).padStart(11, "0"); + }) + .join(""); + // split the binary string into ENT/CS + const dividerIndex = Math.floor(bits.length / 33) * 32; + const entropyBits = bits.slice(0, dividerIndex); + const checksumBits = bits.slice(dividerIndex); + // calculate the checksum and compare + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const entropyBytes = entropyBits.match(/(.{1,8})/g).map(bitstringToByte); + if (entropyBytes.length < 16 || entropyBytes.length > 32 || entropyBytes.length % 4 !== 0) { + throw new Error(invalidEntropy); + } + const entropy = Uint8Array.from(entropyBytes); + const newChecksum = deriveChecksumBits(entropy); + if (newChecksum !== checksumBits) { + throw new Error(invalidChecksum); + } + return entropy; +} +exports.mnemonicToEntropy = mnemonicToEntropy; +class EnglishMnemonic { + constructor(mnemonic) { + if (!EnglishMnemonic.mnemonicMatcher.test(mnemonic)) { + throw new Error("Invalid mnemonic format"); + } + const words = mnemonic.split(" "); + const allowedWordsLengths = [12, 15, 18, 21, 24]; + if (allowedWordsLengths.indexOf(words.length) === -1) { + throw new Error(`Invalid word count in mnemonic (allowed: ${allowedWordsLengths} got: ${words.length})`); + } + for (const word of words) { + if (EnglishMnemonic.wordlist.indexOf(word) === -1) { + throw new Error("Mnemonic contains invalid word"); + } + } + // Throws with informative error message if mnemonic is not valid + mnemonicToEntropy(mnemonic); + this.data = mnemonic; + } + toString() { + return this.data; + } +} +exports.EnglishMnemonic = EnglishMnemonic; +EnglishMnemonic.wordlist = wordlist; +// list of space separated lower case words (1 or more) +EnglishMnemonic.mnemonicMatcher = /^[a-z]+( [a-z]+)*$/; +class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy) { + return new EnglishMnemonic(entropyToMnemonic(entropy)); + } + static decode(mnemonic) { + return mnemonicToEntropy(mnemonic.toString()); + } + static async mnemonicToSeed(mnemonic, password) { + const mnemonicBytes = (0, encoding_1.toUtf8)(normalize(mnemonic.toString())); + const salt = "mnemonic" + (password ? normalize(password) : ""); + const saltBytes = (0, encoding_1.toUtf8)(salt); + return (0, pbkdf2_1.pbkdf2Sha512)(mnemonicBytes, saltBytes, 2048, 64); + } +} +exports.Bip39 = Bip39; +//# sourceMappingURL=bip39.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js.map new file mode 100644 index 00000000..f88d8c57 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/bip39.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bip39.js","sourceRoot":"","sources":["../src/bip39.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.d.ts new file mode 100644 index 00000000..00c136c6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.d.ts @@ -0,0 +1,5 @@ +export interface HashFunction { + readonly blockSize: number; + readonly update: (_: Uint8Array) => HashFunction; + readonly digest: () => Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js new file mode 100644 index 00000000..6032c199 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=hash.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js.map new file mode 100644 index 00000000..1159d990 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.d.ts new file mode 100644 index 00000000..a2f35d9d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.d.ts @@ -0,0 +1,11 @@ +import { HashFunction } from "./hash"; +export declare class Hmac implements HashFunction { + readonly blockSize: number; + private readonly messageHasher; + private readonly oKeyPad; + private readonly iKeyPad; + private readonly hash; + constructor(hashFunctionConstructor: new () => H, originalKey: Uint8Array); + update(data: Uint8Array): Hmac; + digest(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js new file mode 100644 index 00000000..2c68480b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Hmac = void 0; +class Hmac { + constructor(hashFunctionConstructor, originalKey) { + // This implementation is based on https://en.wikipedia.org/wiki/HMAC#Implementation + // with the addition of incremental hashing support. Thus part of the algorithm + // is in the constructor and the rest in digest(). + const blockSize = new hashFunctionConstructor().blockSize; + this.hash = (data) => new hashFunctionConstructor().update(data).digest(); + let key = originalKey; + if (key.length > blockSize) { + key = this.hash(key); + } + if (key.length < blockSize) { + const zeroPadding = new Uint8Array(blockSize - key.length); + key = new Uint8Array([...key, ...zeroPadding]); + } + // eslint-disable-next-line no-bitwise + this.oKeyPad = key.map((keyByte) => keyByte ^ 0x5c); + // eslint-disable-next-line no-bitwise + this.iKeyPad = key.map((keyByte) => keyByte ^ 0x36); + this.messageHasher = new hashFunctionConstructor(); + this.blockSize = blockSize; + this.update(this.iKeyPad); + } + update(data) { + this.messageHasher.update(data); + return this; + } + digest() { + const innerHash = this.messageHasher.digest(); + return this.hash(new Uint8Array([...this.oKeyPad, ...innerHash])); + } +} +exports.Hmac = Hmac; +//# sourceMappingURL=hmac.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js.map new file mode 100644 index 00000000..aae9e272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/hmac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../src/hmac.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IAQf,YAAmB,uBAAoC,EAAE,WAAuB;QAC9E,oFAAoF;QACpF,+EAA+E;QAC/E,kDAAkD;QAElD,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC,SAAS,CAAC;QAE1D,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAE1E,IAAI,GAAG,GAAG,WAAW,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;SAChD;QAED,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA9CD,oBA8CC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.d.ts new file mode 100644 index 00000000..65ab90f3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.d.ts @@ -0,0 +1,11 @@ +export { Bip39, EnglishMnemonic } from "./bip39"; +export { HashFunction } from "./hash"; +export { Hmac } from "./hmac"; +export { Keccak256, keccak256 } from "./keccak"; +export { Argon2id, Argon2idOptions, Ed25519, Ed25519Keypair, isArgon2idOptions, xchacha20NonceLength, Xchacha20poly1305Ietf, } from "./libsodium"; +export { Random } from "./random"; +export { Ripemd160, ripemd160 } from "./ripemd"; +export { Secp256k1, Secp256k1Keypair } from "./secp256k1"; +export { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export { Sha256, sha256, Sha512, sha512 } from "./sha"; +export { HdPath, pathToString, Slip10, Slip10Curve, slip10CurveFromString, Slip10RawIndex, Slip10Result, stringToPath, } from "./slip10"; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js new file mode 100644 index 00000000..efe4954e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = exports.Slip10 = exports.pathToString = exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = exports.Secp256k1Signature = exports.ExtendedSecp256k1Signature = exports.Secp256k1 = exports.ripemd160 = exports.Ripemd160 = exports.Random = exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.isArgon2idOptions = exports.Ed25519Keypair = exports.Ed25519 = exports.Argon2id = exports.keccak256 = exports.Keccak256 = exports.Hmac = exports.EnglishMnemonic = exports.Bip39 = void 0; +var bip39_1 = require("./bip39"); +Object.defineProperty(exports, "Bip39", { enumerable: true, get: function () { return bip39_1.Bip39; } }); +Object.defineProperty(exports, "EnglishMnemonic", { enumerable: true, get: function () { return bip39_1.EnglishMnemonic; } }); +var hmac_1 = require("./hmac"); +Object.defineProperty(exports, "Hmac", { enumerable: true, get: function () { return hmac_1.Hmac; } }); +var keccak_1 = require("./keccak"); +Object.defineProperty(exports, "Keccak256", { enumerable: true, get: function () { return keccak_1.Keccak256; } }); +Object.defineProperty(exports, "keccak256", { enumerable: true, get: function () { return keccak_1.keccak256; } }); +var libsodium_1 = require("./libsodium"); +Object.defineProperty(exports, "Argon2id", { enumerable: true, get: function () { return libsodium_1.Argon2id; } }); +Object.defineProperty(exports, "Ed25519", { enumerable: true, get: function () { return libsodium_1.Ed25519; } }); +Object.defineProperty(exports, "Ed25519Keypair", { enumerable: true, get: function () { return libsodium_1.Ed25519Keypair; } }); +Object.defineProperty(exports, "isArgon2idOptions", { enumerable: true, get: function () { return libsodium_1.isArgon2idOptions; } }); +Object.defineProperty(exports, "xchacha20NonceLength", { enumerable: true, get: function () { return libsodium_1.xchacha20NonceLength; } }); +Object.defineProperty(exports, "Xchacha20poly1305Ietf", { enumerable: true, get: function () { return libsodium_1.Xchacha20poly1305Ietf; } }); +var random_1 = require("./random"); +Object.defineProperty(exports, "Random", { enumerable: true, get: function () { return random_1.Random; } }); +var ripemd_1 = require("./ripemd"); +Object.defineProperty(exports, "Ripemd160", { enumerable: true, get: function () { return ripemd_1.Ripemd160; } }); +Object.defineProperty(exports, "ripemd160", { enumerable: true, get: function () { return ripemd_1.ripemd160; } }); +var secp256k1_1 = require("./secp256k1"); +Object.defineProperty(exports, "Secp256k1", { enumerable: true, get: function () { return secp256k1_1.Secp256k1; } }); +var secp256k1signature_1 = require("./secp256k1signature"); +Object.defineProperty(exports, "ExtendedSecp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.ExtendedSecp256k1Signature; } }); +Object.defineProperty(exports, "Secp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.Secp256k1Signature; } }); +var sha_1 = require("./sha"); +Object.defineProperty(exports, "Sha256", { enumerable: true, get: function () { return sha_1.Sha256; } }); +Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha_1.sha256; } }); +Object.defineProperty(exports, "Sha512", { enumerable: true, get: function () { return sha_1.Sha512; } }); +Object.defineProperty(exports, "sha512", { enumerable: true, get: function () { return sha_1.sha512; } }); +var slip10_1 = require("./slip10"); +Object.defineProperty(exports, "pathToString", { enumerable: true, get: function () { return slip10_1.pathToString; } }); +Object.defineProperty(exports, "Slip10", { enumerable: true, get: function () { return slip10_1.Slip10; } }); +Object.defineProperty(exports, "Slip10Curve", { enumerable: true, get: function () { return slip10_1.Slip10Curve; } }); +Object.defineProperty(exports, "slip10CurveFromString", { enumerable: true, get: function () { return slip10_1.slip10CurveFromString; } }); +Object.defineProperty(exports, "Slip10RawIndex", { enumerable: true, get: function () { return slip10_1.Slip10RawIndex; } }); +Object.defineProperty(exports, "stringToPath", { enumerable: true, get: function () { return slip10_1.stringToPath; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js.map new file mode 100644 index 00000000..4da9657e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAAxC,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAQqB;AAPnB,qGAAA,QAAQ,OAAA;AAER,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AAEvB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,2DAAsF;AAA7E,gIAAA,0BAA0B,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AACvD,6BAAuD;AAA9C,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AACvC,mCASkB;AAPhB,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,qGAAA,WAAW,OAAA;AACX,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AAEd,sGAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.d.ts new file mode 100644 index 00000000..9177b27c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Keccak256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Keccak256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +export declare function keccak256(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js new file mode 100644 index 00000000..a652e615 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.keccak256 = exports.Keccak256 = void 0; +const sha3_1 = require("@noble/hashes/sha3"); +const utils_1 = require("./utils"); +class Keccak256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha3_1.keccak_256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Keccak256 = Keccak256; +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +function keccak256(data) { + return new Keccak256(data).digest(); +} +exports.keccak256 = keccak256; +//# sourceMappingURL=keccak.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js.map new file mode 100644 index 00000000..3f5af6ef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/keccak.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keccak.js","sourceRoot":"","sources":["../src/keccak.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,iBAAU,CAAC,MAAM,EAAE,CAAC;QAG1C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.d.ts new file mode 100644 index 00000000..1dcb7c4a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.d.ts @@ -0,0 +1,52 @@ +export interface Argon2idOptions { + /** Output length in bytes */ + readonly outputLength: number; + /** + * An integer between 1 and 4294967295 representing the computational difficulty. + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly opsLimit: number; + /** + * Memory limit measured in KiB (like argon2 command line tool) + * + * Note: only approximately 16 MiB of memory are available using the non-sumo version of libsodium.js + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly memLimitKib: number; +} +export declare function isArgon2idOptions(thing: unknown): thing is Argon2idOptions; +export declare class Argon2id { + static execute(password: string, salt: Uint8Array, options: Argon2idOptions): Promise; +} +export declare class Ed25519Keypair { + static fromLibsodiumPrivkey(libsodiumPrivkey: Uint8Array): Ed25519Keypair; + readonly privkey: Uint8Array; + readonly pubkey: Uint8Array; + constructor(privkey: Uint8Array, pubkey: Uint8Array); + toLibsodiumPrivkey(): Uint8Array; +} +export declare class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static makeKeypair(seed: Uint8Array): Promise; + static createSignature(message: Uint8Array, keyPair: Ed25519Keypair): Promise; + static verifySignature(signature: Uint8Array, message: Uint8Array, pubkey: Uint8Array): Promise; +} +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +export declare const xchacha20NonceLength = 24; +export declare class Xchacha20poly1305Ietf { + static encrypt(message: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; + static decrypt(ciphertext: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js new file mode 100644 index 00000000..401ba569 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js @@ -0,0 +1,98 @@ +"use strict"; +// Keep all classes requiring libsodium-js in one file as having multiple +// requiring of the libsodium-wrappers module currently crashes browsers +// +// libsodium.js API: https://gist.github.com/webmaster128/b2dbe6d54d36dd168c9fabf441b9b09c +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.Ed25519 = exports.Ed25519Keypair = exports.Argon2id = exports.isArgon2idOptions = void 0; +const utils_1 = require("@cosmjs/utils"); +// Using crypto_pwhash requires sumo. Once we migrate to a standalone +// Argon2 implementation, we can use the normal libsodium-wrappers +// again: https://github.com/cosmos/cosmjs/issues/1031 +const libsodium_wrappers_sumo_1 = __importDefault(require("libsodium-wrappers-sumo")); +function isArgon2idOptions(thing) { + if (!(0, utils_1.isNonNullObject)(thing)) + return false; + if (typeof thing.outputLength !== "number") + return false; + if (typeof thing.opsLimit !== "number") + return false; + if (typeof thing.memLimitKib !== "number") + return false; + return true; +} +exports.isArgon2idOptions = isArgon2idOptions; +class Argon2id { + static async execute(password, salt, options) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_pwhash(options.outputLength, password, salt, // libsodium only supports 16 byte salts and will throw when you don't respect that + options.opsLimit, options.memLimitKib * 1024, libsodium_wrappers_sumo_1.default.crypto_pwhash_ALG_ARGON2ID13); + } +} +exports.Argon2id = Argon2id; +class Ed25519Keypair { + // a libsodium privkey has the format ` + ` + static fromLibsodiumPrivkey(libsodiumPrivkey) { + if (libsodiumPrivkey.length !== 64) { + throw new Error(`Unexpected key length ${libsodiumPrivkey.length}. Must be 64.`); + } + return new Ed25519Keypair(libsodiumPrivkey.slice(0, 32), libsodiumPrivkey.slice(32, 64)); + } + constructor(privkey, pubkey) { + this.privkey = privkey; + this.pubkey = pubkey; + } + toLibsodiumPrivkey() { + return new Uint8Array([...this.privkey, ...this.pubkey]); + } +} +exports.Ed25519Keypair = Ed25519Keypair; +class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static async makeKeypair(seed) { + await libsodium_wrappers_sumo_1.default.ready; + const keypair = libsodium_wrappers_sumo_1.default.crypto_sign_seed_keypair(seed); + return Ed25519Keypair.fromLibsodiumPrivkey(keypair.privateKey); + } + static async createSignature(message, keyPair) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_detached(message, keyPair.toLibsodiumPrivkey()); + } + static async verifySignature(signature, message, pubkey) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_verify_detached(signature, message, pubkey); + } +} +exports.Ed25519 = Ed25519; +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +exports.xchacha20NonceLength = 24; +class Xchacha20poly1305Ietf { + static async encrypt(message, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_encrypt(message, additionalData, null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + nonce, key); + } + static async decrypt(ciphertext, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_decrypt(null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + ciphertext, additionalData, nonce, key); + } +} +exports.Xchacha20poly1305Ietf = Xchacha20poly1305Ietf; +//# sourceMappingURL=libsodium.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js.map new file mode 100644 index 00000000..c77815ae --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/libsodium.js.map @@ -0,0 +1 @@ +{"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../src/libsodium.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts new file mode 100644 index 00000000..cf062c34 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts @@ -0,0 +1,20 @@ +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +export declare function getNodeCrypto(): Promise; +export declare function getSubtle(): Promise; +export declare function pbkdf2Sha512Subtle(subtle: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +export declare function pbkdf2Sha512NodeCrypto(nodeCrypto: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +export declare function pbkdf2Sha512Noble(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +export declare function pbkdf2Sha512(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js new file mode 100644 index 00000000..23a00d1e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js @@ -0,0 +1,129 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pbkdf2Sha512 = exports.pbkdf2Sha512Noble = exports.pbkdf2Sha512NodeCrypto = exports.pbkdf2Sha512Subtle = exports.getSubtle = exports.getNodeCrypto = void 0; +const utils_1 = require("@cosmjs/utils"); +const pbkdf2_1 = require("@noble/hashes/pbkdf2"); +const sha512_1 = require("@noble/hashes/sha512"); +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +async function getNodeCrypto() { + try { + const nodeCrypto = await Promise.resolve().then(() => __importStar(require("crypto"))); + // We get `Object{default: Object{}}` as a fallback when using + // `crypto: false` in Webpack 5, which we interprete as unavailable. + if (typeof nodeCrypto === "object" && Object.keys(nodeCrypto).length <= 1) { + return undefined; + } + return nodeCrypto; + } + catch { + return undefined; + } +} +exports.getNodeCrypto = getNodeCrypto; +async function getSubtle() { + // From Node.js 15 onwards, webcrypto is available in globalThis. + // In version 15 and 16 this was stored under the webcrypto key. + // With Node.js 17 it was moved to the same locations where browsers + // make it available. + // Loading `require("crypto")` here seems unnecessary since it only + // causes issues with bundlers and does not increase compatibility. + // Browsers and Node.js 17+ + let subtle = globalThis?.crypto?.subtle; + // Node.js 15+ + if (!subtle) + subtle = globalThis?.crypto?.webcrypto?.subtle; + return subtle; +} +exports.getSubtle = getSubtle; +async function pbkdf2Sha512Subtle( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +subtle, secret, salt, iterations, keylen) { + (0, utils_1.assert)(subtle, "Argument subtle is falsy"); + (0, utils_1.assert)(typeof subtle === "object", "Argument subtle is not of type object"); + (0, utils_1.assert)(typeof subtle.importKey === "function", "subtle.importKey is not a function"); + (0, utils_1.assert)(typeof subtle.deriveBits === "function", "subtle.deriveBits is not a function"); + return subtle.importKey("raw", secret, { name: "PBKDF2" }, false, ["deriveBits"]).then((key) => subtle + .deriveBits({ + name: "PBKDF2", + salt: salt, + iterations: iterations, + hash: { name: "SHA-512" }, + }, key, keylen * 8) + .then((buffer) => new Uint8Array(buffer))); +} +exports.pbkdf2Sha512Subtle = pbkdf2Sha512Subtle; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +async function pbkdf2Sha512NodeCrypto( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +nodeCrypto, secret, salt, iterations, keylen) { + (0, utils_1.assert)(nodeCrypto, "Argument nodeCrypto is falsy"); + (0, utils_1.assert)(typeof nodeCrypto === "object", "Argument nodeCrypto is not of type object"); + (0, utils_1.assert)(typeof nodeCrypto.pbkdf2 === "function", "nodeCrypto.pbkdf2 is not a function"); + return new Promise((resolve, reject) => { + nodeCrypto.pbkdf2(secret, salt, iterations, keylen, "sha512", (error, result) => { + if (error) { + reject(error); + } + else { + resolve(Uint8Array.from(result)); + } + }); + }); +} +exports.pbkdf2Sha512NodeCrypto = pbkdf2Sha512NodeCrypto; +async function pbkdf2Sha512Noble(secret, salt, iterations, keylen) { + return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, secret, salt, { c: iterations, dkLen: keylen }); +} +exports.pbkdf2Sha512Noble = pbkdf2Sha512Noble; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +async function pbkdf2Sha512(secret, salt, iterations, keylen) { + const subtle = await getSubtle(); + if (subtle) { + return pbkdf2Sha512Subtle(subtle, secret, salt, iterations, keylen); + } + else { + const nodeCrypto = await getNodeCrypto(); + if (nodeCrypto) { + return pbkdf2Sha512NodeCrypto(nodeCrypto, secret, salt, iterations, keylen); + } + else { + return pbkdf2Sha512Noble(secret, salt, iterations, keylen); + } + } +} +exports.pbkdf2Sha512 = pbkdf2Sha512; +//# sourceMappingURL=pbkdf2.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js.map new file mode 100644 index 00000000..b4b0b8c0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/pbkdf2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../src/pbkdf2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.d.ts new file mode 100644 index 00000000..71ac08a7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.d.ts @@ -0,0 +1,6 @@ +export declare class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count: number): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js new file mode 100644 index 00000000..26ca2488 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Random = void 0; +class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count) { + try { + const globalObject = typeof window === "object" ? window : self; + const cryptoApi = typeof globalObject.crypto !== "undefined" ? globalObject.crypto : globalObject.msCrypto; + const out = new Uint8Array(count); + cryptoApi.getRandomValues(out); + return out; + } + catch { + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const crypto = require("crypto"); + return new Uint8Array([...crypto.randomBytes(count)]); + } + catch { + throw new Error("No secure random number generator found"); + } + } + } +} +exports.Random = Random; +//# sourceMappingURL=random.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js.map new file mode 100644 index 00000000..5dde5cf6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/random.js.map @@ -0,0 +1 @@ +{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IACjB;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,IAAI;YACF,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,SAAS,GACb,OAAO,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YAE3F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;SACZ;QAAC,MAAM;YACN,IAAI;gBACF,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvD;YAAC,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;CACF;AAvBD,wBAuBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.d.ts new file mode 100644 index 00000000..8bd6acac --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Ripemd160 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Ripemd160; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +export declare function ripemd160(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js new file mode 100644 index 00000000..f8240a8d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = exports.Ripemd160 = void 0; +const ripemd160_1 = require("@noble/hashes/ripemd160"); +const utils_1 = require("./utils"); +class Ripemd160 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = ripemd160_1.ripemd160.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Ripemd160 = Ripemd160; +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +function ripemd160(data) { + return new Ripemd160(data).digest(); +} +exports.ripemd160 = ripemd160; +//# sourceMappingURL=ripemd.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js.map new file mode 100644 index 00000000..2849280b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/ripemd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd.js","sourceRoot":"","sources":["../src/ripemd.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,qBAAc,CAAC,MAAM,EAAE,CAAC;QAG9C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.d.ts new file mode 100644 index 00000000..a86f5196 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.d.ts @@ -0,0 +1,45 @@ +import { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export interface Secp256k1Keypair { + /** A 32 byte private key */ + readonly pubkey: Uint8Array; + /** + * A raw secp256k1 public key. + * + * The type itself does not give you any guarantee if this is + * compressed or uncompressed. If you are unsure where the data + * is coming from, use `Secp256k1.compressPubkey` or + * `Secp256k1.uncompressPubkey` (both idempotent) before processing it. + */ + readonly privkey: Uint8Array; +} +export declare class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static makeKeypair(privkey: Uint8Array): Promise; + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static createSignature(messageHash: Uint8Array, privkey: Uint8Array): Promise; + static verifySignature(signature: Secp256k1Signature, messageHash: Uint8Array, pubkey: Uint8Array): Promise; + static recoverPubkey(signature: ExtendedSecp256k1Signature, messageHash: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey: Uint8Array): Uint8Array; + static trimRecoveryByte(signature: Uint8Array): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js new file mode 100644 index 00000000..b045aafc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js @@ -0,0 +1,142 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1 = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const secp256k1signature_1 = require("./secp256k1signature"); +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +const secp256k1N = new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", "hex"); +class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static async makeKeypair(privkey) { + if (privkey.length !== 32) { + // is this check missing in secp256k1.validatePrivateKey? + // https://github.com/bitjson/bitcoin-ts/issues/4 + throw new Error("input data is not a valid secp256k1 private key"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + if (keypair.validate().result !== true) { + throw new Error("input data is not a valid secp256k1 private key"); + } + // range test that is not part of the elliptic implementation + const privkeyAsBigInteger = new bn_js_1.default(privkey); + if (privkeyAsBigInteger.gte(secp256k1N)) { + // not strictly smaller than N + throw new Error("input data is not a valid secp256k1 private key"); + } + const out = { + privkey: (0, encoding_1.fromHex)(keypair.getPrivate("hex")), + // encodes uncompressed as + // - 1-byte prefix "04" + // - 32-byte x coordinate + // - 32-byte y coordinate + pubkey: Uint8Array.from(keypair.getPublic("array")), + }; + return out; + } + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static async createSignature(messageHash, privkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + // the `canonical` option ensures creation of lowS signature representations + const { r, s, recoveryParam } = keypair.sign(messageHash, { canonical: true }); + if (typeof recoveryParam !== "number") + throw new Error("Recovery param missing"); + return new secp256k1signature_1.ExtendedSecp256k1Signature(Uint8Array.from(r.toArray()), Uint8Array.from(s.toArray()), recoveryParam); + } + static async verifySignature(signature, messageHash, pubkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPublic(pubkey); + // From https://github.com/indutny/elliptic: + // + // Sign the message's hash (input must be an array, or a hex-string) + // + // Signature MUST be either: + // 1) DER-encoded signature as hex-string; or + // 2) DER-encoded signature as buffer; or + // 3) object with two hex-string properties (r and s); or + // 4) object with two buffer properties (r and s) + // + // Uint8Array is not a Buffer, but elliptic seems to be happy with the interface + // common to both types. Uint8Array is not an array of ints but the interface is + // similar + try { + return keypair.verify(messageHash, signature.toDer()); + } + catch (error) { + return false; + } + } + static recoverPubkey(signature, messageHash) { + const signatureForElliptic = { r: (0, encoding_1.toHex)(signature.r()), s: (0, encoding_1.toHex)(signature.s()) }; + const point = secp256k1.recoverPubKey(messageHash, signatureForElliptic, signature.recovery); + const keypair = secp256k1.keyFromPublic(point); + return (0, encoding_1.fromHex)(keypair.getPublic(false, "hex")); + } + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return pubkey; + case 65: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(true, "array")); + default: + throw new Error("Invalid pubkey length"); + } + } + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(false, "array")); + case 65: + return pubkey; + default: + throw new Error("Invalid pubkey length"); + } + } + static trimRecoveryByte(signature) { + switch (signature.length) { + case 64: + return signature; + case 65: + return signature.slice(0, 64); + default: + throw new Error("Invalid signature length"); + } + } +} +exports.Secp256k1 = Secp256k1; +//# sourceMappingURL=secp256k1.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js.map new file mode 100644 index 00000000..6c4ee847 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../src/secp256k1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts new file mode 100644 index 00000000..8d914b18 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts @@ -0,0 +1,35 @@ +export declare class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data: Uint8Array): Secp256k1Signature; + static fromDer(data: Uint8Array): Secp256k1Signature; + private readonly data; + constructor(r: Uint8Array, s: Uint8Array); + r(length?: number): Uint8Array; + s(length?: number): Uint8Array; + toFixedLength(): Uint8Array; + toDer(): Uint8Array; +} +/** + * A Secp256k1Signature plus the recovery parameter + */ +export declare class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data: Uint8Array): ExtendedSecp256k1Signature; + readonly recovery: number; + constructor(r: Uint8Array, s: Uint8Array, recovery: number); + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js new file mode 100644 index 00000000..32b2c2f6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js @@ -0,0 +1,153 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExtendedSecp256k1Signature = exports.Secp256k1Signature = void 0; +function trimLeadingNullBytes(inData) { + let numberOfLeadingNullBytes = 0; + for (const byte of inData) { + if (byte === 0x00) { + numberOfLeadingNullBytes++; + } + else { + break; + } + } + return inData.slice(numberOfLeadingNullBytes); +} +const derTagInteger = 0x02; +class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data) { + if (data.length !== 64) { + throw new Error(`Got invalid data length: ${data.length}. Expected 2x 32 bytes for the pair (r, s)`); + } + return new Secp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64))); + } + static fromDer(data) { + let pos = 0; + if (data[pos++] !== 0x30) { + throw new Error("Prefix 0x30 expected"); + } + const bodyLength = data[pos++]; + if (data.length - pos !== bodyLength) { + throw new Error("Data length mismatch detected"); + } + // r + const rTag = data[pos++]; + if (rTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const rLength = data[pos++]; + if (rLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const rData = data.slice(pos, pos + rLength); + pos += rLength; + // s + const sTag = data[pos++]; + if (sTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const sLength = data[pos++]; + if (sLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const sData = data.slice(pos, pos + sLength); + pos += sLength; + return new Secp256k1Signature( + // r/s data can contain leading 0 bytes to express integers being non-negative in DER + trimLeadingNullBytes(rData), trimLeadingNullBytes(sData)); + } + constructor(r, s) { + if (r.length > 32 || r.length === 0 || r[0] === 0x00) { + throw new Error("Unsigned integer r must be encoded as unpadded big endian."); + } + if (s.length > 32 || s.length === 0 || s[0] === 0x00) { + throw new Error("Unsigned integer s must be encoded as unpadded big endian."); + } + this.data = { + r: r, + s: s, + }; + } + r(length) { + if (length === undefined) { + return this.data.r; + } + else { + const paddingLength = length - this.data.r.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter r"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.r]); + } + } + s(length) { + if (length === undefined) { + return this.data.s; + } + else { + const paddingLength = length - this.data.s.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter s"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.s]); + } + } + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32)]); + } + toDer() { + // DER supports negative integers but our data is unsigned. Thus we need to prepend + // a leading 0 byte when the higest bit is set to differentiate nagative values + const rEncoded = this.data.r[0] >= 0x80 ? new Uint8Array([0, ...this.data.r]) : this.data.r; + const sEncoded = this.data.s[0] >= 0x80 ? new Uint8Array([0, ...this.data.s]) : this.data.s; + const rLength = rEncoded.length; + const sLength = sEncoded.length; + const data = new Uint8Array([derTagInteger, rLength, ...rEncoded, derTagInteger, sLength, ...sEncoded]); + return new Uint8Array([0x30, data.length, ...data]); + } +} +exports.Secp256k1Signature = Secp256k1Signature; +/** + * A Secp256k1Signature plus the recovery parameter + */ +class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data) { + if (data.length !== 65) { + throw new Error(`Got invalid data length ${data.length}. Expected 32 + 32 + 1`); + } + return new ExtendedSecp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64)), data[64]); + } + constructor(r, s, recovery) { + super(r, s); + if (!Number.isInteger(recovery)) { + throw new Error("The recovery parameter must be an integer."); + } + if (recovery < 0 || recovery > 4) { + throw new Error("The recovery parameter must be one of 0, 1, 2, 3."); + } + this.recovery = recovery; + } + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32), this.recovery]); + } +} +exports.ExtendedSecp256k1Signature = ExtendedSecp256k1Signature; +//# sourceMappingURL=secp256k1signature.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map new file mode 100644 index 00000000..fbd7aa0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1signature.js","sourceRoot":"","sources":["../src/secp256k1signature.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.d.ts new file mode 100644 index 00000000..dbe5bd84 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.d.ts @@ -0,0 +1,19 @@ +import { HashFunction } from "./hash"; +export declare class Sha256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha256(data).digest()` */ +export declare function sha256(data: Uint8Array): Uint8Array; +export declare class Sha512 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha512; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha512(data).digest()` */ +export declare function sha512(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js new file mode 100644 index 00000000..0eb21cef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = void 0; +const sha256_1 = require("@noble/hashes/sha256"); +const sha512_1 = require("@noble/hashes/sha512"); +const utils_1 = require("./utils"); +class Sha256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha256_1.sha256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha256 = Sha256; +/** Convenience function equivalent to `new Sha256(data).digest()` */ +function sha256(data) { + return new Sha256(data).digest(); +} +exports.sha256 = sha256; +class Sha512 { + constructor(firstData) { + this.blockSize = 1024 / 8; + this.impl = sha512_1.sha512.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha512 = Sha512; +/** Convenience function equivalent to `new Sha512(data).digest()` */ +function sha512(data) { + return new Sha512(data).digest(); +} +exports.sha512 = sha512; +//# sourceMappingURL=sha.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js.map new file mode 100644 index 00000000..7bfcd3aa --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/sha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,iDAA6D;AAG7D,mCAA2C;AAE3C,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC;AAED,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAEpB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.d.ts new file mode 100644 index 00000000..11687600 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.d.ts @@ -0,0 +1,67 @@ +import { Uint32 } from "@cosmjs/math"; +export interface Slip10Result { + readonly chainCode: Uint8Array; + readonly privkey: Uint8Array; +} +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +export declare enum Slip10Curve { + Secp256k1 = "Bitcoin seed", + Ed25519 = "ed25519 seed" +} +/** + * Reverse mapping of Slip10Curve + */ +export declare function slip10CurveFromString(curveString: string): Slip10Curve; +export declare class Slip10RawIndex extends Uint32 { + static hardened(hardenedIndex: number): Slip10RawIndex; + static normal(normalIndex: number): Slip10RawIndex; + isHardened(): boolean; +} +/** + * An array of raw SLIP10 indices. + * + * This can be constructed via string parsing: + * + * ```ts + * import { stringToPath } from "@cosmjs/crypto"; + * + * const path = stringToPath("m/0'/1/2'/2/1000000000"); + * ``` + * + * or manually: + * + * ```ts + * import { HdPath, Slip10RawIndex } from "@cosmjs/crypto"; + * + * // m/0'/1/2'/2/1000000000 + * const path: HdPath = [ + * Slip10RawIndex.hardened(0), + * Slip10RawIndex.normal(1), + * Slip10RawIndex.hardened(2), + * Slip10RawIndex.normal(2), + * Slip10RawIndex.normal(1000000000), + * ]; + * ``` + */ +export type HdPath = readonly Slip10RawIndex[]; +export declare class Slip10 { + static derivePath(curve: Slip10Curve, seed: Uint8Array, path: HdPath): Slip10Result; + private static master; + private static child; + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + private static serializedPoint; + private static childImpl; + private static isZero; + private static isGteN; + private static n; +} +export declare function pathToString(path: HdPath): string; +export declare function stringToPath(input: string): HdPath; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js new file mode 100644 index 00000000..713cfdba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js @@ -0,0 +1,186 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.pathToString = exports.Slip10 = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const hmac_1 = require("./hmac"); +const sha_1 = require("./sha"); +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +var Slip10Curve; +(function (Slip10Curve) { + Slip10Curve["Secp256k1"] = "Bitcoin seed"; + Slip10Curve["Ed25519"] = "ed25519 seed"; +})(Slip10Curve = exports.Slip10Curve || (exports.Slip10Curve = {})); +/** + * Reverse mapping of Slip10Curve + */ +function slip10CurveFromString(curveString) { + switch (curveString) { + case Slip10Curve.Ed25519: + return Slip10Curve.Ed25519; + case Slip10Curve.Secp256k1: + return Slip10Curve.Secp256k1; + default: + throw new Error(`Unknown curve string: '${curveString}'`); + } +} +exports.slip10CurveFromString = slip10CurveFromString; +class Slip10RawIndex extends math_1.Uint32 { + static hardened(hardenedIndex) { + return new Slip10RawIndex(hardenedIndex + 2 ** 31); + } + static normal(normalIndex) { + return new Slip10RawIndex(normalIndex); + } + isHardened() { + return this.data >= 2 ** 31; + } +} +exports.Slip10RawIndex = Slip10RawIndex; +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +// Universal private key derivation accoring to +// https://github.com/satoshilabs/slips/blob/master/slip-0010.md +class Slip10 { + static derivePath(curve, seed, path) { + let result = this.master(curve, seed); + for (const rawIndex of path) { + result = this.child(curve, result.privkey, result.chainCode, rawIndex); + } + return result; + } + static master(curve, seed) { + const i = new hmac_1.Hmac(sha_1.Sha512, (0, encoding_1.toAscii)(curve)).update(seed).digest(); + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + if (curve !== Slip10Curve.Ed25519 && (this.isZero(il) || this.isGteN(curve, il))) { + return this.master(curve, i); + } + return { + chainCode: ir, + privkey: il, + }; + } + static child(curve, parentPrivkey, parentChainCode, rawIndex) { + let i; + if (rawIndex.isHardened()) { + const payload = new Uint8Array([0x00, ...parentPrivkey, ...rawIndex.toBytesBigEndian()]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(payload).digest(); + } + else { + if (curve === Slip10Curve.Ed25519) { + throw new Error("Normal keys are not allowed with ed25519"); + } + else { + // Step 1 of https://github.com/satoshilabs/slips/blob/master/slip-0010.md#private-parent-key--private-child-key + // Calculate I = HMAC-SHA512(Key = c_par, Data = ser_P(point(k_par)) || ser_32(i)). + // where the functions point() and ser_p() are defined in BIP-0032 + const data = new Uint8Array([ + ...Slip10.serializedPoint(curve, new bn_js_1.default(parentPrivkey)), + ...rawIndex.toBytesBigEndian(), + ]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(data).digest(); + } + } + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i); + } + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + static serializedPoint(curve, p) { + switch (curve) { + case Slip10Curve.Secp256k1: + return (0, encoding_1.fromHex)(secp256k1.g.mul(p).encodeCompressed("hex")); + default: + throw new Error("curve not supported"); + } + } + static childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i) { + // step 2 (of the Private parent key → private child key algorithm) + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + // step 3 + const returnChainCode = ir; + // step 4 + if (curve === Slip10Curve.Ed25519) { + return { + chainCode: returnChainCode, + privkey: il, + }; + } + // step 5 + const n = this.n(curve); + const returnChildKeyAsNumber = new bn_js_1.default(il).add(new bn_js_1.default(parentPrivkey)).mod(n); + const returnChildKey = Uint8Array.from(returnChildKeyAsNumber.toArray("be", 32)); + // step 6 + if (this.isGteN(curve, il) || this.isZero(returnChildKey)) { + const newI = new hmac_1.Hmac(sha_1.Sha512, parentChainCode) + .update(new Uint8Array([0x01, ...ir, ...rawIndex.toBytesBigEndian()])) + .digest(); + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, newI); + } + // step 7 + return { + chainCode: returnChainCode, + privkey: returnChildKey, + }; + } + static isZero(privkey) { + return privkey.every((byte) => byte === 0); + } + static isGteN(curve, privkey) { + const keyAsNumber = new bn_js_1.default(privkey); + return keyAsNumber.gte(this.n(curve)); + } + static n(curve) { + switch (curve) { + case Slip10Curve.Secp256k1: + return new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16); + default: + throw new Error("curve not supported"); + } + } +} +exports.Slip10 = Slip10; +function pathToString(path) { + return path.reduce((current, component) => { + const componentString = component.isHardened() + ? `${component.toNumber() - 2 ** 31}'` + : component.toString(); + return current + "/" + componentString; + }, "m"); +} +exports.pathToString = pathToString; +function stringToPath(input) { + if (!input.startsWith("m")) + throw new Error("Path string must start with 'm'"); + let rest = input.slice(1); + const out = new Array(); + while (rest) { + const match = rest.match(/^\/([0-9]+)('?)/); + if (!match) + throw new Error("Syntax error while reading path component"); + const [fullMatch, numberString, apostrophe] = match; + const value = math_1.Uint53.fromString(numberString).toNumber(); + if (value >= 2 ** 31) + throw new Error("Component value too high. Must not exceed 2**31-1."); + if (apostrophe) + out.push(Slip10RawIndex.hardened(value)); + else + out.push(Slip10RawIndex.normal(value)); + rest = rest.slice(fullMatch.length); + } + return out; +} +exports.stringToPath = stringToPath; +//# sourceMappingURL=slip10.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js.map new file mode 100644 index 00000000..11c29d7b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/slip10.js.map @@ -0,0 +1 @@ +{"version":3,"file":"slip10.js","sourceRoot":"","sources":["../src/slip10.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAoD;AACpD,uCAA8C;AAC9C,kDAAuB;AACvB,wDAAgC;AAEhC,iCAA8B;AAC9B,+BAA+B;AAO/B;;;;GAIG;AACH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,uCAAwB,CAAA;AAC1B,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,QAAQ,WAAW,EAAE;QACnB,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,GAAG,CAAC,CAAC;KAC7D;AACH,CAAC;AATD,sDASC;AAED,MAAa,cAAe,SAAQ,aAAM;IACjC,MAAM,CAAC,QAAQ,CAAC,aAAqB;QAC1C,OAAO,IAAI,cAAc,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,WAAmB;QACtC,OAAO,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAZD,wCAYC;AA8BD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAE/C,+CAA+C;AAC/C,gEAAgE;AAChE,MAAa,MAAM;IACV,MAAM,CAAC,UAAU,CAAC,KAAkB,EAAE,IAAgB,EAAE,IAAY;QACzE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YAC3B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SACxE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,KAAkB,EAAE,IAAgB;QACxD,MAAM,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3B,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;YAChF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO;YACL,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAClB,KAAkB,EAClB,aAAyB,EACzB,eAA2B,EAC3B,QAAwB;QAExB,IAAI,CAAa,CAAC;QAClB,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;aAAM;YACL,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;iBAAM;gBACL,gHAAgH;gBAChH,mFAAmF;gBACnF,kEAAkE;gBAClE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;oBAC1B,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,eAAE,CAAC,aAAa,CAAC,CAAC;oBACvD,GAAG,QAAQ,CAAC,gBAAgB,EAAE;iBAC/B,CAAC,CAAC;gBACH,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;aAC7D;SACF;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,eAAe,CAAC,KAAkB,EAAE,CAAK;QACtD,QAAQ,KAAK,EAAE;YACb,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAA,kBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,MAAM,CAAC,SAAS,CACtB,KAAkB,EAClB,aAAyB,EACzB,eAA2B,EAC3B,QAAwB,EACxB,CAAa;QAEb,mEAAmE;QAEnE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3B,SAAS;QACT,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,SAAS;QACT,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE;YACjC,OAAO;gBACL,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QAED,SAAS;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,sBAAsB,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjF,SAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACzD,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC;iBAC3C,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBACrE,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC9E;QAED,SAAS;QACT,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,OAAmB;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,KAAkB,EAAE,OAAmB;QAC3D,MAAM,WAAW,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,CAAC,CAAC,KAAkB;QACjC,QAAQ,KAAK,EAAE;YACb,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAI,eAAE,CAAC,kEAAkE,EAAE,EAAE,CAAC,CAAC;YACxF;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;IACH,CAAC;CACF;AA9HD,wBA8HC;AAED,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAU,EAAE;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,EAAE;YAC5C,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;YACtC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,OAAO,GAAG,GAAG,GAAG,eAAe,CAAC;IACzC,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC;AAPD,oCAOC;AAED,SAAgB,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/E,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAkB,CAAC;IACxC,OAAO,IAAI,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;QACpD,MAAM,KAAK,GAAG,aAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5F,IAAI,UAAU;YAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;YACpD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACrC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAhBD,oCAgBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.d.ts new file mode 100644 index 00000000..93de3b0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.d.ts @@ -0,0 +1 @@ +export declare function toRealUint8Array(data: ArrayLike): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js new file mode 100644 index 00000000..2afcbabc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRealUint8Array = void 0; +// See https://github.com/paulmillr/noble-hashes/issues/25 for why this is needed +function toRealUint8Array(data) { + if (data instanceof Uint8Array) + return data; + else + return Uint8Array.from(data); +} +exports.toRealUint8Array = toRealUint8Array; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js.map new file mode 100644 index 00000000..153254de --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/build/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,IAAuB;IACtD,IAAI,IAAI,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;;QACvC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAHD,4CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/package.json b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/package.json new file mode 100644 index 00000000..58930008 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/crypto/package.json @@ -0,0 +1,91 @@ +{ + "name": "@cosmjs/crypto", + "version": "0.31.0", + "description": "Cryptography resources for blockchain projects", + "contributors": [ + "IOV SAS ", + "Simon Warta" + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/crypto" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "@cosmjs/encoding": "^0.31.0", + "@cosmjs/math": "^0.31.0", + "@cosmjs/utils": "^0.31.0", + "@noble/hashes": "^1", + "bn.js": "^5.2.0", + "elliptic": "^6.5.4", + "libsodium-wrappers-sumo": "^0.7.11" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/elliptic": "^6.4.14", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/README.md b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/README.md new file mode 100644 index 00000000..24a42e7f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/README.md @@ -0,0 +1,23 @@ +# @cosmjs/encoding + +[![npm version](https://img.shields.io/npm/v/@cosmjs/encoding.svg)](https://www.npmjs.com/package/@cosmjs/encoding) + +This package is an extension to the JavaScript standard library that is not +bound to blockchain products. It provides basic hex/base64/ascii encoding to +Uint8Array that doesn't rely on Buffer and also provides better error messages +on invalid input. + +## Convert between bech32 and hex addresses + +``` +>> toBech32("tiov", fromHex("1234ABCD0000AA0000FFFF0000AA00001234ABCD")) +'tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea' +>> toHex(fromBech32("tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea").data) +'1234abcd0000aa0000ffff0000aa00001234abcd' +``` + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.d.ts new file mode 100644 index 00000000..42d32698 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.d.ts @@ -0,0 +1,2 @@ +export declare function toAscii(input: string): Uint8Array; +export declare function fromAscii(data: Uint8Array): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js new file mode 100644 index 00000000..43122441 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromAscii = exports.toAscii = void 0; +function toAscii(input) { + const toNums = (str) => str.split("").map((x) => { + const charCode = x.charCodeAt(0); + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (charCode < 0x20 || charCode > 0x7e) { + throw new Error("Cannot encode character that is out of printable ASCII range: " + charCode); + } + return charCode; + }); + return Uint8Array.from(toNums(input)); +} +exports.toAscii = toAscii; +function fromAscii(data) { + const fromNums = (listOfNumbers) => listOfNumbers.map((x) => { + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (x < 0x20 || x > 0x7e) { + throw new Error("Cannot decode character that is out of printable ASCII range: " + x); + } + return String.fromCharCode(x); + }); + return fromNums(Array.from(data)).join(""); +} +exports.fromAscii = fromAscii; +//# sourceMappingURL=ascii.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js.map new file mode 100644 index 00000000..34d0ca05 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/ascii.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../src/ascii.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,KAAa;IACnC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAqB,EAAE,CAChD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,QAAQ,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,QAAQ,CAAC,CAAC;SAC9F;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACL,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAdD,0BAcC;AAED,SAAgB,SAAS,CAAC,IAAgB;IACxC,MAAM,QAAQ,GAAG,CAAC,aAAgC,EAAqB,EAAE,CACvE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAS,EAAU,EAAE;QACtC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,CAAC,CAAC,CAAC;SACvF;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAdD,8BAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.d.ts new file mode 100644 index 00000000..3eb3915c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.d.ts @@ -0,0 +1,2 @@ +export declare function toBase64(data: Uint8Array): string; +export declare function fromBase64(base64String: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js new file mode 100644 index 00000000..72eddd59 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js @@ -0,0 +1,39 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromBase64 = exports.toBase64 = void 0; +const base64js = __importStar(require("base64-js")); +function toBase64(data) { + return base64js.fromByteArray(data); +} +exports.toBase64 = toBase64; +function fromBase64(base64String) { + if (!base64String.match(/^[a-zA-Z0-9+/]*={0,2}$/)) { + throw new Error("Invalid base64 string format"); + } + return base64js.toByteArray(base64String); +} +exports.fromBase64 = fromBase64; +//# sourceMappingURL=base64.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js.map new file mode 100644 index 00000000..4692c803 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/base64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,SAAgB,QAAQ,CAAC,IAAgB;IACvC,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.d.ts new file mode 100644 index 00000000..cf4222d7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.d.ts @@ -0,0 +1,12 @@ +export declare function toBech32(prefix: string, data: Uint8Array, limit?: number): string; +export declare function fromBech32(address: string, limit?: number): { + readonly prefix: string; + readonly data: Uint8Array; +}; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +export declare function normalizeBech32(address: string): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js new file mode 100644 index 00000000..f463cdcb --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js @@ -0,0 +1,52 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalizeBech32 = exports.fromBech32 = exports.toBech32 = void 0; +const bech32 = __importStar(require("bech32")); +function toBech32(prefix, data, limit) { + const address = bech32.encode(prefix, bech32.toWords(data), limit); + return address; +} +exports.toBech32 = toBech32; +function fromBech32(address, limit = Infinity) { + const decodedAddress = bech32.decode(address, limit); + return { + prefix: decodedAddress.prefix, + data: new Uint8Array(bech32.fromWords(decodedAddress.words)), + }; +} +exports.fromBech32 = fromBech32; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +function normalizeBech32(address) { + const { prefix, data } = fromBech32(address); + return toBech32(prefix, data); +} +exports.normalizeBech32 = normalizeBech32; +//# sourceMappingURL=bech32.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js.map new file mode 100644 index 00000000..d2d53250 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/bech32.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bech32.js","sourceRoot":"","sources":["../src/bech32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,QAAQ,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAc;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,4BAGC;AAED,SAAgB,UAAU,CACxB,OAAe,EACf,KAAK,GAAG,QAAQ;IAEhB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AATD,gCASC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAHD,0CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.d.ts new file mode 100644 index 00000000..a337851f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.d.ts @@ -0,0 +1,2 @@ +export declare function toHex(data: Uint8Array): string; +export declare function fromHex(hexstring: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js new file mode 100644 index 00000000..8513b590 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromHex = exports.toHex = void 0; +function toHex(data) { + let out = ""; + for (const byte of data) { + out += ("0" + byte.toString(16)).slice(-2); + } + return out; +} +exports.toHex = toHex; +function fromHex(hexstring) { + if (hexstring.length % 2 !== 0) { + throw new Error("hex string length must be a multiple of 2"); + } + const out = new Uint8Array(hexstring.length / 2); + for (let i = 0; i < out.length; i++) { + const j = 2 * i; + const hexByteAsString = hexstring.slice(j, j + 2); + if (!hexByteAsString.match(/[0-9a-f]{2}/i)) { + throw new Error("hex string contains invalid characters"); + } + out[i] = parseInt(hexByteAsString, 16); + } + return out; +} +exports.fromHex = fromHex; +//# sourceMappingURL=hex.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js.map new file mode 100644 index 00000000..1c12ece9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/hex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,sBAMC;AAED,SAAgB,OAAO,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KACxC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,0BAeC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.d.ts new file mode 100644 index 00000000..a2dc4771 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.d.ts @@ -0,0 +1,6 @@ +export { fromAscii, toAscii } from "./ascii"; +export { fromBase64, toBase64 } from "./base64"; +export { fromBech32, normalizeBech32, toBech32 } from "./bech32"; +export { fromHex, toHex } from "./hex"; +export { fromRfc3339, toRfc3339 } from "./rfc3339"; +export { fromUtf8, toUtf8 } from "./utf8"; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js new file mode 100644 index 00000000..0506f526 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toUtf8 = exports.fromUtf8 = exports.toRfc3339 = exports.fromRfc3339 = exports.toHex = exports.fromHex = exports.toBech32 = exports.normalizeBech32 = exports.fromBech32 = exports.toBase64 = exports.fromBase64 = exports.toAscii = exports.fromAscii = void 0; +var ascii_1 = require("./ascii"); +Object.defineProperty(exports, "fromAscii", { enumerable: true, get: function () { return ascii_1.fromAscii; } }); +Object.defineProperty(exports, "toAscii", { enumerable: true, get: function () { return ascii_1.toAscii; } }); +var base64_1 = require("./base64"); +Object.defineProperty(exports, "fromBase64", { enumerable: true, get: function () { return base64_1.fromBase64; } }); +Object.defineProperty(exports, "toBase64", { enumerable: true, get: function () { return base64_1.toBase64; } }); +var bech32_1 = require("./bech32"); +Object.defineProperty(exports, "fromBech32", { enumerable: true, get: function () { return bech32_1.fromBech32; } }); +Object.defineProperty(exports, "normalizeBech32", { enumerable: true, get: function () { return bech32_1.normalizeBech32; } }); +Object.defineProperty(exports, "toBech32", { enumerable: true, get: function () { return bech32_1.toBech32; } }); +var hex_1 = require("./hex"); +Object.defineProperty(exports, "fromHex", { enumerable: true, get: function () { return hex_1.fromHex; } }); +Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return hex_1.toHex; } }); +var rfc3339_1 = require("./rfc3339"); +Object.defineProperty(exports, "fromRfc3339", { enumerable: true, get: function () { return rfc3339_1.fromRfc3339; } }); +Object.defineProperty(exports, "toRfc3339", { enumerable: true, get: function () { return rfc3339_1.toRfc3339; } }); +var utf8_1 = require("./utf8"); +Object.defineProperty(exports, "fromUtf8", { enumerable: true, get: function () { return utf8_1.fromUtf8; } }); +Object.defineProperty(exports, "toUtf8", { enumerable: true, get: function () { return utf8_1.toUtf8; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js.map new file mode 100644 index 00000000..8ffe3ef1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAApC,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAC3B,mCAAgD;AAAvC,oGAAA,UAAU,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC7B,mCAAiE;AAAxD,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC9C,6BAAuC;AAA9B,8FAAA,OAAO,OAAA;AAAE,4FAAA,KAAK,OAAA;AACvB,qCAAmD;AAA1C,sGAAA,WAAW,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC/B,+BAA0C;AAAjC,gGAAA,QAAQ,OAAA;AAAE,8FAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.d.ts new file mode 100644 index 00000000..759db985 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.d.ts @@ -0,0 +1,3 @@ +import { ReadonlyDate } from "readonly-date"; +export declare function fromRfc3339(str: string): Date; +export declare function toRfc3339(date: Date | ReadonlyDate): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js new file mode 100644 index 00000000..58cbbfd1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRfc3339 = exports.fromRfc3339 = void 0; +const rfc3339Matcher = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(\.\d{1,9})?((?:[+-]\d{2}:\d{2})|Z)$/; +function padded(integer, length = 2) { + return integer.toString().padStart(length, "0"); +} +function fromRfc3339(str) { + const matches = rfc3339Matcher.exec(str); + if (!matches) { + throw new Error("Date string is not in RFC3339 format"); + } + const year = +matches[1]; + const month = +matches[2]; + const day = +matches[3]; + const hour = +matches[4]; + const minute = +matches[5]; + const second = +matches[6]; + // fractional seconds match either undefined or a string like ".1", ".123456789" + const milliSeconds = matches[7] ? Math.floor(+matches[7] * 1000) : 0; + let tzOffsetSign; + let tzOffsetHours; + let tzOffsetMinutes; + // if timezone is undefined, it must be Z or nothing (otherwise the group would have captured). + if (matches[8] === "Z") { + tzOffsetSign = 1; + tzOffsetHours = 0; + tzOffsetMinutes = 0; + } + else { + tzOffsetSign = matches[8].substring(0, 1) === "-" ? -1 : 1; + tzOffsetHours = +matches[8].substring(1, 3); + tzOffsetMinutes = +matches[8].substring(4, 6); + } + const tzOffset = tzOffsetSign * (tzOffsetHours * 60 + tzOffsetMinutes) * 60; // seconds + const timestamp = Date.UTC(year, month - 1, day, hour, minute, second, milliSeconds) - tzOffset * 1000; + return new Date(timestamp); +} +exports.fromRfc3339 = fromRfc3339; +function toRfc3339(date) { + const year = date.getUTCFullYear(); + const month = padded(date.getUTCMonth() + 1); + const day = padded(date.getUTCDate()); + const hour = padded(date.getUTCHours()); + const minute = padded(date.getUTCMinutes()); + const second = padded(date.getUTCSeconds()); + const ms = padded(date.getUTCMilliseconds(), 3); + return `${year}-${month}-${day}T${hour}:${minute}:${second}.${ms}Z`; +} +exports.toRfc3339 = toRfc3339; +//# sourceMappingURL=rfc3339.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js.map new file mode 100644 index 00000000..595261d6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/rfc3339.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rfc3339.js","sourceRoot":"","sources":["../src/rfc3339.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.d.ts new file mode 100644 index 00000000..0911143a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.d.ts @@ -0,0 +1,8 @@ +export declare function toUtf8(str: string): Uint8Array; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +export declare function fromUtf8(data: Uint8Array, lossy?: boolean): string; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js new file mode 100644 index 00000000..39938f26 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromUtf8 = exports.toUtf8 = void 0; +function toUtf8(str) { + return new TextEncoder().encode(str); +} +exports.toUtf8 = toUtf8; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +function fromUtf8(data, lossy = false) { + const fatal = !lossy; + return new TextDecoder("utf-8", { fatal }).decode(data); +} +exports.fromUtf8 = fromUtf8; +//# sourceMappingURL=utf8.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js.map new file mode 100644 index 00000000..dfa3c7c9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/build/utf8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8.js","sourceRoot":"","sources":["../src/utf8.ts"],"names":[],"mappings":";;;AAUA,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAgB,EAAE,KAAK,GAAG,KAAK;IACtD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;IACrB,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/package.json b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/package.json new file mode 100644 index 00000000..47ae1770 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/encoding/package.json @@ -0,0 +1,83 @@ +{ + "name": "@cosmjs/encoding", + "version": "0.31.0", + "description": "Encoding helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/encoding" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "base64-js": "^1.3.0", + "bech32": "^1.1.4", + "readonly-date": "^1.0.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/base64-js": "^1.2.5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/README.md b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/README.md new file mode 100644 index 00000000..97776b73 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/README.md @@ -0,0 +1,9 @@ +# @cosmjs/math + +[![npm version](https://img.shields.io/npm/v/@cosmjs/math.svg)](https://www.npmjs.com/package/@cosmjs/math) + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.d.ts new file mode 100644 index 00000000..41c52287 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.d.ts @@ -0,0 +1,66 @@ +import { Uint32, Uint53, Uint64 } from "./integers"; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +export declare class Decimal { + static fromUserInput(input: string, fractionalDigits: number): Decimal; + static fromAtomics(atomics: string, fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits: number): Decimal; + private static verifyFractionalDigits; + static compare(a: Decimal, b: Decimal): number; + get atomics(): string; + get fractionalDigits(): number; + private readonly data; + private constructor(); + /** Creates a new instance with the same value */ + private clone; + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor(): Decimal; + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil(): Decimal; + toString(): string; + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation(): number; + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b: Decimal): Decimal; + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b: Decimal): Decimal; + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b: Uint32 | Uint53 | Uint64): Decimal; + equals(b: Decimal): boolean; + isLessThan(b: Decimal): boolean; + isLessThanOrEqual(b: Decimal): boolean; + isGreaterThan(b: Decimal): boolean; + isGreaterThanOrEqual(b: Decimal): boolean; +} diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js new file mode 100644 index 00000000..b69b4ed8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js @@ -0,0 +1,212 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Decimal = void 0; +const bn_js_1 = __importDefault(require("bn.js")); +// Too large values lead to massive memory usage. Limit to something sensible. +// The largest value we need is 18 (Ether). +const maxFractionalDigits = 100; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +class Decimal { + static fromUserInput(input, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + const badCharacter = input.match(/[^0-9.]/); + if (badCharacter) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + throw new Error(`Invalid character at position ${badCharacter.index + 1}`); + } + let whole; + let fractional; + if (input === "") { + whole = "0"; + fractional = ""; + } + else if (input.search(/\./) === -1) { + // integer format, no separator + whole = input; + fractional = ""; + } + else { + const parts = input.split("."); + switch (parts.length) { + case 0: + case 1: + throw new Error("Fewer than two elements in split result. This must not happen here."); + case 2: + if (!parts[1]) + throw new Error("Fractional part missing"); + whole = parts[0]; + fractional = parts[1].replace(/0+$/, ""); + break; + default: + throw new Error("More than one separator found"); + } + } + if (fractional.length > fractionalDigits) { + throw new Error("Got more fractional digits than supported"); + } + const quantity = `${whole}${fractional.padEnd(fractionalDigits, "0")}`; + return new Decimal(quantity, fractionalDigits); + } + static fromAtomics(atomics, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal(atomics, fractionalDigits); + } + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("0", fractionalDigits); + } + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("1" + "0".repeat(fractionalDigits), fractionalDigits); + } + static verifyFractionalDigits(fractionalDigits) { + if (!Number.isInteger(fractionalDigits)) + throw new Error("Fractional digits is not an integer"); + if (fractionalDigits < 0) + throw new Error("Fractional digits must not be negative"); + if (fractionalDigits > maxFractionalDigits) { + throw new Error(`Fractional digits must not exceed ${maxFractionalDigits}`); + } + } + static compare(a, b) { + if (a.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + return a.data.atomics.cmp(new bn_js_1.default(b.atomics)); + } + get atomics() { + return this.data.atomics.toString(); + } + get fractionalDigits() { + return this.data.fractionalDigits; + } + constructor(atomics, fractionalDigits) { + if (!atomics.match(/^[0-9]+$/)) { + throw new Error("Invalid string format. Only non-negative integers in decimal representation supported."); + } + this.data = { + atomics: new bn_js_1.default(atomics), + fractionalDigits: fractionalDigits, + }; + } + /** Creates a new instance with the same value */ + clone() { + return new Decimal(this.atomics, this.fractionalDigits); + } + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.mul(factor).toString(), this.fractionalDigits); + } + } + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.addn(1).mul(factor).toString(), this.fractionalDigits); + } + } + toString() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return whole.toString(); + } + else { + const fullFractionalPart = fractional.toString().padStart(this.data.fractionalDigits, "0"); + const trimmedFractionalPart = fullFractionalPart.replace(/0+$/, ""); + return `${whole.toString()}.${trimmedFractionalPart}`; + } + } + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation() { + const out = Number(this.toString()); + if (Number.isNaN(out)) + throw new Error("Conversion to number failed"); + return out; + } + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const sum = this.data.atomics.add(new bn_js_1.default(b.atomics)); + return new Decimal(sum.toString(), this.fractionalDigits); + } + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const difference = this.data.atomics.sub(new bn_js_1.default(b.atomics)); + if (difference.ltn(0)) + throw new Error("Difference must not be negative"); + return new Decimal(difference.toString(), this.fractionalDigits); + } + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b) { + const product = this.data.atomics.mul(new bn_js_1.default(b.toString())); + return new Decimal(product.toString(), this.fractionalDigits); + } + equals(b) { + return Decimal.compare(this, b) === 0; + } + isLessThan(b) { + return Decimal.compare(this, b) < 0; + } + isLessThanOrEqual(b) { + return Decimal.compare(this, b) <= 0; + } + isGreaterThan(b) { + return Decimal.compare(this, b) > 0; + } + isGreaterThanOrEqual(b) { + return Decimal.compare(this, b) >= 0; + } +} +exports.Decimal = Decimal; +//# sourceMappingURL=decimal.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js.map new file mode 100644 index 00000000..6f3c1272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/decimal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.d.ts new file mode 100644 index 00000000..b888136f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.d.ts @@ -0,0 +1,2 @@ +export { Decimal } from "./decimal"; +export { Int53, Uint32, Uint53, Uint64 } from "./integers"; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js new file mode 100644 index 00000000..1f812f63 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Uint32 = exports.Int53 = exports.Decimal = void 0; +var decimal_1 = require("./decimal"); +Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return decimal_1.Decimal; } }); +var integers_1 = require("./integers"); +Object.defineProperty(exports, "Int53", { enumerable: true, get: function () { return integers_1.Int53; } }); +Object.defineProperty(exports, "Uint32", { enumerable: true, get: function () { return integers_1.Uint32; } }); +Object.defineProperty(exports, "Uint53", { enumerable: true, get: function () { return integers_1.Uint53; } }); +Object.defineProperty(exports, "Uint64", { enumerable: true, get: function () { return integers_1.Uint64; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js.map new file mode 100644 index 00000000..5a0926b2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAA2D;AAAlD,iGAAA,KAAK,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.d.ts new file mode 100644 index 00000000..6f2e1c09 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.d.ts @@ -0,0 +1,66 @@ +/** Internal interface to ensure all integer types can be used equally */ +interface Integer { + readonly toNumber: () => number; + readonly toBigInt: () => bigint; + readonly toString: () => string; +} +interface WithByteConverters { + readonly toBytesBigEndian: () => Uint8Array; + readonly toBytesLittleEndian: () => Uint8Array; +} +export declare class Uint32 implements Integer, WithByteConverters { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes: ArrayLike): Uint32; + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint32; + static fromString(str: string): Uint32; + protected readonly data: number; + constructor(input: number); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Int53 implements Integer { + static fromString(str: string): Int53; + protected readonly data: number; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint53 implements Integer { + static fromString(str: string): Uint53; + protected readonly data: Int53; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint64 implements Integer, WithByteConverters { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes: ArrayLike): Uint64; + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint64; + static fromString(str: string): Uint64; + static fromNumber(input: number): Uint64; + private readonly data; + private constructor(); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toString(): string; + toBigInt(): bigint; + toNumber(): number; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js new file mode 100644 index 00000000..282b44b4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js @@ -0,0 +1,214 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Int53 = exports.Uint32 = void 0; +/* eslint-disable no-bitwise */ +const bn_js_1 = __importDefault(require("bn.js")); +const uint64MaxValue = new bn_js_1.default("18446744073709551615", 10, "be"); +class Uint32 { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes) { + return Uint32.fromBytes(bytes); + } + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 4) { + throw new Error("Invalid input length. Expected 4 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? bytes : Array.from(bytes).reverse(); + // Use mulitiplication instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint32(beBytes[0] * 2 ** 24 + beBytes[1] * 2 ** 16 + beBytes[2] * 2 ** 8 + beBytes[3]); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint32(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < 0 || input > 4294967295) { + throw new Error("Input not in uint32 range: " + input.toString()); + } + this.data = input; + } + toBytesBigEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 24) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 0) & 0xff, + ]); + } + toBytesLittleEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 0) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 24) & 0xff, + ]); + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint32 = Uint32; +class Int53 { + static fromString(str) { + if (!str.match(/^-?[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Int53(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < Number.MIN_SAFE_INTEGER || input > Number.MAX_SAFE_INTEGER) { + throw new Error("Input not in int53 range: " + input.toString()); + } + this.data = input; + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Int53 = Int53; +class Uint53 { + static fromString(str) { + const signed = Int53.fromString(str); + return new Uint53(signed.toNumber()); + } + constructor(input) { + const signed = new Int53(input); + if (signed.toNumber() < 0) { + throw new Error("Input is negative"); + } + this.data = signed; + } + toNumber() { + return this.data.toNumber(); + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint53 = Uint53; +class Uint64 { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes) { + return Uint64.fromBytes(bytes); + } + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 8) { + throw new Error("Invalid input length. Expected 8 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? Array.from(bytes) : Array.from(bytes).reverse(); + return new Uint64(new bn_js_1.default(beBytes)); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint64(new bn_js_1.default(str, 10, "be")); + } + static fromNumber(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + let bigint; + try { + bigint = new bn_js_1.default(input); + } + catch { + throw new Error("Input is not a safe integer"); + } + return new Uint64(bigint); + } + constructor(data) { + if (data.isNeg()) { + throw new Error("Input is negative"); + } + if (data.gt(uint64MaxValue)) { + throw new Error("Input exceeds uint64 range"); + } + this.data = data; + } + toBytesBigEndian() { + return Uint8Array.from(this.data.toArray("be", 8)); + } + toBytesLittleEndian() { + return Uint8Array.from(this.data.toArray("le", 8)); + } + toString() { + return this.data.toString(10); + } + toBigInt() { + return BigInt(this.toString()); + } + toNumber() { + return this.data.toNumber(); + } +} +exports.Uint64 = Uint64; +// Assign classes to unused variables in order to verify static interface conformance at compile time. +// Workaround for https://github.com/microsoft/TypeScript/issues/33892 +const _int53Class = Int53; +const _uint53Class = Uint53; +const _uint32Class = Uint32; +const _uint64Class = Uint64; +//# sourceMappingURL=integers.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js.map new file mode 100644 index 00000000..2be4045e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/build/integers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"integers.js","sourceRoot":"","sources":["../src/integers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/package.json b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/package.json new file mode 100644 index 00000000..6058cc82 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/math/package.json @@ -0,0 +1,81 @@ +{ + "name": "@cosmjs/math", + "version": "0.31.0", + "description": "Math helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/math" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "bn.js": "^5.2.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/README.md b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/README.md new file mode 100644 index 00000000..984aca5d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/README.md @@ -0,0 +1,12 @@ +# @cosmjs/utils + +[![npm version](https://img.shields.io/npm/v/@cosmjs/utils.svg)](https://www.npmjs.com/package/@cosmjs/utils) + +Utility functions independent of blockchain applications. Primarily used for +testing but stuff like `sleep` can also be useful at runtime. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.d.ts new file mode 100644 index 00000000..b2017871 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.d.ts @@ -0,0 +1,18 @@ +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentEquals(a: ArrayLike, b: ArrayLike): boolean; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentStartsWith(a: ArrayLike, b: ArrayLike): boolean; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js new file mode 100644 index 00000000..15114cdd --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentEquals(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentEquals = arrayContentEquals; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentStartsWith(a, b) { + if (a.length < b.length) + return false; + for (let i = 0; i < b.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentStartsWith = arrayContentStartsWith; +//# sourceMappingURL=arrays.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js.map new file mode 100644 index 00000000..eaa47f8e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/arrays.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,gDASC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,wDASC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.d.ts new file mode 100644 index 00000000..428d5b48 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.d.ts @@ -0,0 +1,3 @@ +export declare function assert(condition: any, msg?: string): asserts condition; +export declare function assertDefined(value: T | undefined, msg?: string): asserts value is T; +export declare function assertDefinedAndNotNull(value: T | undefined | null, msg?: string): asserts value is T; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js new file mode 100644 index 00000000..e517bde3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = void 0; +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || "condition is not truthy"); + } +} +exports.assert = assert; +function assertDefined(value, msg) { + if (value === undefined) { + throw new Error(msg ?? "value is undefined"); + } +} +exports.assertDefined = assertDefined; +function assertDefinedAndNotNull(value, msg) { + if (value === undefined || value === null) { + throw new Error(msg ?? "value is undefined or null"); + } +} +exports.assertDefinedAndNotNull = assertDefinedAndNotNull; +//# sourceMappingURL=assert.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js.map new file mode 100644 index 00000000..1c0c6128 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/assert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAC7E,SAAgB,MAAM,CAAC,SAAc,EAAE,GAAY;IACjD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;KACnD;AACH,CAAC;AAJD,wBAIC;AAED,SAAgB,aAAa,CAAI,KAAoB,EAAE,GAAY;IACjE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;KAC9C;AACH,CAAC;AAJD,sCAIC;AAED,SAAgB,uBAAuB,CAAI,KAA2B,EAAE,GAAY;IAClF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;KACtD;AACH,CAAC;AAJD,0DAIC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.d.ts new file mode 100644 index 00000000..62434818 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.d.ts @@ -0,0 +1,4 @@ +export { arrayContentEquals, arrayContentStartsWith } from "./arrays"; +export { assert, assertDefined, assertDefinedAndNotNull } from "./assert"; +export { sleep } from "./sleep"; +export { isDefined, isNonNullObject, isUint8Array } from "./typechecks"; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js new file mode 100644 index 00000000..8888737f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isUint8Array = exports.isNonNullObject = exports.isDefined = exports.sleep = exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +var arrays_1 = require("./arrays"); +Object.defineProperty(exports, "arrayContentEquals", { enumerable: true, get: function () { return arrays_1.arrayContentEquals; } }); +Object.defineProperty(exports, "arrayContentStartsWith", { enumerable: true, get: function () { return arrays_1.arrayContentStartsWith; } }); +var assert_1 = require("./assert"); +Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } }); +Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return assert_1.assertDefined; } }); +Object.defineProperty(exports, "assertDefinedAndNotNull", { enumerable: true, get: function () { return assert_1.assertDefinedAndNotNull; } }); +var sleep_1 = require("./sleep"); +Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return sleep_1.sleep; } }); +var typechecks_1 = require("./typechecks"); +Object.defineProperty(exports, "isDefined", { enumerable: true, get: function () { return typechecks_1.isDefined; } }); +Object.defineProperty(exports, "isNonNullObject", { enumerable: true, get: function () { return typechecks_1.isNonNullObject; } }); +Object.defineProperty(exports, "isUint8Array", { enumerable: true, get: function () { return typechecks_1.isUint8Array; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js.map new file mode 100644 index 00000000..1bfe43e1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AAA7D,4GAAA,kBAAkB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACnD,mCAA0E;AAAjE,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,iHAAA,uBAAuB,OAAA;AACvD,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAAwE;AAA/D,uGAAA,SAAS,OAAA;AAAE,6GAAA,eAAe,OAAA;AAAE,0GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.d.ts new file mode 100644 index 00000000..deb121ba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.d.ts @@ -0,0 +1 @@ +export declare function sleep(ms: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js new file mode 100644 index 00000000..a7863375 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = void 0; +async function sleep(ms) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} +exports.sleep = sleep; +//# sourceMappingURL=sleep.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js.map new file mode 100644 index 00000000..2df3fd52 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/sleep.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.d.ts b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.d.ts new file mode 100644 index 00000000..d33cb9b7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.d.ts @@ -0,0 +1,20 @@ +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +export declare function isNonNullObject(data: unknown): data is object; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +export declare function isUint8Array(data: unknown): data is Uint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +export declare function isDefined(value: X | undefined): value is X; diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js new file mode 100644 index 00000000..08eb5b95 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isDefined = exports.isUint8Array = exports.isNonNullObject = void 0; +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +// eslint-disable-next-line @typescript-eslint/ban-types +function isNonNullObject(data) { + return typeof data === "object" && data !== null; +} +exports.isNonNullObject = isNonNullObject; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +function isUint8Array(data) { + if (!isNonNullObject(data)) + return false; + // Avoid instanceof check which is unreliable in some JS environments + // https://medium.com/@simonwarta/limitations-of-the-instanceof-operator-f4bcdbe7a400 + // Use check that was discussed in https://github.com/crypto-browserify/pbkdf2/pull/81 + if (Object.prototype.toString.call(data) !== "[object Uint8Array]") + return false; + if (typeof Buffer !== "undefined" && typeof Buffer.isBuffer !== "undefined") { + // Buffer.isBuffer is available at runtime + if (Buffer.isBuffer(data)) + return false; + } + return true; +} +exports.isUint8Array = isUint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +function isDefined(value) { + return value !== undefined; +} +exports.isDefined = isDefined; +//# sourceMappingURL=typechecks.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js.map b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js.map new file mode 100644 index 00000000..b037e9af --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/build/typechecks.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typechecks.js","sourceRoot":"","sources":["../src/typechecks.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,wDAAwD;AACxD,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,qEAAqE;IACrE,qFAAqF;IAErF,sFAAsF;IACtF,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAEjF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3E,0CAA0C;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,oCAeC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAI,KAAoB;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/package.json b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/package.json new file mode 100644 index 00000000..a8b55379 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/proto-signing/node_modules/@cosmjs/utils/package.json @@ -0,0 +1,78 @@ +{ + "name": "@cosmjs/utils", + "version": "0.31.0", + "description": "Utility tools, primarily for testing code", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/utils" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "test-node": "yarn node jasmine-testrunner.js", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/events.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/events.d.ts new file mode 100644 index 00000000..ca35ce92 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/events.d.ts @@ -0,0 +1,32 @@ +import { tendermint34, tendermint37 } from "@cosmjs/tendermint-rpc"; +/** + * An event attribute. + * + * This is the same attribute type as tendermint34.Attribute and tendermint35.EventAttribute + * but `key` and `value` are unified to strings. The conversion + * from bytes to string in the Tendermint 0.34 case should be done by performing + * [lossy] UTF-8 decoding. + * + * [lossy]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf8_lossy + */ +export interface Attribute { + readonly key: string; + readonly value: string; +} +/** + * The same event type as tendermint34.Event and tendermint35.Event + * but attribute keys and values are unified to strings. The conversion + * from bytes to string in the Tendermint 0.34 case should be done by performing + * [lossy] UTF-8 decoding. + * + * [lossy]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf8_lossy + */ +export interface Event { + readonly type: string; + readonly attributes: readonly Attribute[]; +} +/** + * Takes a Tendermint 0.34 or 0.37 event with binary encoded key and value + * and converts it into an `Event` with string attributes. + */ +export declare function fromTendermintEvent(event: tendermint34.Event | tendermint37.Event): Event; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/events.js b/ts-client/node_modules/@cosmjs/stargate/build/events.js new file mode 100644 index 00000000..90364c5b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/events.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromTendermintEvent = void 0; +const encoding_1 = require("@cosmjs/encoding"); +/** + * Takes a Tendermint 0.34 or 0.37 event with binary encoded key and value + * and converts it into an `Event` with string attributes. + */ +function fromTendermintEvent(event) { + return { + type: event.type, + attributes: event.attributes.map((attr) => ({ + key: typeof attr.key == "string" ? attr.key : (0, encoding_1.fromUtf8)(attr.key, true), + value: typeof attr.value == "string" ? attr.value : (0, encoding_1.fromUtf8)(attr.value, true), + })), + }; +} +exports.fromTendermintEvent = fromTendermintEvent; +//# sourceMappingURL=events.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/events.js.map b/ts-client/node_modules/@cosmjs/stargate/build/events.js.map new file mode 100644 index 00000000..c50fc1e8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/events.js.map @@ -0,0 +1 @@ +{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AA+B5C;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA8C;IAChF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAC9B,CAAC,IAAI,EAAa,EAAE,CAAC,CAAC;YACpB,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YACtE,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;SAC/E,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAVD,kDAUC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.d.ts new file mode 100644 index 00000000..4ca647d6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.d.ts @@ -0,0 +1,15 @@ +import { Any } from "cosmjs-types/google/protobuf/any"; +import { QueryClient } from "../../queryclient"; +export interface AuthExtension { + readonly auth: { + /** + * Returns an account if it exists and `null` otherwise. + * + * The account is a protobuf Any in order to be able to support many different + * account types in one API. The caller needs to switch over the expected and supported + * `typeUrl` and decode the `value` using its own type decoder. + */ + readonly account: (address: string) => Promise; + }; +} +export declare function setupAuthExtension(base: QueryClient): AuthExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js new file mode 100644 index 00000000..6d8c55b0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupAuthExtension = void 0; +const query_1 = require("cosmjs-types/cosmos/auth/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupAuthExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const queryService = new query_1.QueryClientImpl(rpc); + return { + auth: { + account: async (address) => { + const { account } = await queryService.Account({ address: address }); + return account ?? null; + }, + }, + }; +} +exports.setupAuthExtension = setupAuthExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js.map new file mode 100644 index 00000000..bfc8b528 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/auth/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/auth/queries.ts"],"names":[],"mappings":";;;AAAA,kEAAyE;AAGzE,mDAAyE;AAezE,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBACjC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,OAAO,OAAO,IAAI,IAAI,CAAC;YACzB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAdD,gDAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.d.ts new file mode 100644 index 00000000..480d56aa --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.d.ts @@ -0,0 +1,2 @@ +import { AminoConverters } from "../../aminotypes"; +export declare function createAuthzAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js new file mode 100644 index 00000000..5db0fdaf --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createAuthzAminoConverters = void 0; +function createAuthzAminoConverters() { + return { + // For Cosmos SDK < 0.46 the Amino JSON codec was broken on chain and thus inaccessible. + // Now this can be implemented for 0.46+ chains, see + // https://github.com/cosmos/cosmjs/issues/1092 + // + // "/cosmos.authz.v1beta1.MsgGrant": IMPLEMENT ME, + // "/cosmos.authz.v1beta1.MsgExec": IMPLEMENT ME, + // "/cosmos.authz.v1beta1.MsgRevoke": IMPLEMENT ME, + }; +} +exports.createAuthzAminoConverters = createAuthzAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js.map new file mode 100644 index 00000000..65bd1fab --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/authz/aminomessages.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B;IACxC,OAAO;IACL,wFAAwF;IACxF,oDAAoD;IACpD,+CAA+C;IAC/C,EAAE;IACF,kDAAkD;IAClD,iDAAiD;IACjD,mDAAmD;KACpD,CAAC;AACJ,CAAC;AAVD,gEAUC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.d.ts new file mode 100644 index 00000000..ba552aa5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.d.ts @@ -0,0 +1,2 @@ +import { GeneratedType } from "@cosmjs/proto-signing"; +export declare const authzTypes: ReadonlyArray<[string, GeneratedType]>; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js new file mode 100644 index 00000000..818031f6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.authzTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/authz/v1beta1/tx"); +exports.authzTypes = [ + ["/cosmos.authz.v1beta1.MsgExec", tx_1.MsgExec], + ["/cosmos.authz.v1beta1.MsgGrant", tx_1.MsgGrant], + ["/cosmos.authz.v1beta1.MsgRevoke", tx_1.MsgRevoke], +]; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js.map new file mode 100644 index 00000000..27d7e248 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/authz/messages.ts"],"names":[],"mappings":";;;AACA,6DAAoF;AAEvE,QAAA,UAAU,GAA2C;IAChE,CAAC,+BAA+B,EAAE,YAAO,CAAC;IAC1C,CAAC,gCAAgC,EAAE,aAAQ,CAAC;IAC5C,CAAC,iCAAiC,EAAE,cAAS,CAAC;CAC/C,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.d.ts new file mode 100644 index 00000000..354eba59 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.d.ts @@ -0,0 +1,10 @@ +import { QueryGranteeGrantsResponse, QueryGranterGrantsResponse, QueryGrantsResponse } from "cosmjs-types/cosmos/authz/v1beta1/query"; +import { QueryClient } from "../../queryclient"; +export interface AuthzExtension { + readonly authz: { + readonly grants: (granter: string, grantee: string, msgTypeUrl: string, paginationKey?: Uint8Array) => Promise; + readonly granteeGrants: (grantee: string, paginationKey?: Uint8Array) => Promise; + readonly granterGrants: (granter: string, paginationKey?: Uint8Array) => Promise; + }; +} +export declare function setupAuthzExtension(base: QueryClient): AuthzExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js new file mode 100644 index 00000000..8a8d787a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupAuthzExtension = void 0; +const query_1 = require("cosmjs-types/cosmos/authz/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupAuthzExtension(base) { + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + const queryService = new query_1.QueryClientImpl(rpc); + return { + authz: { + grants: async (granter, grantee, msgTypeUrl, paginationKey) => { + return await queryService.Grants({ + granter: granter, + grantee: grantee, + msgTypeUrl: msgTypeUrl, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + }, + granteeGrants: async (grantee, paginationKey) => { + return await queryService.GranteeGrants({ + grantee: grantee, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + }, + granterGrants: async (granter, paginationKey) => { + return await queryService.GranterGrants({ + granter: granter, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + }, + }, + }; +} +exports.setupAuthzExtension = setupAuthzExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js.map new file mode 100644 index 00000000..970dc3b1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/authz/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/authz/queries.ts"],"names":[],"mappings":";;;AAAA,mEAKiD;AAEjD,mDAA2F;AAqB3F,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,UAAkB,EAAE,aAA0B,EAAE,EAAE;gBACjG,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC/B,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,aAAa,EAAE,KAAK,EAAE,OAAe,EAAE,aAA0B,EAAE,EAAE;gBACnE,OAAO,MAAM,YAAY,CAAC,aAAa,CAAC;oBACtC,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,aAAa,EAAE,KAAK,EAAE,OAAe,EAAE,aAA0B,EAAE,EAAE;gBACnE,OAAO,MAAM,YAAY,CAAC,aAAa,CAAC;oBACtC,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AA9BD,kDA8BC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.d.ts new file mode 100644 index 00000000..1ee55b17 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.d.ts @@ -0,0 +1,35 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +/** A high level transaction of the coin module */ +export interface AminoMsgSend extends AminoMsg { + readonly type: "cosmos-sdk/MsgSend"; + readonly value: { + /** Bech32 account address */ + readonly from_address: string; + /** Bech32 account address */ + readonly to_address: string; + readonly amount: readonly Coin[]; + }; +} +export declare function isAminoMsgSend(msg: AminoMsg): msg is AminoMsgSend; +interface Input { + /** Bech32 account address */ + readonly address: string; + readonly coins: readonly Coin[]; +} +interface Output { + /** Bech32 account address */ + readonly address: string; + readonly coins: readonly Coin[]; +} +/** A high level transaction of the coin module */ +export interface AminoMsgMultiSend extends AminoMsg { + readonly type: "cosmos-sdk/MsgMultiSend"; + readonly value: { + readonly inputs: readonly Input[]; + readonly outputs: readonly Output[]; + }; +} +export declare function isAminoMsgMultiSend(msg: AminoMsg): msg is AminoMsgMultiSend; +export declare function createBankAminoConverters(): AminoConverters; +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js new file mode 100644 index 00000000..02e3499c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createBankAminoConverters = exports.isAminoMsgMultiSend = exports.isAminoMsgSend = void 0; +function isAminoMsgSend(msg) { + return msg.type === "cosmos-sdk/MsgSend"; +} +exports.isAminoMsgSend = isAminoMsgSend; +function isAminoMsgMultiSend(msg) { + return msg.type === "cosmos-sdk/MsgMultiSend"; +} +exports.isAminoMsgMultiSend = isAminoMsgMultiSend; +function createBankAminoConverters() { + return { + "/cosmos.bank.v1beta1.MsgSend": { + aminoType: "cosmos-sdk/MsgSend", + toAmino: ({ fromAddress, toAddress, amount }) => ({ + from_address: fromAddress, + to_address: toAddress, + amount: [...amount], + }), + fromAmino: ({ from_address, to_address, amount }) => ({ + fromAddress: from_address, + toAddress: to_address, + amount: [...amount], + }), + }, + "/cosmos.bank.v1beta1.MsgMultiSend": { + aminoType: "cosmos-sdk/MsgMultiSend", + toAmino: ({ inputs, outputs }) => ({ + inputs: inputs.map((input) => ({ + address: input.address, + coins: [...input.coins], + })), + outputs: outputs.map((output) => ({ + address: output.address, + coins: [...output.coins], + })), + }), + fromAmino: ({ inputs, outputs }) => ({ + inputs: inputs.map((input) => ({ + address: input.address, + coins: [...input.coins], + })), + outputs: outputs.map((output) => ({ + address: output.address, + coins: [...output.coins], + })), + }), + }, + }; +} +exports.createBankAminoConverters = createBankAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js.map new file mode 100644 index 00000000..ec366f4f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/bank/aminomessages.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,cAAc,CAAC,GAAa;IAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,oBAAoB,CAAC;AAC3C,CAAC;AAFD,wCAEC;AAuBD,SAAgB,mBAAmB,CAAC,GAAa;IAC/C,OAAO,GAAG,CAAC,IAAI,KAAK,yBAAyB,CAAC;AAChD,CAAC;AAFD,kDAEC;AAED,SAAgB,yBAAyB;IACvC,OAAO;QACL,8BAA8B,EAAE;YAC9B,SAAS,EAAE,oBAAoB;YAC/B,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAW,EAAyB,EAAE,CAAC,CAAC;gBAChF,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;aACpB,CAAC;YACF,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAyB,EAAW,EAAE,CAAC,CAAC;gBACpF,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;aACpB,CAAC;SACH;QACD,mCAAmC,EAAE;YACnC,SAAS,EAAE,yBAAyB;YACpC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAgB,EAA8B,EAAE,CAAC,CAAC;gBAC3E,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;iBACxB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAChC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;iBACzB,CAAC,CAAC;aACJ,CAAC;YACF,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAA8B,EAAgB,EAAE,CAAC,CAAC;gBAC7E,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;iBACxB,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAChC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;iBACzB,CAAC,CAAC;aACJ,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAvCD,8DAuCC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.d.ts new file mode 100644 index 00000000..a0d19c11 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.d.ts @@ -0,0 +1,8 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { MsgSend } from "cosmjs-types/cosmos/bank/v1beta1/tx"; +export declare const bankTypes: ReadonlyArray<[string, GeneratedType]>; +export interface MsgSendEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.bank.v1beta1.MsgSend"; + readonly value: Partial; +} +export declare function isMsgSendEncodeObject(encodeObject: EncodeObject): encodeObject is MsgSendEncodeObject; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js new file mode 100644 index 00000000..c9249182 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMsgSendEncodeObject = exports.bankTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/bank/v1beta1/tx"); +exports.bankTypes = [ + ["/cosmos.bank.v1beta1.MsgMultiSend", tx_1.MsgMultiSend], + ["/cosmos.bank.v1beta1.MsgSend", tx_1.MsgSend], +]; +function isMsgSendEncodeObject(encodeObject) { + return encodeObject.typeUrl === "/cosmos.bank.v1beta1.MsgSend"; +} +exports.isMsgSendEncodeObject = isMsgSendEncodeObject; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js.map new file mode 100644 index 00000000..7acc2cf3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/bank/messages.ts"],"names":[],"mappings":";;;AACA,4DAA4E;AAE/D,QAAA,SAAS,GAA2C;IAC/D,CAAC,mCAAmC,EAAE,iBAAY,CAAC;IACnD,CAAC,8BAA8B,EAAE,YAAO,CAAC;CAC1C,CAAC;AAOF,SAAgB,qBAAqB,CAAC,YAA0B;IAC9D,OAAQ,YAAoC,CAAC,OAAO,KAAK,8BAA8B,CAAC;AAC1F,CAAC;AAFD,sDAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.d.ts new file mode 100644 index 00000000..5caaa521 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.d.ts @@ -0,0 +1,15 @@ +import { Metadata } from "cosmjs-types/cosmos/bank/v1beta1/bank"; +import { QueryTotalSupplyResponse } from "cosmjs-types/cosmos/bank/v1beta1/query"; +import { Coin } from "cosmjs-types/cosmos/base/v1beta1/coin"; +import { QueryClient } from "../../queryclient"; +export interface BankExtension { + readonly bank: { + readonly balance: (address: string, denom: string) => Promise; + readonly allBalances: (address: string) => Promise; + readonly totalSupply: (paginationKey?: Uint8Array) => Promise; + readonly supplyOf: (denom: string) => Promise; + readonly denomMetadata: (denom: string) => Promise; + readonly denomsMetadata: () => Promise; + }; +} +export declare function setupBankExtension(base: QueryClient): BankExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js new file mode 100644 index 00000000..af6f8302 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js @@ -0,0 +1,50 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupBankExtension = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const utils_1 = require("@cosmjs/utils"); +const query_1 = require("cosmjs-types/cosmos/bank/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupBankExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const queryService = new query_1.QueryClientImpl(rpc); + return { + bank: { + balance: async (address, denom) => { + const { balance } = await queryService.Balance({ address: address, denom: denom }); + (0, utils_1.assert)(balance); + return balance; + }, + allBalances: async (address) => { + const { balances } = await queryService.AllBalances({ address: address }); + return balances; + }, + totalSupply: async (paginationKey) => { + const response = await queryService.TotalSupply({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + supplyOf: async (denom) => { + const { amount } = await queryService.SupplyOf({ denom: denom }); + (0, utils_1.assert)(amount); + return amount; + }, + denomMetadata: async (denom) => { + const { metadata } = await queryService.DenomMetadata({ denom }); + (0, utils_1.assert)(metadata); + return metadata; + }, + denomsMetadata: async () => { + const { metadatas } = await queryService.DenomsMetadata({ + pagination: undefined, // Not implemented + }); + return metadatas; + }, + }, + }; +} +exports.setupBankExtension = setupBankExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js.map new file mode 100644 index 00000000..044848c3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/bank/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/bank/queries.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,yCAAuC;AAEvC,kEAAmG;AAGnG,mDAA2F;AAa3F,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnF,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;gBAChB,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1E,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,aAA0B,EAAE,EAAE;gBAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;oBAC9C,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBAChC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC;gBACf,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,aAAa,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC;gBACjB,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC;oBACtD,UAAU,EAAE,SAAS,EAAE,kBAAkB;iBAC1C,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAzCD,gDAyCC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.d.ts new file mode 100644 index 00000000..e70d431c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.d.ts @@ -0,0 +1,14 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +/** Verifies a particular invariance */ +export interface AminoMsgVerifyInvariant extends AminoMsg { + readonly type: "cosmos-sdk/MsgVerifyInvariant"; + readonly value: { + /** Bech32 account address */ + readonly sender: string; + readonly invariant_module_name: string; + readonly invariant_route: string; + }; +} +export declare function isAminoMsgVerifyInvariant(msg: AminoMsg): msg is AminoMsgVerifyInvariant; +export declare function createCrysisAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js new file mode 100644 index 00000000..ed9cddc1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createCrysisAminoConverters = exports.isAminoMsgVerifyInvariant = void 0; +function isAminoMsgVerifyInvariant(msg) { + return msg.type === "cosmos-sdk/MsgVerifyInvariant"; +} +exports.isAminoMsgVerifyInvariant = isAminoMsgVerifyInvariant; +function createCrysisAminoConverters() { + throw new Error("Not implemented"); +} +exports.createCrysisAminoConverters = createCrysisAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js.map new file mode 100644 index 00000000..7ed4ae68 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/crisis/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/crisis/aminomessages.ts"],"names":[],"mappings":";;;AAkBA,SAAgB,yBAAyB,CAAC,GAAa;IACrD,OAAO,GAAG,CAAC,IAAI,KAAK,+BAA+B,CAAC;AACtD,CAAC;AAFD,8DAEC;AAED,SAAgB,2BAA2B;IACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAFD,kEAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.d.ts new file mode 100644 index 00000000..0e763bab --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.d.ts @@ -0,0 +1,44 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverter } from "../.."; +/** Changes the withdraw address for a delegator (or validator self-delegation) */ +export interface AminoMsgSetWithdrawAddress extends AminoMsg { + readonly type: "cosmos-sdk/MsgModifyWithdrawAddress"; + readonly value: { + /** Bech32 account address */ + readonly delegator_address: string; + /** Bech32 account address */ + readonly withdraw_address: string; + }; +} +export declare function isAminoMsgSetWithdrawAddress(msg: AminoMsg): msg is AminoMsgSetWithdrawAddress; +/** Message for delegation withdraw from a single validator */ +export interface AminoMsgWithdrawDelegatorReward extends AminoMsg { + readonly type: "cosmos-sdk/MsgWithdrawDelegationReward"; + readonly value: { + /** Bech32 account address */ + readonly delegator_address: string; + /** Bech32 account address */ + readonly validator_address: string; + }; +} +export declare function isAminoMsgWithdrawDelegatorReward(msg: AminoMsg): msg is AminoMsgWithdrawDelegatorReward; +/** Message for validator withdraw */ +export interface AminoMsgWithdrawValidatorCommission extends AminoMsg { + readonly type: "cosmos-sdk/MsgWithdrawValidatorCommission"; + readonly value: { + /** Bech32 account address */ + readonly validator_address: string; + }; +} +export declare function isAminoMsgWithdrawValidatorCommission(msg: AminoMsg): msg is AminoMsgWithdrawValidatorCommission; +/** Allows an account to directly fund the community pool. */ +export interface AminoMsgFundCommunityPool extends AminoMsg { + readonly type: "cosmos-sdk/MsgFundCommunityPool"; + readonly value: { + readonly amount: readonly Coin[]; + /** Bech32 account address */ + readonly depositor: string; + }; +} +export declare function isAminoMsgFundCommunityPool(msg: AminoMsg): msg is AminoMsgFundCommunityPool; +export declare function createDistributionAminoConverters(): Record; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js new file mode 100644 index 00000000..3e839e24 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js @@ -0,0 +1,69 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createDistributionAminoConverters = exports.isAminoMsgFundCommunityPool = exports.isAminoMsgWithdrawValidatorCommission = exports.isAminoMsgWithdrawDelegatorReward = exports.isAminoMsgSetWithdrawAddress = void 0; +function isAminoMsgSetWithdrawAddress(msg) { + // NOTE: Type string and names diverge here! + return msg.type === "cosmos-sdk/MsgModifyWithdrawAddress"; +} +exports.isAminoMsgSetWithdrawAddress = isAminoMsgSetWithdrawAddress; +function isAminoMsgWithdrawDelegatorReward(msg) { + // NOTE: Type string and names diverge here! + return msg.type === "cosmos-sdk/MsgWithdrawDelegationReward"; +} +exports.isAminoMsgWithdrawDelegatorReward = isAminoMsgWithdrawDelegatorReward; +function isAminoMsgWithdrawValidatorCommission(msg) { + return msg.type === "cosmos-sdk/MsgWithdrawValidatorCommission"; +} +exports.isAminoMsgWithdrawValidatorCommission = isAminoMsgWithdrawValidatorCommission; +function isAminoMsgFundCommunityPool(msg) { + return msg.type === "cosmos-sdk/MsgFundCommunityPool"; +} +exports.isAminoMsgFundCommunityPool = isAminoMsgFundCommunityPool; +function createDistributionAminoConverters() { + return { + "/cosmos.distribution.v1beta1.MsgFundCommunityPool": { + aminoType: "cosmos-sdk/MsgFundCommunityPool", + toAmino: ({ amount, depositor }) => ({ + amount: [...amount], + depositor: depositor, + }), + fromAmino: ({ amount, depositor }) => ({ + amount: [...amount], + depositor: depositor, + }), + }, + "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress": { + aminoType: "cosmos-sdk/MsgModifyWithdrawAddress", + toAmino: ({ delegatorAddress, withdrawAddress, }) => ({ + delegator_address: delegatorAddress, + withdraw_address: withdrawAddress, + }), + fromAmino: ({ delegator_address, withdraw_address, }) => ({ + delegatorAddress: delegator_address, + withdrawAddress: withdraw_address, + }), + }, + "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward": { + aminoType: "cosmos-sdk/MsgWithdrawDelegationReward", + toAmino: ({ delegatorAddress, validatorAddress, }) => ({ + delegator_address: delegatorAddress, + validator_address: validatorAddress, + }), + fromAmino: ({ delegator_address, validator_address, }) => ({ + delegatorAddress: delegator_address, + validatorAddress: validator_address, + }), + }, + "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission": { + aminoType: "cosmos-sdk/MsgWithdrawValidatorCommission", + toAmino: ({ validatorAddress, }) => ({ + validator_address: validatorAddress, + }), + fromAmino: ({ validator_address, }) => ({ + validatorAddress: validator_address, + }), + }, + }; +} +exports.createDistributionAminoConverters = createDistributionAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js.map new file mode 100644 index 00000000..b370a384 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/distribution/aminomessages.ts"],"names":[],"mappings":";;;AAuBA,SAAgB,4BAA4B,CAAC,GAAa;IACxD,4CAA4C;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,qCAAqC,CAAC;AAC5D,CAAC;AAHD,oEAGC;AAcD,SAAgB,iCAAiC,CAAC,GAAa;IAC7D,4CAA4C;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,wCAAwC,CAAC;AAC/D,CAAC;AAHD,8EAGC;AAWD,SAAgB,qCAAqC,CACnD,GAAa;IAEb,OAAO,GAAG,CAAC,IAAI,KAAK,2CAA2C,CAAC;AAClE,CAAC;AAJD,sFAIC;AAYD,SAAgB,2BAA2B,CAAC,GAAa;IACvD,OAAO,GAAG,CAAC,IAAI,KAAK,iCAAiC,CAAC;AACxD,CAAC;AAFD,kEAEC;AAED,SAAgB,iCAAiC;IAC/C,OAAO;QACL,mDAAmD,EAAE;YACnD,SAAS,EAAE,iCAAiC;YAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAwB,EAAsC,EAAE,CAAC,CAAC;gBAC7F,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;gBACnB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAsC,EAAwB,EAAE,CAAC,CAAC;gBAC/F,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;gBACnB,SAAS,EAAE,SAAS;aACrB,CAAC;SACH;QACD,oDAAoD,EAAE;YACpD,SAAS,EAAE,qCAAqC;YAChD,OAAO,EAAE,CAAC,EACR,gBAAgB,EAChB,eAAe,GACO,EAAuC,EAAE,CAAC,CAAC;gBACjE,iBAAiB,EAAE,gBAAgB;gBACnC,gBAAgB,EAAE,eAAe;aAClC,CAAC;YACF,SAAS,EAAE,CAAC,EACV,iBAAiB,EACjB,gBAAgB,GACoB,EAAyB,EAAE,CAAC,CAAC;gBACjE,gBAAgB,EAAE,iBAAiB;gBACnC,eAAe,EAAE,gBAAgB;aAClC,CAAC;SACH;QACD,yDAAyD,EAAE;YACzD,SAAS,EAAE,wCAAwC;YACnD,OAAO,EAAE,CAAC,EACR,gBAAgB,EAChB,gBAAgB,GACW,EAA4C,EAAE,CAAC,CAAC;gBAC3E,iBAAiB,EAAE,gBAAgB;gBACnC,iBAAiB,EAAE,gBAAgB;aACpC,CAAC;YACF,SAAS,EAAE,CAAC,EACV,iBAAiB,EACjB,iBAAiB,GACwB,EAA8B,EAAE,CAAC,CAAC;gBAC3E,gBAAgB,EAAE,iBAAiB;gBACnC,gBAAgB,EAAE,iBAAiB;aACpC,CAAC;SACH;QACD,6DAA6D,EAAE;YAC7D,SAAS,EAAE,2CAA2C;YACtD,OAAO,EAAE,CAAC,EACR,gBAAgB,GACe,EAAgD,EAAE,CAAC,CAAC;gBACnF,iBAAiB,EAAE,gBAAgB;aACpC,CAAC;YACF,SAAS,EAAE,CAAC,EACV,iBAAiB,GAC4B,EAAkC,EAAE,CAAC,CAAC;gBACnF,gBAAgB,EAAE,iBAAiB;aACpC,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AA7DD,8EA6DC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.d.ts new file mode 100644 index 00000000..6f75f0fd --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.d.ts @@ -0,0 +1,8 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { MsgWithdrawDelegatorReward } from "cosmjs-types/cosmos/distribution/v1beta1/tx"; +export declare const distributionTypes: ReadonlyArray<[string, GeneratedType]>; +export interface MsgWithdrawDelegatorRewardEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"; + readonly value: Partial; +} +export declare function isMsgWithdrawDelegatorRewardEncodeObject(object: EncodeObject): object is MsgWithdrawDelegatorRewardEncodeObject; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js new file mode 100644 index 00000000..d0866ad5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMsgWithdrawDelegatorRewardEncodeObject = exports.distributionTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/distribution/v1beta1/tx"); +exports.distributionTypes = [ + ["/cosmos.distribution.v1beta1.MsgFundCommunityPool", tx_1.MsgFundCommunityPool], + ["/cosmos.distribution.v1beta1.MsgSetWithdrawAddress", tx_1.MsgSetWithdrawAddress], + ["/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward", tx_1.MsgWithdrawDelegatorReward], + ["/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission", tx_1.MsgWithdrawValidatorCommission], +]; +function isMsgWithdrawDelegatorRewardEncodeObject(object) { + return (object.typeUrl === + "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"); +} +exports.isMsgWithdrawDelegatorRewardEncodeObject = isMsgWithdrawDelegatorRewardEncodeObject; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js.map new file mode 100644 index 00000000..3e1500d4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/distribution/messages.ts"],"names":[],"mappings":";;;AACA,oEAKqD;AAExC,QAAA,iBAAiB,GAA2C;IACvE,CAAC,mDAAmD,EAAE,yBAAoB,CAAC;IAC3E,CAAC,oDAAoD,EAAE,0BAAqB,CAAC;IAC7E,CAAC,yDAAyD,EAAE,+BAA0B,CAAC;IACvF,CAAC,6DAA6D,EAAE,mCAA8B,CAAC;CAChG,CAAC;AAOF,SAAgB,wCAAwC,CACtD,MAAoB;IAEpB,OAAO,CACJ,MAAiD,CAAC,OAAO;QAC1D,yDAAyD,CAC1D,CAAC;AACJ,CAAC;AAPD,4FAOC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.d.ts new file mode 100644 index 00000000..66111484 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.d.ts @@ -0,0 +1,16 @@ +import { QueryCommunityPoolResponse, QueryDelegationRewardsResponse, QueryDelegationTotalRewardsResponse, QueryDelegatorValidatorsResponse, QueryDelegatorWithdrawAddressResponse, QueryParamsResponse, QueryValidatorCommissionResponse, QueryValidatorOutstandingRewardsResponse, QueryValidatorSlashesResponse } from "cosmjs-types/cosmos/distribution/v1beta1/query"; +import { QueryClient } from "../../queryclient"; +export interface DistributionExtension { + readonly distribution: { + communityPool: () => Promise; + delegationRewards: (delegatorAddress: string, validatorAddress: string) => Promise; + delegationTotalRewards: (delegatorAddress: string) => Promise; + delegatorValidators: (delegatorAddress: string) => Promise; + delegatorWithdrawAddress: (delegatorAddress: string) => Promise; + params: () => Promise; + validatorCommission: (validatorAddress: string) => Promise; + validatorOutstandingRewards: (validatorAddress: string) => Promise; + validatorSlashes: (validatorAddress: string, startingHeight: number, endingHeight: number, paginationKey?: Uint8Array) => Promise; + }; +} +export declare function setupDistributionExtension(base: QueryClient): DistributionExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js new file mode 100644 index 00000000..fa10e207 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js @@ -0,0 +1,76 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupDistributionExtension = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const query_1 = require("cosmjs-types/cosmos/distribution/v1beta1/query"); +const long_1 = __importDefault(require("long")); +const queryclient_1 = require("../../queryclient"); +function setupDistributionExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const queryService = new query_1.QueryClientImpl(rpc); + return { + distribution: { + communityPool: async () => { + const response = await queryService.CommunityPool({}); + return response; + }, + delegationRewards: async (delegatorAddress, validatorAddress) => { + const response = await queryService.DelegationRewards({ + delegatorAddress: delegatorAddress, + validatorAddress: validatorAddress, + }); + return response; + }, + delegationTotalRewards: async (delegatorAddress) => { + const response = await queryService.DelegationTotalRewards({ + delegatorAddress: delegatorAddress, + }); + return response; + }, + delegatorValidators: async (delegatorAddress) => { + const response = await queryService.DelegatorValidators({ + delegatorAddress: delegatorAddress, + }); + return response; + }, + delegatorWithdrawAddress: async (delegatorAddress) => { + const response = await queryService.DelegatorWithdrawAddress({ + delegatorAddress: delegatorAddress, + }); + return response; + }, + params: async () => { + const response = await queryService.Params({}); + return response; + }, + validatorCommission: async (validatorAddress) => { + const response = await queryService.ValidatorCommission({ + validatorAddress: validatorAddress, + }); + return response; + }, + validatorOutstandingRewards: async (validatorAddress) => { + const response = await queryService.ValidatorOutstandingRewards({ + validatorAddress: validatorAddress, + }); + return response; + }, + validatorSlashes: async (validatorAddress, startingHeight, endingHeight, paginationKey) => { + const response = await queryService.ValidatorSlashes({ + validatorAddress: validatorAddress, + startingHeight: long_1.default.fromNumber(startingHeight, true), + endingHeight: long_1.default.fromNumber(endingHeight, true), + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + }, + }; +} +exports.setupDistributionExtension = setupDistributionExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js.map new file mode 100644 index 00000000..2d1c1bf5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/distribution/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/distribution/queries.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAyD;AACzD,0EAWwD;AACxD,gDAAwB;AAExB,mDAA2F;AA0B3F,SAAgB,0BAA0B,CAAC,IAAiB;IAC1D,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,YAAY,EAAE;YACZ,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACtD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,iBAAiB,EAAE,KAAK,EAAE,gBAAwB,EAAE,gBAAwB,EAAE,EAAE;gBAC9E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC;oBACpD,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,sBAAsB,EAAE,KAAK,EAAE,gBAAwB,EAAE,EAAE;gBACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC;oBACzD,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,mBAAmB,EAAE,KAAK,EAAE,gBAAwB,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC;oBACtD,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,wBAAwB,EAAE,KAAK,EAAE,gBAAwB,EAAE,EAAE;gBAC3D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,wBAAwB,CAAC;oBAC3D,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,mBAAmB,EAAE,KAAK,EAAE,gBAAwB,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC;oBACtD,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,2BAA2B,EAAE,KAAK,EAAE,gBAAwB,EAAE,EAAE;gBAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,2BAA2B,CAAC;oBAC9D,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,gBAAgB,EAAE,KAAK,EACrB,gBAAwB,EACxB,cAAsB,EACtB,YAAoB,EACpB,aAA0B,EAC1B,EAAE;gBACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC;oBACnD,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAI,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC;oBACrD,YAAY,EAAE,cAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC;oBACjD,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AArED,gEAqEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.d.ts new file mode 100644 index 00000000..b8b85976 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.d.ts @@ -0,0 +1,18 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +interface Any { + readonly type_url: string; + readonly value: Uint8Array; +} +/** Supports submitting arbitrary evidence */ +export interface AminoMsgSubmitEvidence extends AminoMsg { + readonly type: "cosmos-sdk/MsgSubmitEvidence"; + readonly value: { + /** Bech32 account address */ + readonly submitter: string; + readonly evidence: Any; + }; +} +export declare function isAminoMsgSubmitEvidence(msg: AminoMsg): msg is AminoMsgSubmitEvidence; +export declare function createEvidenceAminoConverters(): AminoConverters; +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js new file mode 100644 index 00000000..9795f596 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createEvidenceAminoConverters = exports.isAminoMsgSubmitEvidence = void 0; +function isAminoMsgSubmitEvidence(msg) { + return msg.type === "cosmos-sdk/MsgSubmitEvidence"; +} +exports.isAminoMsgSubmitEvidence = isAminoMsgSubmitEvidence; +function createEvidenceAminoConverters() { + throw new Error("Not implemented"); +} +exports.createEvidenceAminoConverters = createEvidenceAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js.map new file mode 100644 index 00000000..a9a43897 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/evidence/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/evidence/aminomessages.ts"],"names":[],"mappings":";;;AAsBA,SAAgB,wBAAwB,CAAC,GAAa;IACpD,OAAO,GAAG,CAAC,IAAI,KAAK,8BAA8B,CAAC;AACrD,CAAC;AAFD,4DAEC;AAED,SAAgB,6BAA6B;IAC3C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAFD,sEAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.d.ts new file mode 100644 index 00000000..577ae959 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.d.ts @@ -0,0 +1,2 @@ +import { AminoConverters } from "../../aminotypes"; +export declare function createFeegrantAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js new file mode 100644 index 00000000..a2207015 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createFeegrantAminoConverters = void 0; +function createFeegrantAminoConverters() { + return { + // For Cosmos SDK < 0.46 the Amino JSON codec was broken on chain and thus inaccessible. + // Now this can be implemented for 0.46+ chains, see + // https://github.com/cosmos/cosmjs/issues/1092 + // + // "/cosmos.feegrant.v1beta1.MsgGrantAllowance": IMPLEMENT_ME, + // "/cosmos.feegrant.v1beta1.MsgRevokeAllowance": IMPLEMENT_ME, + }; +} +exports.createFeegrantAminoConverters = createFeegrantAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js.map new file mode 100644 index 00000000..ae023ab2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/feegrant/aminomessages.ts"],"names":[],"mappings":";;;AAEA,SAAgB,6BAA6B;IAC3C,OAAO;IACL,wFAAwF;IACxF,oDAAoD;IACpD,+CAA+C;IAC/C,EAAE;IACF,8DAA8D;IAC9D,+DAA+D;KAChE,CAAC;AACJ,CAAC;AATD,sEASC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.d.ts new file mode 100644 index 00000000..86c8e773 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.d.ts @@ -0,0 +1,2 @@ +import { GeneratedType } from "@cosmjs/proto-signing"; +export declare const feegrantTypes: ReadonlyArray<[string, GeneratedType]>; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js new file mode 100644 index 00000000..4736dc04 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.feegrantTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/feegrant/v1beta1/tx"); +exports.feegrantTypes = [ + ["/cosmos.feegrant.v1beta1.MsgGrantAllowance", tx_1.MsgGrantAllowance], + ["/cosmos.feegrant.v1beta1.MsgRevokeAllowance", tx_1.MsgRevokeAllowance], +]; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js.map new file mode 100644 index 00000000..1eeb3851 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/feegrant/messages.ts"],"names":[],"mappings":";;;AACA,gEAAgG;AAEnF,QAAA,aAAa,GAA2C;IACnE,CAAC,4CAA4C,EAAE,sBAAiB,CAAC;IACjE,CAAC,6CAA6C,EAAE,uBAAkB,CAAC;CACpE,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.d.ts new file mode 100644 index 00000000..feb2994b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.d.ts @@ -0,0 +1,9 @@ +import { QueryAllowanceResponse, QueryAllowancesResponse } from "cosmjs-types/cosmos/feegrant/v1beta1/query"; +import { QueryClient } from "../../queryclient"; +export interface FeegrantExtension { + readonly feegrant: { + readonly allowance: (granter: string, grantee: string) => Promise; + readonly allowances: (grantee: string, paginationKey?: Uint8Array) => Promise; + }; +} +export declare function setupFeegrantExtension(base: QueryClient): FeegrantExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js new file mode 100644 index 00000000..a6664484 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupFeegrantExtension = void 0; +const query_1 = require("cosmjs-types/cosmos/feegrant/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupFeegrantExtension(base) { + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + const queryService = new query_1.QueryClientImpl(rpc); + return { + feegrant: { + allowance: async (granter, grantee) => { + const response = await queryService.Allowance({ + granter: granter, + grantee: grantee, + }); + return response; + }, + allowances: async (grantee, paginationKey) => { + const response = await queryService.Allowances({ + grantee: grantee, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + }, + }; +} +exports.setupFeegrantExtension = setupFeegrantExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js.map new file mode 100644 index 00000000..e0aac038 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/feegrant/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/feegrant/queries.ts"],"names":[],"mappings":";;;AAAA,sEAIoD;AAEpD,mDAA2F;AAS3F,SAAgB,sBAAsB,CAAC,IAAiB;IACtD,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,QAAQ,EAAE;YACR,SAAS,EAAE,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;gBACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;oBAC5C,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAe,EAAE,aAA0B,EAAE,EAAE;gBAChE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC;oBAC7C,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAxBD,wDAwBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.d.ts new file mode 100644 index 00000000..285b688a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.d.ts @@ -0,0 +1,79 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +/** Supports submitting arbitrary proposal content. */ +export interface AminoMsgSubmitProposal extends AminoMsg { + readonly type: "cosmos-sdk/MsgSubmitProposal"; + readonly value: { + /** + * A proposal structure, e.g. + * + * ``` + * { + * type: 'cosmos-sdk/TextProposal', + * value: { + * description: 'This proposal proposes to test whether this proposal passes', + * title: 'Test Proposal' + * } + * } + * ``` + */ + readonly content: { + readonly type: string; + readonly value: any; + }; + readonly initial_deposit: readonly Coin[]; + /** Bech32 account address */ + readonly proposer: string; + }; +} +export declare function isAminoMsgSubmitProposal(msg: AminoMsg): msg is AminoMsgSubmitProposal; +/** Casts a vote */ +export interface AminoMsgVote extends AminoMsg { + readonly type: "cosmos-sdk/MsgVote"; + readonly value: { + readonly proposal_id: string; + /** Bech32 account address */ + readonly voter: string; + /** + * VoteOption as integer from 0 to 4 🤷‍ + * + * @see https://github.com/cosmos/cosmos-sdk/blob/v0.42.9/x/gov/types/gov.pb.go#L38-L49 + */ + readonly option: number; + }; +} +export declare function isAminoMsgVote(msg: AminoMsg): msg is AminoMsgVote; +/** + * @see https://github.com/cosmos/cosmos-sdk/blob/v0.44.5/x/gov/types/tx.pb.go#L196-L203 + * @see https://github.com/cosmos/cosmos-sdk/blob/v0.44.5/x/gov/types/gov.pb.go#L124-L130 + */ +export interface AminoMsgVoteWeighted extends AminoMsg { + readonly type: "cosmos-sdk/MsgVoteWeighted"; + readonly value: { + readonly proposal_id: string; + /** Bech32 account address */ + readonly voter: string; + readonly options: Array<{ + /** + * VoteOption as integer from 0 to 4 🤷‍ + * + * @see https://github.com/cosmos/cosmos-sdk/blob/v0.44.5/x/gov/types/gov.pb.go#L35-L49 + */ + readonly option: number; + readonly weight: string; + }>; + }; +} +export declare function isAminoMsgVoteWeighted(msg: AminoMsg): msg is AminoMsgVoteWeighted; +/** Submits a deposit to an existing proposal */ +export interface AminoMsgDeposit extends AminoMsg { + readonly type: "cosmos-sdk/MsgDeposit"; + readonly value: { + readonly proposal_id: string; + /** Bech32 account address */ + readonly depositor: string; + readonly amount: readonly Coin[]; + }; +} +export declare function isAminoMsgDeposit(msg: AminoMsg): msg is AminoMsgDeposit; +export declare function createGovAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js new file mode 100644 index 00000000..a4701a5f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js @@ -0,0 +1,149 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createGovAminoConverters = exports.isAminoMsgDeposit = exports.isAminoMsgVoteWeighted = exports.isAminoMsgVote = exports.isAminoMsgSubmitProposal = void 0; +const math_1 = require("@cosmjs/math"); +const utils_1 = require("@cosmjs/utils"); +const gov_1 = require("cosmjs-types/cosmos/gov/v1beta1/gov"); +const any_1 = require("cosmjs-types/google/protobuf/any"); +const long_1 = __importDefault(require("long")); +const queryclient_1 = require("../../queryclient"); +function isAminoMsgSubmitProposal(msg) { + return msg.type === "cosmos-sdk/MsgSubmitProposal"; +} +exports.isAminoMsgSubmitProposal = isAminoMsgSubmitProposal; +function isAminoMsgVote(msg) { + return msg.type === "cosmos-sdk/MsgVote"; +} +exports.isAminoMsgVote = isAminoMsgVote; +function isAminoMsgVoteWeighted(msg) { + return msg.type === "cosmos-sdk/MsgVoteWeighted"; +} +exports.isAminoMsgVoteWeighted = isAminoMsgVoteWeighted; +function isAminoMsgDeposit(msg) { + return msg.type === "cosmos-sdk/MsgDeposit"; +} +exports.isAminoMsgDeposit = isAminoMsgDeposit; +function createGovAminoConverters() { + // Gov v1 types missing, see + // https://github.com/cosmos/cosmjs/issues/1442 + return { + "/cosmos.gov.v1beta1.MsgDeposit": { + aminoType: "cosmos-sdk/MsgDeposit", + toAmino: ({ amount, depositor, proposalId }) => { + return { + amount, + depositor, + proposal_id: proposalId.toString(), + }; + }, + fromAmino: ({ amount, depositor, proposal_id }) => { + return { + amount: Array.from(amount), + depositor, + proposalId: long_1.default.fromString(proposal_id), + }; + }, + }, + "/cosmos.gov.v1beta1.MsgVote": { + aminoType: "cosmos-sdk/MsgVote", + toAmino: ({ option, proposalId, voter }) => { + return { + option: option, + proposal_id: proposalId.toString(), + voter: voter, + }; + }, + fromAmino: ({ option, proposal_id, voter }) => { + return { + option: (0, gov_1.voteOptionFromJSON)(option), + proposalId: long_1.default.fromString(proposal_id), + voter: voter, + }; + }, + }, + "/cosmos.gov.v1beta1.MsgVoteWeighted": { + aminoType: "cosmos-sdk/MsgVoteWeighted", + toAmino: ({ options, proposalId, voter }) => { + return { + options: options.map((o) => ({ + option: o.option, + // Weight is between 0 and 1, so we always have 20 characters when printing all trailing + // zeros (e.g. "0.700000000000000000" or "1.000000000000000000") + weight: (0, queryclient_1.decodeCosmosSdkDecFromProto)(o.weight).toString().padEnd(20, "0"), + })), + proposal_id: proposalId.toString(), + voter: voter, + }; + }, + fromAmino: ({ options, proposal_id, voter }) => { + return { + proposalId: long_1.default.fromString(proposal_id), + voter: voter, + options: options.map((o) => ({ + option: (0, gov_1.voteOptionFromJSON)(o.option), + weight: math_1.Decimal.fromUserInput(o.weight, 18).atomics, + })), + }; + }, + }, + "/cosmos.gov.v1beta1.MsgSubmitProposal": { + aminoType: "cosmos-sdk/MsgSubmitProposal", + toAmino: ({ initialDeposit, proposer, content, }) => { + (0, utils_1.assertDefinedAndNotNull)(content); + let proposal; + switch (content.typeUrl) { + case "/cosmos.gov.v1beta1.TextProposal": { + const textProposal = gov_1.TextProposal.decode(content.value); + proposal = { + type: "cosmos-sdk/TextProposal", + value: { + description: textProposal.description, + title: textProposal.title, + }, + }; + break; + } + default: + throw new Error(`Unsupported proposal type: '${content.typeUrl}'`); + } + return { + initial_deposit: initialDeposit, + proposer: proposer, + content: proposal, + }; + }, + fromAmino: ({ initial_deposit, proposer, content, }) => { + let any_content; + switch (content.type) { + case "cosmos-sdk/TextProposal": { + const { value } = content; + (0, utils_1.assert)((0, utils_1.isNonNullObject)(value)); + const { title, description } = value; + (0, utils_1.assert)(typeof title === "string"); + (0, utils_1.assert)(typeof description === "string"); + any_content = any_1.Any.fromPartial({ + typeUrl: "/cosmos.gov.v1beta1.TextProposal", + value: gov_1.TextProposal.encode(gov_1.TextProposal.fromPartial({ + title: title, + description: description, + })).finish(), + }); + break; + } + default: + throw new Error(`Unsupported proposal type: '${content.type}'`); + } + return { + initialDeposit: Array.from(initial_deposit), + proposer: proposer, + content: any_content, + }; + }, + }, + }; +} +exports.createGovAminoConverters = createGovAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js.map new file mode 100644 index 00000000..a8831676 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/gov/aminomessages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.d.ts new file mode 100644 index 00000000..1df985de --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.d.ts @@ -0,0 +1,23 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { MsgDeposit, MsgSubmitProposal, MsgVote, MsgVoteWeighted } from "cosmjs-types/cosmos/gov/v1beta1/tx"; +export declare const govTypes: ReadonlyArray<[string, GeneratedType]>; +export interface MsgDepositEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.gov.v1beta1.MsgDeposit"; + readonly value: Partial; +} +export declare function isMsgDepositEncodeObject(object: EncodeObject): object is MsgSubmitProposalEncodeObject; +export interface MsgSubmitProposalEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.gov.v1beta1.MsgSubmitProposal"; + readonly value: Partial; +} +export declare function isMsgSubmitProposalEncodeObject(object: EncodeObject): object is MsgSubmitProposalEncodeObject; +export interface MsgVoteEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.gov.v1beta1.MsgVote"; + readonly value: Partial; +} +export declare function isMsgVoteEncodeObject(object: EncodeObject): object is MsgVoteEncodeObject; +export interface MsgVoteWeightedEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.gov.v1beta1.MsgVoteWeighted"; + readonly value: Partial; +} +export declare function isMsgVoteWeightedEncodeObject(object: EncodeObject): object is MsgVoteWeightedEncodeObject; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js new file mode 100644 index 00000000..546f1d0e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMsgVoteWeightedEncodeObject = exports.isMsgVoteEncodeObject = exports.isMsgSubmitProposalEncodeObject = exports.isMsgDepositEncodeObject = exports.govTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/gov/v1/tx"); +const tx_2 = require("cosmjs-types/cosmos/gov/v1beta1/tx"); +exports.govTypes = [ + ["/cosmos.gov.v1.MsgDeposit", tx_1.MsgDeposit], + ["/cosmos.gov.v1.MsgSubmitProposal", tx_1.MsgSubmitProposal], + ["/cosmos.gov.v1.MsgUpdateParams", tx_1.MsgUpdateParams], + ["/cosmos.gov.v1.MsgVote", tx_1.MsgVote], + ["/cosmos.gov.v1.MsgVoteWeighted", tx_1.MsgVoteWeighted], + ["/cosmos.gov.v1beta1.MsgDeposit", tx_2.MsgDeposit], + ["/cosmos.gov.v1beta1.MsgSubmitProposal", tx_2.MsgSubmitProposal], + ["/cosmos.gov.v1beta1.MsgVote", tx_2.MsgVote], + ["/cosmos.gov.v1beta1.MsgVoteWeighted", tx_2.MsgVoteWeighted], +]; +function isMsgDepositEncodeObject(object) { + return object.typeUrl === "/cosmos.gov.v1beta1.MsgDeposit"; +} +exports.isMsgDepositEncodeObject = isMsgDepositEncodeObject; +function isMsgSubmitProposalEncodeObject(object) { + return object.typeUrl === "/cosmos.gov.v1beta1.MsgSubmitProposal"; +} +exports.isMsgSubmitProposalEncodeObject = isMsgSubmitProposalEncodeObject; +function isMsgVoteEncodeObject(object) { + return object.typeUrl === "/cosmos.gov.v1beta1.MsgVote"; +} +exports.isMsgVoteEncodeObject = isMsgVoteEncodeObject; +function isMsgVoteWeightedEncodeObject(object) { + return object.typeUrl === "/cosmos.gov.v1beta1.MsgVoteWeighted"; +} +exports.isMsgVoteWeightedEncodeObject = isMsgVoteWeightedEncodeObject; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js.map new file mode 100644 index 00000000..efe9c93c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/gov/messages.ts"],"names":[],"mappings":";;;AACA,sDAMuC;AACvC,2DAA6G;AAEhG,QAAA,QAAQ,GAA2C;IAC9D,CAAC,2BAA2B,EAAE,eAAY,CAAC;IAC3C,CAAC,kCAAkC,EAAE,sBAAmB,CAAC;IACzD,CAAC,gCAAgC,EAAE,oBAAiB,CAAC;IACrD,CAAC,wBAAwB,EAAE,YAAS,CAAC;IACrC,CAAC,gCAAgC,EAAE,oBAAiB,CAAC;IAErD,CAAC,gCAAgC,EAAE,eAAU,CAAC;IAC9C,CAAC,uCAAuC,EAAE,sBAAiB,CAAC;IAC5D,CAAC,6BAA6B,EAAE,YAAO,CAAC;IACxC,CAAC,qCAAqC,EAAE,oBAAe,CAAC;CACzD,CAAC;AAgBF,SAAgB,wBAAwB,CAAC,MAAoB;IAC3D,OAAQ,MAAiC,CAAC,OAAO,KAAK,gCAAgC,CAAC;AACzF,CAAC;AAFD,4DAEC;AAOD,SAAgB,+BAA+B,CAC7C,MAAoB;IAEpB,OAAQ,MAAwC,CAAC,OAAO,KAAK,uCAAuC,CAAC;AACvG,CAAC;AAJD,0EAIC;AAOD,SAAgB,qBAAqB,CAAC,MAAoB;IACxD,OAAQ,MAA8B,CAAC,OAAO,KAAK,6BAA6B,CAAC;AACnF,CAAC;AAFD,sDAEC;AAOD,SAAgB,6BAA6B,CAAC,MAAoB;IAChE,OAAQ,MAAsC,CAAC,OAAO,KAAK,qCAAqC,CAAC;AACnG,CAAC;AAFD,sEAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.d.ts new file mode 100644 index 00000000..98a8f149 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.d.ts @@ -0,0 +1,20 @@ +import { Uint64 } from "@cosmjs/math"; +import { ProposalStatus } from "cosmjs-types/cosmos/gov/v1beta1/gov"; +import { QueryDepositResponse, QueryDepositsResponse, QueryParamsResponse, QueryProposalResponse, QueryProposalsResponse, QueryTallyResultResponse, QueryVoteResponse, QueryVotesResponse } from "cosmjs-types/cosmos/gov/v1beta1/query"; +import Long from "long"; +import { QueryClient } from "../../queryclient"; +export type GovParamsType = "deposit" | "tallying" | "voting"; +export type GovProposalId = string | number | Long | Uint64; +export interface GovExtension { + readonly gov: { + readonly params: (parametersType: GovParamsType) => Promise; + readonly proposals: (proposalStatus: ProposalStatus, depositor: string, voter: string, paginationKey?: Uint8Array) => Promise; + readonly proposal: (proposalId: GovProposalId) => Promise; + readonly deposits: (proposalId: GovProposalId, paginationKey?: Uint8Array) => Promise; + readonly deposit: (proposalId: GovProposalId, depositorAddress: string) => Promise; + readonly tally: (proposalId: GovProposalId) => Promise; + readonly votes: (proposalId: GovProposalId, paginationKey?: Uint8Array) => Promise; + readonly vote: (proposalId: GovProposalId, voterAddress: string) => Promise; + }; +} +export declare function setupGovExtension(base: QueryClient): GovExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js new file mode 100644 index 00000000..7368eb37 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js @@ -0,0 +1,68 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupGovExtension = void 0; +const query_1 = require("cosmjs-types/cosmos/gov/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupGovExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const queryService = new query_1.QueryClientImpl(rpc); + return { + gov: { + params: async (parametersType) => { + const response = await queryService.Params({ paramsType: parametersType }); + return response; + }, + proposals: async (proposalStatus, depositorAddress, voterAddress, paginationKey) => { + const response = await queryService.Proposals({ + proposalStatus, + depositor: depositorAddress, + voter: voterAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + proposal: async (proposalId) => { + const response = await queryService.Proposal({ proposalId: (0, queryclient_1.longify)(proposalId) }); + return response; + }, + deposits: async (proposalId, paginationKey) => { + const response = await queryService.Deposits({ + proposalId: (0, queryclient_1.longify)(proposalId), + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + deposit: async (proposalId, depositorAddress) => { + const response = await queryService.Deposit({ + proposalId: (0, queryclient_1.longify)(proposalId), + depositor: depositorAddress, + }); + return response; + }, + tally: async (proposalId) => { + const response = await queryService.TallyResult({ + proposalId: (0, queryclient_1.longify)(proposalId), + }); + return response; + }, + votes: async (proposalId, paginationKey) => { + const response = await queryService.Votes({ + proposalId: (0, queryclient_1.longify)(proposalId), + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + vote: async (proposalId, voterAddress) => { + const response = await queryService.Vote({ + proposalId: (0, queryclient_1.longify)(proposalId), + voter: voterAddress, + }); + return response; + }, + }, + }; +} +exports.setupGovExtension = setupGovExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js.map new file mode 100644 index 00000000..f37fbdf4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/gov/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/gov/queries.ts"],"names":[],"mappings":";;;AAEA,iEAU+C;AAG/C,mDAAoG;AA2BpG,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAE1C,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,GAAG,EAAE;YACH,MAAM,EAAE,KAAK,EAAE,cAA6B,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC3E,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,SAAS,EAAE,KAAK,EACd,cAA8B,EAC9B,gBAAwB,EACxB,YAAoB,EACpB,aAA0B,EAC1B,EAAE;gBACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;oBAC5C,cAAc;oBACd,SAAS,EAAE,gBAAgB;oBAC3B,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,UAAyB,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClF,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,UAAyB,EAAE,aAA0B,EAAE,EAAE;gBACxE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;oBAC3C,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC;oBAC/B,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,UAAyB,EAAE,gBAAwB,EAAE,EAAE;gBACrE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;oBAC1C,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC;oBAC/B,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,UAAyB,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;oBAC9C,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC;iBAChC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,UAAyB,EAAE,aAA0B,EAAE,EAAE;gBACrE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;oBACxC,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC;oBAC/B,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,UAAyB,EAAE,YAAoB,EAAE,EAAE;gBAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACvC,UAAU,EAAE,IAAA,qBAAO,EAAC,UAAU,CAAC;oBAC/B,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAnED,8CAmEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.d.ts new file mode 100644 index 00000000..8175eeba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.d.ts @@ -0,0 +1,2 @@ +import { AminoConverters } from "../../aminotypes"; +export declare function createGroupAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js new file mode 100644 index 00000000..c21df374 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createGroupAminoConverters = void 0; +function createGroupAminoConverters() { + // Missing, see https://github.com/cosmos/cosmjs/issues/1441 + return {}; +} +exports.createGroupAminoConverters = createGroupAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js.map new file mode 100644 index 00000000..d5076417 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/group/aminomessages.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B;IACxC,4DAA4D;IAC5D,OAAO,EAAE,CAAC;AACZ,CAAC;AAHD,gEAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.d.ts new file mode 100644 index 00000000..c3ad5b6f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.d.ts @@ -0,0 +1,2 @@ +import { GeneratedType } from "@cosmjs/proto-signing"; +export declare const groupTypes: ReadonlyArray<[string, GeneratedType]>; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js new file mode 100644 index 00000000..9ec9aa10 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.groupTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/group/v1/tx"); +exports.groupTypes = [ + ["/cosmos.group.v1.MsgCreateGroup", tx_1.MsgCreateGroup], + ["/cosmos.group.v1.MsgCreateGroupPolicy", tx_1.MsgCreateGroupPolicy], + ["/cosmos.group.v1.MsgCreateGroupWithPolicy", tx_1.MsgCreateGroupWithPolicy], + ["/cosmos.group.v1.MsgExec", tx_1.MsgExec], + ["/cosmos.group.v1.MsgLeaveGroup", tx_1.MsgLeaveGroup], + ["/cosmos.group.v1.MsgSubmitProposal", tx_1.MsgSubmitProposal], + ["/cosmos.group.v1.MsgUpdateGroupAdmin", tx_1.MsgUpdateGroupAdmin], + ["/cosmos.group.v1.MsgUpdateGroupMembers", tx_1.MsgUpdateGroupMembers], + ["/cosmos.group.v1.MsgUpdateGroupMetadata", tx_1.MsgUpdateGroupMetadata], + ["/cosmos.group.v1.MsgUpdateGroupPolicyAdmin", tx_1.MsgUpdateGroupPolicyAdmin], + ["/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy", tx_1.MsgUpdateGroupPolicyDecisionPolicy], + ["/cosmos.group.v1.MsgUpdateGroupPolicyMetadata", tx_1.MsgUpdateGroupPolicyMetadata], + ["/cosmos.group.v1.MsgVote", tx_1.MsgVote], + ["/cosmos.group.v1.MsgWithdrawProposal", tx_1.MsgWithdrawProposal], +]; +// There are no EncodeObject implementations for the new v1 message types because +// those things don't scale (https://github.com/cosmos/cosmjs/issues/1440). We need to +// address this more fundamentally. Users can use +// const msg = { +// typeUrl: "/cosmos.group.v1.MsgCreateGroup", +// value: MsgCreateGroup.fromPartial({ ... }) +// } +// in their app. +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js.map new file mode 100644 index 00000000..6dd658ed --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/group/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/group/messages.ts"],"names":[],"mappings":";;;AACA,wDAeyC;AAE5B,QAAA,UAAU,GAA2C;IAChE,CAAC,iCAAiC,EAAE,mBAAc,CAAC;IACnD,CAAC,uCAAuC,EAAE,yBAAoB,CAAC;IAC/D,CAAC,2CAA2C,EAAE,6BAAwB,CAAC;IACvE,CAAC,0BAA0B,EAAE,YAAO,CAAC;IACrC,CAAC,gCAAgC,EAAE,kBAAa,CAAC;IACjD,CAAC,oCAAoC,EAAE,sBAAiB,CAAC;IACzD,CAAC,sCAAsC,EAAE,wBAAmB,CAAC;IAC7D,CAAC,wCAAwC,EAAE,0BAAqB,CAAC;IACjE,CAAC,yCAAyC,EAAE,2BAAsB,CAAC;IACnE,CAAC,4CAA4C,EAAE,8BAAyB,CAAC;IACzE,CAAC,qDAAqD,EAAE,uCAAkC,CAAC;IAC3F,CAAC,+CAA+C,EAAE,iCAA4B,CAAC;IAC/E,CAAC,0BAA0B,EAAE,YAAO,CAAC;IACrC,CAAC,sCAAsC,EAAE,wBAAmB,CAAC;CAC9D,CAAC;AAEF,iFAAiF;AACjF,sFAAsF;AACtF,iDAAiD;AACjD,gBAAgB;AAChB,gDAAgD;AAChD,+CAA+C;AAC/C,IAAI;AACJ,gBAAgB"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.d.ts new file mode 100644 index 00000000..55d6066f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.d.ts @@ -0,0 +1,37 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +interface AminoHeight { + /** 0 values must be omitted (https://github.com/cosmos/cosmos-sdk/blob/v0.42.7/x/ibc/core/02-client/types/client.pb.go#L252). */ + readonly revision_number?: string; + /** 0 values must be omitted (https://github.com/cosmos/cosmos-sdk/blob/v0.42.7/x/ibc/core/02-client/types/client.pb.go#L254). */ + readonly revision_height?: string; +} +/** Transfers fungible tokens (i.e Coins) between ICS20 enabled chains */ +export interface AminoMsgTransfer extends AminoMsg { + readonly type: "cosmos-sdk/MsgTransfer"; + readonly value: { + readonly source_port: string; + readonly source_channel: string; + readonly token?: Coin; + /** Bech32 account address */ + readonly sender: string; + /** Bech32 account address */ + readonly receiver: string; + /** + * The timeout as a (revision_number, revision_height) pair. + * + * This fied is is non-optional (https://github.com/cosmos/cosmos-sdk/blob/v0.42.7/x/ibc/applications/transfer/types/tx.pb.go#L49). + * In order to not set the timeout height, set it to {}. + */ + readonly timeout_height: AminoHeight; + /** + * Timeout timestamp in nanoseconds since Unix epoch. The timeout is disabled when set to 0. + * + * 0 values must be omitted (https://github.com/cosmos/cosmos-sdk/blob/v0.42.7/x/ibc/applications/transfer/types/tx.pb.go#L52). + */ + readonly timeout_timestamp?: string; + }; +} +export declare function isAminoMsgTransfer(msg: AminoMsg): msg is AminoMsgTransfer; +export declare function createIbcAminoConverters(): AminoConverters; +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js new file mode 100644 index 00000000..06536254 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js @@ -0,0 +1,61 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createIbcAminoConverters = exports.isAminoMsgTransfer = void 0; +const tx_1 = require("cosmjs-types/ibc/applications/transfer/v1/tx"); +const long_1 = __importDefault(require("long")); +function isAminoMsgTransfer(msg) { + return msg.type === "cosmos-sdk/MsgTransfer"; +} +exports.isAminoMsgTransfer = isAminoMsgTransfer; +function omitDefault(input) { + if (typeof input === "string") { + return input === "" ? undefined : input; + } + if (typeof input === "number") { + return input === 0 ? undefined : input; + } + if (long_1.default.isLong(input)) { + return input.isZero() ? undefined : input; + } + throw new Error(`Got unsupported type '${typeof input}'`); +} +function createIbcAminoConverters() { + return { + "/ibc.applications.transfer.v1.MsgTransfer": { + aminoType: "cosmos-sdk/MsgTransfer", + toAmino: ({ sourcePort, sourceChannel, token, sender, receiver, timeoutHeight, timeoutTimestamp, }) => ({ + source_port: sourcePort, + source_channel: sourceChannel, + token: token, + sender: sender, + receiver: receiver, + timeout_height: timeoutHeight + ? { + revision_height: omitDefault(timeoutHeight.revisionHeight)?.toString(), + revision_number: omitDefault(timeoutHeight.revisionNumber)?.toString(), + } + : {}, + timeout_timestamp: omitDefault(timeoutTimestamp)?.toString(), + }), + fromAmino: ({ source_port, source_channel, token, sender, receiver, timeout_height, timeout_timestamp, }) => tx_1.MsgTransfer.fromPartial({ + sourcePort: source_port, + sourceChannel: source_channel, + token: token, + sender: sender, + receiver: receiver, + timeoutHeight: timeout_height + ? { + revisionHeight: long_1.default.fromString(timeout_height.revision_height || "0", true), + revisionNumber: long_1.default.fromString(timeout_height.revision_number || "0", true), + } + : undefined, + timeoutTimestamp: long_1.default.fromString(timeout_timestamp || "0", true), + }), + }, + }; +} +exports.createIbcAminoConverters = createIbcAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js.map new file mode 100644 index 00000000..344de48b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/ibc/aminomessages.ts"],"names":[],"mappings":";;;;;;AAEA,qEAA2E;AAC3E,gDAAwB;AAwCxB,SAAgB,kBAAkB,CAAC,GAAa;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,wBAAwB,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAS,WAAW,CAAmC,KAAQ;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;KACzC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;KACxC;IAED,IAAI,cAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;KAC3C;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,KAAK,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO;QACL,2CAA2C,EAAE;YAC3C,SAAS,EAAE,wBAAwB;YACnC,OAAO,EAAE,CAAC,EACR,UAAU,EACV,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,gBAAgB,GACJ,EAA6B,EAAE,CAAC,CAAC;gBAC7C,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,aAAa;gBAC7B,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,cAAc,EAAE,aAAa;oBAC3B,CAAC,CAAC;wBACE,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE;wBACtE,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE;qBACvE;oBACH,CAAC,CAAC,EAAE;gBACN,iBAAiB,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE;aAC7D,CAAC;YACF,SAAS,EAAE,CAAC,EACV,WAAW,EACX,cAAc,EACd,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,GACS,EAAe,EAAE,CAC3C,gBAAW,CAAC,WAAW,CAAC;gBACtB,UAAU,EAAE,WAAW;gBACvB,aAAa,EAAE,cAAc;gBAC7B,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,cAAc;oBAC3B,CAAC,CAAC;wBACE,cAAc,EAAE,cAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,IAAI,GAAG,EAAE,IAAI,CAAC;wBAC5E,cAAc,EAAE,cAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,IAAI,GAAG,EAAE,IAAI,CAAC;qBAC7E;oBACH,CAAC,CAAC,SAAS;gBACb,gBAAgB,EAAE,cAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,GAAG,EAAE,IAAI,CAAC;aAClE,CAAC;SACL;KACF,CAAC;AACJ,CAAC;AAnDD,4DAmDC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.d.ts new file mode 100644 index 00000000..a86008fb --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.d.ts @@ -0,0 +1,8 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { MsgTransfer } from "cosmjs-types/ibc/applications/transfer/v1/tx"; +export declare const ibcTypes: ReadonlyArray<[string, GeneratedType]>; +export interface MsgTransferEncodeObject extends EncodeObject { + readonly typeUrl: "/ibc.applications.transfer.v1.MsgTransfer"; + readonly value: Partial; +} +export declare function isMsgTransferEncodeObject(object: EncodeObject): object is MsgTransferEncodeObject; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js new file mode 100644 index 00000000..c40dcdd8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMsgTransferEncodeObject = exports.ibcTypes = void 0; +const tx_1 = require("cosmjs-types/ibc/applications/transfer/v1/tx"); +const tx_2 = require("cosmjs-types/ibc/core/channel/v1/tx"); +const tx_3 = require("cosmjs-types/ibc/core/client/v1/tx"); +const tx_4 = require("cosmjs-types/ibc/core/connection/v1/tx"); +exports.ibcTypes = [ + ["/ibc.applications.transfer.v1.MsgTransfer", tx_1.MsgTransfer], + ["/ibc.core.channel.v1.MsgAcknowledgement", tx_2.MsgAcknowledgement], + ["/ibc.core.channel.v1.MsgChannelCloseConfirm", tx_2.MsgChannelCloseConfirm], + ["/ibc.core.channel.v1.MsgChannelCloseInit", tx_2.MsgChannelCloseInit], + ["/ibc.core.channel.v1.MsgChannelOpenAck", tx_2.MsgChannelOpenAck], + ["/ibc.core.channel.v1.MsgChannelOpenConfirm", tx_2.MsgChannelOpenConfirm], + ["/ibc.core.channel.v1.MsgChannelOpenInit", tx_2.MsgChannelOpenInit], + ["/ibc.core.channel.v1.MsgChannelOpenTry", tx_2.MsgChannelOpenTry], + ["/ibc.core.channel.v1.MsgRecvPacket", tx_2.MsgRecvPacket], + ["/ibc.core.channel.v1.MsgTimeout", tx_2.MsgTimeout], + ["/ibc.core.channel.v1.MsgTimeoutOnClose", tx_2.MsgTimeoutOnClose], + ["/ibc.core.client.v1.MsgCreateClient", tx_3.MsgCreateClient], + ["/ibc.core.client.v1.MsgSubmitMisbehaviour", tx_3.MsgSubmitMisbehaviour], + ["/ibc.core.client.v1.MsgUpdateClient", tx_3.MsgUpdateClient], + ["/ibc.core.client.v1.MsgUpgradeClient", tx_3.MsgUpgradeClient], + ["/ibc.core.connection.v1.MsgConnectionOpenAck", tx_4.MsgConnectionOpenAck], + ["/ibc.core.connection.v1.MsgConnectionOpenConfirm", tx_4.MsgConnectionOpenConfirm], + ["/ibc.core.connection.v1.MsgConnectionOpenInit", tx_4.MsgConnectionOpenInit], + ["/ibc.core.connection.v1.MsgConnectionOpenTry", tx_4.MsgConnectionOpenTry], +]; +function isMsgTransferEncodeObject(object) { + return object.typeUrl === "/ibc.applications.transfer.v1.MsgTransfer"; +} +exports.isMsgTransferEncodeObject = isMsgTransferEncodeObject; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js.map new file mode 100644 index 00000000..f031755a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/ibc/messages.ts"],"names":[],"mappings":";;;AACA,qEAA2E;AAC3E,4DAW6C;AAC7C,2DAK4C;AAC5C,+DAKgD;AAEnC,QAAA,QAAQ,GAA2C;IAC9D,CAAC,2CAA2C,EAAE,gBAAW,CAAC;IAC1D,CAAC,yCAAyC,EAAE,uBAAkB,CAAC;IAC/D,CAAC,6CAA6C,EAAE,2BAAsB,CAAC;IACvE,CAAC,0CAA0C,EAAE,wBAAmB,CAAC;IACjE,CAAC,wCAAwC,EAAE,sBAAiB,CAAC;IAC7D,CAAC,4CAA4C,EAAE,0BAAqB,CAAC;IACrE,CAAC,yCAAyC,EAAE,uBAAkB,CAAC;IAC/D,CAAC,wCAAwC,EAAE,sBAAiB,CAAC;IAC7D,CAAC,oCAAoC,EAAE,kBAAa,CAAC;IACrD,CAAC,iCAAiC,EAAE,eAAU,CAAC;IAC/C,CAAC,wCAAwC,EAAE,sBAAiB,CAAC;IAC7D,CAAC,qCAAqC,EAAE,oBAAe,CAAC;IACxD,CAAC,2CAA2C,EAAE,0BAAqB,CAAC;IACpE,CAAC,qCAAqC,EAAE,oBAAe,CAAC;IACxD,CAAC,sCAAsC,EAAE,qBAAgB,CAAC;IAC1D,CAAC,8CAA8C,EAAE,yBAAoB,CAAC;IACtE,CAAC,kDAAkD,EAAE,6BAAwB,CAAC;IAC9E,CAAC,+CAA+C,EAAE,0BAAqB,CAAC;IACxE,CAAC,8CAA8C,EAAE,yBAAoB,CAAC;CACvE,CAAC;AAOF,SAAgB,yBAAyB,CAAC,MAAoB;IAC5D,OAAQ,MAAkC,CAAC,OAAO,KAAK,2CAA2C,CAAC;AACrG,CAAC;AAFD,8DAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.d.ts new file mode 100644 index 00000000..80e510c6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.d.ts @@ -0,0 +1,67 @@ +import { QueryDenomTraceResponse, QueryDenomTracesResponse, QueryParamsResponse as QueryTransferParamsResponse } from "cosmjs-types/ibc/applications/transfer/v1/query"; +import { Channel } from "cosmjs-types/ibc/core/channel/v1/channel"; +import { QueryChannelClientStateResponse, QueryChannelConsensusStateResponse, QueryChannelResponse, QueryChannelsResponse, QueryConnectionChannelsResponse, QueryNextSequenceReceiveResponse, QueryPacketAcknowledgementResponse, QueryPacketAcknowledgementsResponse, QueryPacketCommitmentResponse, QueryPacketCommitmentsResponse, QueryPacketReceiptResponse, QueryUnreceivedAcksResponse, QueryUnreceivedPacketsResponse } from "cosmjs-types/ibc/core/channel/v1/query"; +import { Height } from "cosmjs-types/ibc/core/client/v1/client"; +import { QueryClientParamsResponse, QueryClientStateResponse, QueryClientStatesResponse, QueryConsensusStateResponse, QueryConsensusStatesResponse } from "cosmjs-types/ibc/core/client/v1/query"; +import { QueryClientConnectionsResponse, QueryConnectionClientStateResponse, QueryConnectionConsensusStateResponse, QueryConnectionResponse, QueryConnectionsResponse } from "cosmjs-types/ibc/core/connection/v1/query"; +import { ClientState as TendermintClientState, ConsensusState as TendermintConsensusState } from "cosmjs-types/ibc/lightclients/tendermint/v1/tendermint"; +import { QueryClient } from "../../queryclient"; +export interface IbcExtension { + readonly ibc: { + readonly channel: { + readonly channel: (portId: string, channelId: string) => Promise; + readonly channels: (paginationKey?: Uint8Array) => Promise; + readonly allChannels: () => Promise; + readonly connectionChannels: (connection: string, paginationKey?: Uint8Array) => Promise; + readonly allConnectionChannels: (connection: string) => Promise; + readonly clientState: (portId: string, channelId: string) => Promise; + readonly consensusState: (portId: string, channelId: string, revisionNumber: number, revisionHeight: number) => Promise; + readonly packetCommitment: (portId: string, channelId: string, sequence: number) => Promise; + readonly packetCommitments: (portId: string, channelId: string, paginationKey?: Uint8Array) => Promise; + readonly allPacketCommitments: (portId: string, channelId: string) => Promise; + readonly packetReceipt: (portId: string, channelId: string, sequence: number) => Promise; + readonly packetAcknowledgement: (portId: string, channelId: string, sequence: number) => Promise; + readonly packetAcknowledgements: (portId: string, channelId: string, paginationKey?: Uint8Array) => Promise; + readonly allPacketAcknowledgements: (portId: string, channelId: string) => Promise; + readonly unreceivedPackets: (portId: string, channelId: string, packetCommitmentSequences: readonly number[]) => Promise; + readonly unreceivedAcks: (portId: string, channelId: string, packetAckSequences: readonly number[]) => Promise; + readonly nextSequenceReceive: (portId: string, channelId: string) => Promise; + }; + readonly client: { + readonly state: (clientId: string) => Promise; + readonly states: (paginationKey?: Uint8Array) => Promise; + readonly allStates: () => Promise; + readonly consensusState: (clientId: string, height?: number) => Promise; + readonly consensusStates: (clientId: string, paginationKey?: Uint8Array) => Promise; + readonly allConsensusStates: (clientId: string) => Promise; + readonly params: () => Promise; + readonly stateTm: (clientId: string) => Promise; + readonly statesTm: (paginationKey?: Uint8Array) => Promise; + readonly allStatesTm: () => Promise; + readonly consensusStateTm: (clientId: string, height?: Height) => Promise; + }; + readonly connection: { + readonly connection: (connectionId: string) => Promise; + readonly connections: (paginationKey?: Uint8Array) => Promise; + readonly allConnections: () => Promise; + readonly clientConnections: (clientId: string) => Promise; + readonly clientState: (connectionId: string) => Promise; + readonly consensusState: (connectionId: string, revisionNumber: number, revisionHeight: number) => Promise; + }; + readonly transfer: { + readonly denomTrace: (hash: string) => Promise; + readonly denomTraces: (paginationKey?: Uint8Array) => Promise; + readonly allDenomTraces: () => Promise; + readonly params: () => Promise; + }; + readonly verified: { + readonly channel: { + readonly channel: (portId: string, channelId: string) => Promise; + readonly packetCommitment: (portId: string, channelId: string, sequence: number) => Promise; + readonly packetAcknowledgement: (portId: string, channelId: string, sequence: number) => Promise; + readonly nextSequenceReceive: (portId: string, channelId: string) => Promise; + }; + }; + }; +} +export declare function setupIbcExtension(base: QueryClient): IbcExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js new file mode 100644 index 00000000..42c7d575 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js @@ -0,0 +1,348 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupIbcExtension = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const query_1 = require("cosmjs-types/ibc/applications/transfer/v1/query"); +const channel_1 = require("cosmjs-types/ibc/core/channel/v1/channel"); +const query_2 = require("cosmjs-types/ibc/core/channel/v1/query"); +const query_3 = require("cosmjs-types/ibc/core/client/v1/query"); +const query_4 = require("cosmjs-types/ibc/core/connection/v1/query"); +const tendermint_1 = require("cosmjs-types/ibc/lightclients/tendermint/v1/tendermint"); +const long_1 = __importDefault(require("long")); +const queryclient_1 = require("../../queryclient"); +function decodeTendermintClientStateAny(clientState) { + if (clientState?.typeUrl !== "/ibc.lightclients.tendermint.v1.ClientState") { + throw new Error(`Unexpected client state type: ${clientState?.typeUrl}`); + } + return tendermint_1.ClientState.decode(clientState.value); +} +function decodeTendermintConsensusStateAny(clientState) { + if (clientState?.typeUrl !== "/ibc.lightclients.tendermint.v1.ConsensusState") { + throw new Error(`Unexpected client state type: ${clientState?.typeUrl}`); + } + return tendermint_1.ConsensusState.decode(clientState.value); +} +function setupIbcExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use these services to get easy typed access to query methods + // These cannot be used for proof verification + const channelQueryService = new query_2.QueryClientImpl(rpc); + const clientQueryService = new query_3.QueryClientImpl(rpc); + const connectionQueryService = new query_4.QueryClientImpl(rpc); + const transferQueryService = new query_1.QueryClientImpl(rpc); + return { + ibc: { + channel: { + channel: async (portId, channelId) => channelQueryService.Channel({ + portId: portId, + channelId: channelId, + }), + channels: async (paginationKey) => channelQueryService.Channels({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allChannels: async () => { + const channels = []; + let response; + let key; + do { + response = await channelQueryService.Channels({ + pagination: (0, queryclient_1.createPagination)(key), + }); + channels.push(...response.channels); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + channels: channels, + height: response.height, + }; + }, + connectionChannels: async (connection, paginationKey) => channelQueryService.ConnectionChannels({ + connection: connection, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allConnectionChannels: async (connection) => { + const channels = []; + let response; + let key; + do { + response = await channelQueryService.ConnectionChannels({ + connection: connection, + pagination: (0, queryclient_1.createPagination)(key), + }); + channels.push(...response.channels); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + channels: channels, + height: response.height, + }; + }, + clientState: async (portId, channelId) => channelQueryService.ChannelClientState({ + portId: portId, + channelId: channelId, + }), + consensusState: async (portId, channelId, revisionNumber, revisionHeight) => channelQueryService.ChannelConsensusState({ + portId: portId, + channelId: channelId, + revisionNumber: long_1.default.fromNumber(revisionNumber, true), + revisionHeight: long_1.default.fromNumber(revisionHeight, true), + }), + packetCommitment: async (portId, channelId, sequence) => channelQueryService.PacketCommitment({ + portId: portId, + channelId: channelId, + sequence: long_1.default.fromNumber(sequence, true), + }), + packetCommitments: async (portId, channelId, paginationKey) => channelQueryService.PacketCommitments({ + channelId: channelId, + portId: portId, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allPacketCommitments: async (portId, channelId) => { + const commitments = []; + let response; + let key; + do { + response = await channelQueryService.PacketCommitments({ + channelId: channelId, + portId: portId, + pagination: (0, queryclient_1.createPagination)(key), + }); + commitments.push(...response.commitments); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + commitments: commitments, + height: response.height, + }; + }, + packetReceipt: async (portId, channelId, sequence) => channelQueryService.PacketReceipt({ + portId: portId, + channelId: channelId, + sequence: long_1.default.fromNumber(sequence, true), + }), + packetAcknowledgement: async (portId, channelId, sequence) => channelQueryService.PacketAcknowledgement({ + portId: portId, + channelId: channelId, + sequence: long_1.default.fromNumber(sequence, true), + }), + packetAcknowledgements: async (portId, channelId, paginationKey) => { + const request = query_2.QueryPacketAcknowledgementsRequest.fromPartial({ + portId: portId, + channelId: channelId, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return channelQueryService.PacketAcknowledgements(request); + }, + allPacketAcknowledgements: async (portId, channelId) => { + const acknowledgements = []; + let response; + let key; + do { + const request = query_2.QueryPacketAcknowledgementsRequest.fromPartial({ + channelId: channelId, + portId: portId, + pagination: (0, queryclient_1.createPagination)(key), + }); + response = await channelQueryService.PacketAcknowledgements(request); + acknowledgements.push(...response.acknowledgements); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + acknowledgements: acknowledgements, + height: response.height, + }; + }, + unreceivedPackets: async (portId, channelId, packetCommitmentSequences) => channelQueryService.UnreceivedPackets({ + portId: portId, + channelId: channelId, + packetCommitmentSequences: packetCommitmentSequences.map((s) => long_1.default.fromNumber(s, true)), + }), + unreceivedAcks: async (portId, channelId, packetAckSequences) => channelQueryService.UnreceivedAcks({ + portId: portId, + channelId: channelId, + packetAckSequences: packetAckSequences.map((s) => long_1.default.fromNumber(s, true)), + }), + nextSequenceReceive: async (portId, channelId) => channelQueryService.NextSequenceReceive({ + portId: portId, + channelId: channelId, + }), + }, + client: { + state: async (clientId) => clientQueryService.ClientState({ clientId }), + states: async (paginationKey) => clientQueryService.ClientStates({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allStates: async () => { + const clientStates = []; + let response; + let key; + do { + response = await clientQueryService.ClientStates({ + pagination: (0, queryclient_1.createPagination)(key), + }); + clientStates.push(...response.clientStates); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + clientStates: clientStates, + }; + }, + consensusState: async (clientId, consensusHeight) => clientQueryService.ConsensusState(query_3.QueryConsensusStateRequest.fromPartial({ + clientId: clientId, + revisionHeight: consensusHeight !== undefined ? long_1.default.fromNumber(consensusHeight, true) : undefined, + latestHeight: consensusHeight === undefined, + })), + consensusStates: async (clientId, paginationKey) => clientQueryService.ConsensusStates({ + clientId: clientId, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allConsensusStates: async (clientId) => { + const consensusStates = []; + let response; + let key; + do { + response = await clientQueryService.ConsensusStates({ + clientId: clientId, + pagination: (0, queryclient_1.createPagination)(key), + }); + consensusStates.push(...response.consensusStates); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + consensusStates: consensusStates, + }; + }, + params: async () => clientQueryService.ClientParams({}), + stateTm: async (clientId) => { + const response = await clientQueryService.ClientState({ clientId }); + return decodeTendermintClientStateAny(response.clientState); + }, + statesTm: async (paginationKey) => { + const { clientStates } = await clientQueryService.ClientStates({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return clientStates.map(({ clientState }) => decodeTendermintClientStateAny(clientState)); + }, + allStatesTm: async () => { + const clientStates = []; + let response; + let key; + do { + response = await clientQueryService.ClientStates({ + pagination: (0, queryclient_1.createPagination)(key), + }); + clientStates.push(...response.clientStates); + key = response.pagination?.nextKey; + } while (key && key.length); + return clientStates.map(({ clientState }) => decodeTendermintClientStateAny(clientState)); + }, + consensusStateTm: async (clientId, consensusHeight) => { + const response = await clientQueryService.ConsensusState(query_3.QueryConsensusStateRequest.fromPartial({ + clientId: clientId, + revisionHeight: consensusHeight?.revisionHeight, + revisionNumber: consensusHeight?.revisionNumber, + latestHeight: consensusHeight === undefined, + })); + return decodeTendermintConsensusStateAny(response.consensusState); + }, + }, + connection: { + connection: async (connectionId) => connectionQueryService.Connection({ + connectionId: connectionId, + }), + connections: async (paginationKey) => connectionQueryService.Connections({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allConnections: async () => { + const connections = []; + let response; + let key; + do { + response = await connectionQueryService.Connections({ + pagination: (0, queryclient_1.createPagination)(key), + }); + connections.push(...response.connections); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + connections: connections, + height: response.height, + }; + }, + clientConnections: async (clientId) => connectionQueryService.ClientConnections({ + clientId: clientId, + }), + clientState: async (connectionId) => connectionQueryService.ConnectionClientState({ + connectionId: connectionId, + }), + consensusState: async (connectionId, revisionHeight) => connectionQueryService.ConnectionConsensusState(query_4.QueryConnectionConsensusStateRequest.fromPartial({ + connectionId: connectionId, + revisionHeight: long_1.default.fromNumber(revisionHeight, true), + })), + }, + transfer: { + denomTrace: async (hash) => transferQueryService.DenomTrace({ hash: hash }), + denomTraces: async (paginationKey) => transferQueryService.DenomTraces({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }), + allDenomTraces: async () => { + const denomTraces = []; + let response; + let key; + do { + response = await transferQueryService.DenomTraces({ + pagination: (0, queryclient_1.createPagination)(key), + }); + denomTraces.push(...response.denomTraces); + key = response.pagination?.nextKey; + } while (key && key.length); + return { + denomTraces: denomTraces, + }; + }, + params: async () => transferQueryService.Params({}), + }, + verified: { + channel: { + channel: async (portId, channelId) => { + // keeper: https://github.com/cosmos/cosmos-sdk/blob/3bafd8255a502e5a9cee07391cf8261538245dfd/x/ibc/04-channel/keeper/keeper.go#L55-L65 + // key: https://github.com/cosmos/cosmos-sdk/blob/ef0a7344af345882729598bc2958a21143930a6b/x/ibc/24-host/keys.go#L117-L120 + const key = (0, encoding_1.toAscii)(`channelEnds/ports/${portId}/channels/${channelId}`); + const { value } = await base.queryStoreVerified("ibc", key); + return value.length ? channel_1.Channel.decode(value) : null; + }, + packetCommitment: async (portId, channelId, sequence) => { + // keeper: https://github.com/cosmos/cosmos-sdk/blob/3bafd8255a502e5a9cee07391cf8261538245dfd/x/ibc/04-channel/keeper/keeper.go#L128-L133 + // key: https://github.com/cosmos/cosmos-sdk/blob/ef0a7344af345882729598bc2958a21143930a6b/x/ibc/24-host/keys.go#L183-L185 + const key = (0, encoding_1.toAscii)(`commitments/ports/${portId}/channels/${channelId}/packets/${sequence}`); + const { value } = await base.queryStoreVerified("ibc", key); + // keeper code doesn't parse, but returns raw + return value; + }, + packetAcknowledgement: async (portId, channelId, sequence) => { + // keeper: https://github.com/cosmos/cosmos-sdk/blob/3bafd8255a502e5a9cee07391cf8261538245dfd/x/ibc/04-channel/keeper/keeper.go#L159-L166 + // key: https://github.com/cosmos/cosmos-sdk/blob/ef0a7344af345882729598bc2958a21143930a6b/x/ibc/24-host/keys.go#L153-L156 + const key = (0, encoding_1.toAscii)(`acks/ports/${portId}/channels/${channelId}/acknowledgements/${sequence}`); + const { value } = await base.queryStoreVerified("ibc", key); + // keeper code doesn't parse, but returns raw + return value; + }, + nextSequenceReceive: async (portId, channelId) => { + // keeper: https://github.com/cosmos/cosmos-sdk/blob/3bafd8255a502e5a9cee07391cf8261538245dfd/x/ibc/04-channel/keeper/keeper.go#L92-L101 + // key: https://github.com/cosmos/cosmos-sdk/blob/ef0a7344af345882729598bc2958a21143930a6b/x/ibc/24-host/keys.go#L133-L136 + const key = (0, encoding_1.toAscii)(`seqAcks/ports/${portId}/channels/${channelId}/nextSequenceAck`); + const { value } = await base.queryStoreVerified("ibc", key); + return value.length ? math_1.Uint64.fromBytes(value).toNumber() : null; + }, + }, + }, + }, + }; +} +exports.setupIbcExtension = setupIbcExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js.map new file mode 100644 index 00000000..2465d996 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/ibc/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/ibc/queries.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.d.ts new file mode 100644 index 00000000..e52644c3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.d.ts @@ -0,0 +1,32 @@ +export { AuthExtension, setupAuthExtension } from "./auth/queries"; +export { createAuthzAminoConverters } from "./authz/aminomessages"; +export { authzTypes } from "./authz/messages"; +export { setupAuthzExtension } from "./authz/queries"; +export { AminoMsgMultiSend, AminoMsgSend, createBankAminoConverters, isAminoMsgMultiSend, isAminoMsgSend, } from "./bank/aminomessages"; +export { bankTypes, isMsgSendEncodeObject, MsgSendEncodeObject } from "./bank/messages"; +export { BankExtension, setupBankExtension } from "./bank/queries"; +export { AminoMsgVerifyInvariant, createCrysisAminoConverters, isAminoMsgVerifyInvariant, } from "./crisis/aminomessages"; +export { AminoMsgFundCommunityPool, AminoMsgSetWithdrawAddress, AminoMsgWithdrawDelegatorReward, AminoMsgWithdrawValidatorCommission, createDistributionAminoConverters, isAminoMsgFundCommunityPool, isAminoMsgSetWithdrawAddress, isAminoMsgWithdrawDelegatorReward, isAminoMsgWithdrawValidatorCommission, } from "./distribution/aminomessages"; +export { distributionTypes, isMsgWithdrawDelegatorRewardEncodeObject, MsgWithdrawDelegatorRewardEncodeObject, } from "./distribution/messages"; +export { DistributionExtension, setupDistributionExtension } from "./distribution/queries"; +export { AminoMsgSubmitEvidence, createEvidenceAminoConverters, isAminoMsgSubmitEvidence, } from "./evidence/aminomessages"; +export { createFeegrantAminoConverters } from "./feegrant/aminomessages"; +export { feegrantTypes } from "./feegrant/messages"; +export { FeegrantExtension, setupFeegrantExtension } from "./feegrant/queries"; +export { AminoMsgDeposit, AminoMsgSubmitProposal, AminoMsgVote, AminoMsgVoteWeighted, createGovAminoConverters, isAminoMsgDeposit, isAminoMsgSubmitProposal, isAminoMsgVote, isAminoMsgVoteWeighted, } from "./gov/aminomessages"; +export { govTypes, isMsgDepositEncodeObject, isMsgSubmitProposalEncodeObject, isMsgVoteEncodeObject, isMsgVoteWeightedEncodeObject, MsgDepositEncodeObject, MsgSubmitProposalEncodeObject, MsgVoteEncodeObject, MsgVoteWeightedEncodeObject, } from "./gov/messages"; +export { GovExtension, GovParamsType, GovProposalId, setupGovExtension } from "./gov/queries"; +export { createGroupAminoConverters } from "./group/aminomessages"; +export { groupTypes } from "./group/messages"; +export { AminoMsgTransfer, createIbcAminoConverters, isAminoMsgTransfer } from "./ibc/aminomessages"; +export { ibcTypes, isMsgTransferEncodeObject, MsgTransferEncodeObject } from "./ibc/messages"; +export { IbcExtension, setupIbcExtension } from "./ibc/queries"; +export { MintExtension, MintParams, setupMintExtension } from "./mint/queries"; +export { AminoMsgUnjail, createSlashingAminoConverters, isAminoMsgUnjail } from "./slashing/aminomessages"; +export { setupSlashingExtension, SlashingExtension } from "./slashing/queries"; +export { AminoMsgBeginRedelegate, AminoMsgCreateValidator, AminoMsgDelegate, AminoMsgEditValidator, AminoMsgUndelegate, createStakingAminoConverters, isAminoMsgBeginRedelegate, isAminoMsgCreateValidator, isAminoMsgDelegate, isAminoMsgEditValidator, isAminoMsgUndelegate, } from "./staking/aminomessages"; +export { isMsgBeginRedelegateEncodeObject, isMsgCreateValidatorEncodeObject, isMsgDelegateEncodeObject, isMsgEditValidatorEncodeObject, isMsgUndelegateEncodeObject, MsgBeginRedelegateEncodeObject, MsgCreateValidatorEncodeObject, MsgDelegateEncodeObject, MsgEditValidatorEncodeObject, MsgUndelegateEncodeObject, stakingTypes, } from "./staking/messages"; +export { setupStakingExtension, StakingExtension } from "./staking/queries"; +export { setupTxExtension, TxExtension } from "./tx/queries"; +export { AminoMsgCreateVestingAccount, createVestingAminoConverters, isAminoMsgCreateVestingAccount, } from "./vesting/aminomessages"; +export { vestingTypes } from "./vesting/messages"; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js new file mode 100644 index 00000000..943fc0cc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js @@ -0,0 +1,101 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isAminoMsgCreateValidator = exports.isAminoMsgBeginRedelegate = exports.createStakingAminoConverters = exports.setupSlashingExtension = exports.isAminoMsgUnjail = exports.createSlashingAminoConverters = exports.setupMintExtension = exports.setupIbcExtension = exports.isMsgTransferEncodeObject = exports.ibcTypes = exports.isAminoMsgTransfer = exports.createIbcAminoConverters = exports.groupTypes = exports.createGroupAminoConverters = exports.setupGovExtension = exports.isMsgVoteWeightedEncodeObject = exports.isMsgVoteEncodeObject = exports.isMsgSubmitProposalEncodeObject = exports.isMsgDepositEncodeObject = exports.govTypes = exports.isAminoMsgVoteWeighted = exports.isAminoMsgVote = exports.isAminoMsgSubmitProposal = exports.isAminoMsgDeposit = exports.createGovAminoConverters = exports.setupFeegrantExtension = exports.feegrantTypes = exports.createFeegrantAminoConverters = exports.isAminoMsgSubmitEvidence = exports.createEvidenceAminoConverters = exports.setupDistributionExtension = exports.isMsgWithdrawDelegatorRewardEncodeObject = exports.distributionTypes = exports.isAminoMsgWithdrawValidatorCommission = exports.isAminoMsgWithdrawDelegatorReward = exports.isAminoMsgSetWithdrawAddress = exports.isAminoMsgFundCommunityPool = exports.createDistributionAminoConverters = exports.isAminoMsgVerifyInvariant = exports.createCrysisAminoConverters = exports.setupBankExtension = exports.isMsgSendEncodeObject = exports.bankTypes = exports.isAminoMsgSend = exports.isAminoMsgMultiSend = exports.createBankAminoConverters = exports.setupAuthzExtension = exports.authzTypes = exports.createAuthzAminoConverters = exports.setupAuthExtension = void 0; +exports.vestingTypes = exports.isAminoMsgCreateVestingAccount = exports.createVestingAminoConverters = exports.setupTxExtension = exports.setupStakingExtension = exports.stakingTypes = exports.isMsgUndelegateEncodeObject = exports.isMsgEditValidatorEncodeObject = exports.isMsgDelegateEncodeObject = exports.isMsgCreateValidatorEncodeObject = exports.isMsgBeginRedelegateEncodeObject = exports.isAminoMsgUndelegate = exports.isAminoMsgEditValidator = exports.isAminoMsgDelegate = void 0; +var queries_1 = require("./auth/queries"); +Object.defineProperty(exports, "setupAuthExtension", { enumerable: true, get: function () { return queries_1.setupAuthExtension; } }); +var aminomessages_1 = require("./authz/aminomessages"); +Object.defineProperty(exports, "createAuthzAminoConverters", { enumerable: true, get: function () { return aminomessages_1.createAuthzAminoConverters; } }); +var messages_1 = require("./authz/messages"); +Object.defineProperty(exports, "authzTypes", { enumerable: true, get: function () { return messages_1.authzTypes; } }); +var queries_2 = require("./authz/queries"); +Object.defineProperty(exports, "setupAuthzExtension", { enumerable: true, get: function () { return queries_2.setupAuthzExtension; } }); +var aminomessages_2 = require("./bank/aminomessages"); +Object.defineProperty(exports, "createBankAminoConverters", { enumerable: true, get: function () { return aminomessages_2.createBankAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgMultiSend", { enumerable: true, get: function () { return aminomessages_2.isAminoMsgMultiSend; } }); +Object.defineProperty(exports, "isAminoMsgSend", { enumerable: true, get: function () { return aminomessages_2.isAminoMsgSend; } }); +var messages_2 = require("./bank/messages"); +Object.defineProperty(exports, "bankTypes", { enumerable: true, get: function () { return messages_2.bankTypes; } }); +Object.defineProperty(exports, "isMsgSendEncodeObject", { enumerable: true, get: function () { return messages_2.isMsgSendEncodeObject; } }); +var queries_3 = require("./bank/queries"); +Object.defineProperty(exports, "setupBankExtension", { enumerable: true, get: function () { return queries_3.setupBankExtension; } }); +var aminomessages_3 = require("./crisis/aminomessages"); +Object.defineProperty(exports, "createCrysisAminoConverters", { enumerable: true, get: function () { return aminomessages_3.createCrysisAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgVerifyInvariant", { enumerable: true, get: function () { return aminomessages_3.isAminoMsgVerifyInvariant; } }); +var aminomessages_4 = require("./distribution/aminomessages"); +Object.defineProperty(exports, "createDistributionAminoConverters", { enumerable: true, get: function () { return aminomessages_4.createDistributionAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgFundCommunityPool", { enumerable: true, get: function () { return aminomessages_4.isAminoMsgFundCommunityPool; } }); +Object.defineProperty(exports, "isAminoMsgSetWithdrawAddress", { enumerable: true, get: function () { return aminomessages_4.isAminoMsgSetWithdrawAddress; } }); +Object.defineProperty(exports, "isAminoMsgWithdrawDelegatorReward", { enumerable: true, get: function () { return aminomessages_4.isAminoMsgWithdrawDelegatorReward; } }); +Object.defineProperty(exports, "isAminoMsgWithdrawValidatorCommission", { enumerable: true, get: function () { return aminomessages_4.isAminoMsgWithdrawValidatorCommission; } }); +var messages_3 = require("./distribution/messages"); +Object.defineProperty(exports, "distributionTypes", { enumerable: true, get: function () { return messages_3.distributionTypes; } }); +Object.defineProperty(exports, "isMsgWithdrawDelegatorRewardEncodeObject", { enumerable: true, get: function () { return messages_3.isMsgWithdrawDelegatorRewardEncodeObject; } }); +var queries_4 = require("./distribution/queries"); +Object.defineProperty(exports, "setupDistributionExtension", { enumerable: true, get: function () { return queries_4.setupDistributionExtension; } }); +var aminomessages_5 = require("./evidence/aminomessages"); +Object.defineProperty(exports, "createEvidenceAminoConverters", { enumerable: true, get: function () { return aminomessages_5.createEvidenceAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgSubmitEvidence", { enumerable: true, get: function () { return aminomessages_5.isAminoMsgSubmitEvidence; } }); +var aminomessages_6 = require("./feegrant/aminomessages"); +Object.defineProperty(exports, "createFeegrantAminoConverters", { enumerable: true, get: function () { return aminomessages_6.createFeegrantAminoConverters; } }); +var messages_4 = require("./feegrant/messages"); +Object.defineProperty(exports, "feegrantTypes", { enumerable: true, get: function () { return messages_4.feegrantTypes; } }); +var queries_5 = require("./feegrant/queries"); +Object.defineProperty(exports, "setupFeegrantExtension", { enumerable: true, get: function () { return queries_5.setupFeegrantExtension; } }); +var aminomessages_7 = require("./gov/aminomessages"); +Object.defineProperty(exports, "createGovAminoConverters", { enumerable: true, get: function () { return aminomessages_7.createGovAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgDeposit", { enumerable: true, get: function () { return aminomessages_7.isAminoMsgDeposit; } }); +Object.defineProperty(exports, "isAminoMsgSubmitProposal", { enumerable: true, get: function () { return aminomessages_7.isAminoMsgSubmitProposal; } }); +Object.defineProperty(exports, "isAminoMsgVote", { enumerable: true, get: function () { return aminomessages_7.isAminoMsgVote; } }); +Object.defineProperty(exports, "isAminoMsgVoteWeighted", { enumerable: true, get: function () { return aminomessages_7.isAminoMsgVoteWeighted; } }); +var messages_5 = require("./gov/messages"); +Object.defineProperty(exports, "govTypes", { enumerable: true, get: function () { return messages_5.govTypes; } }); +Object.defineProperty(exports, "isMsgDepositEncodeObject", { enumerable: true, get: function () { return messages_5.isMsgDepositEncodeObject; } }); +Object.defineProperty(exports, "isMsgSubmitProposalEncodeObject", { enumerable: true, get: function () { return messages_5.isMsgSubmitProposalEncodeObject; } }); +Object.defineProperty(exports, "isMsgVoteEncodeObject", { enumerable: true, get: function () { return messages_5.isMsgVoteEncodeObject; } }); +Object.defineProperty(exports, "isMsgVoteWeightedEncodeObject", { enumerable: true, get: function () { return messages_5.isMsgVoteWeightedEncodeObject; } }); +var queries_6 = require("./gov/queries"); +Object.defineProperty(exports, "setupGovExtension", { enumerable: true, get: function () { return queries_6.setupGovExtension; } }); +var aminomessages_8 = require("./group/aminomessages"); +Object.defineProperty(exports, "createGroupAminoConverters", { enumerable: true, get: function () { return aminomessages_8.createGroupAminoConverters; } }); +var messages_6 = require("./group/messages"); +Object.defineProperty(exports, "groupTypes", { enumerable: true, get: function () { return messages_6.groupTypes; } }); +var aminomessages_9 = require("./ibc/aminomessages"); +Object.defineProperty(exports, "createIbcAminoConverters", { enumerable: true, get: function () { return aminomessages_9.createIbcAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgTransfer", { enumerable: true, get: function () { return aminomessages_9.isAminoMsgTransfer; } }); +var messages_7 = require("./ibc/messages"); +Object.defineProperty(exports, "ibcTypes", { enumerable: true, get: function () { return messages_7.ibcTypes; } }); +Object.defineProperty(exports, "isMsgTransferEncodeObject", { enumerable: true, get: function () { return messages_7.isMsgTransferEncodeObject; } }); +var queries_7 = require("./ibc/queries"); +Object.defineProperty(exports, "setupIbcExtension", { enumerable: true, get: function () { return queries_7.setupIbcExtension; } }); +var queries_8 = require("./mint/queries"); +Object.defineProperty(exports, "setupMintExtension", { enumerable: true, get: function () { return queries_8.setupMintExtension; } }); +var aminomessages_10 = require("./slashing/aminomessages"); +Object.defineProperty(exports, "createSlashingAminoConverters", { enumerable: true, get: function () { return aminomessages_10.createSlashingAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgUnjail", { enumerable: true, get: function () { return aminomessages_10.isAminoMsgUnjail; } }); +var queries_9 = require("./slashing/queries"); +Object.defineProperty(exports, "setupSlashingExtension", { enumerable: true, get: function () { return queries_9.setupSlashingExtension; } }); +var aminomessages_11 = require("./staking/aminomessages"); +Object.defineProperty(exports, "createStakingAminoConverters", { enumerable: true, get: function () { return aminomessages_11.createStakingAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgBeginRedelegate", { enumerable: true, get: function () { return aminomessages_11.isAminoMsgBeginRedelegate; } }); +Object.defineProperty(exports, "isAminoMsgCreateValidator", { enumerable: true, get: function () { return aminomessages_11.isAminoMsgCreateValidator; } }); +Object.defineProperty(exports, "isAminoMsgDelegate", { enumerable: true, get: function () { return aminomessages_11.isAminoMsgDelegate; } }); +Object.defineProperty(exports, "isAminoMsgEditValidator", { enumerable: true, get: function () { return aminomessages_11.isAminoMsgEditValidator; } }); +Object.defineProperty(exports, "isAminoMsgUndelegate", { enumerable: true, get: function () { return aminomessages_11.isAminoMsgUndelegate; } }); +var messages_8 = require("./staking/messages"); +Object.defineProperty(exports, "isMsgBeginRedelegateEncodeObject", { enumerable: true, get: function () { return messages_8.isMsgBeginRedelegateEncodeObject; } }); +Object.defineProperty(exports, "isMsgCreateValidatorEncodeObject", { enumerable: true, get: function () { return messages_8.isMsgCreateValidatorEncodeObject; } }); +Object.defineProperty(exports, "isMsgDelegateEncodeObject", { enumerable: true, get: function () { return messages_8.isMsgDelegateEncodeObject; } }); +Object.defineProperty(exports, "isMsgEditValidatorEncodeObject", { enumerable: true, get: function () { return messages_8.isMsgEditValidatorEncodeObject; } }); +Object.defineProperty(exports, "isMsgUndelegateEncodeObject", { enumerable: true, get: function () { return messages_8.isMsgUndelegateEncodeObject; } }); +Object.defineProperty(exports, "stakingTypes", { enumerable: true, get: function () { return messages_8.stakingTypes; } }); +var queries_10 = require("./staking/queries"); +Object.defineProperty(exports, "setupStakingExtension", { enumerable: true, get: function () { return queries_10.setupStakingExtension; } }); +var queries_11 = require("./tx/queries"); +Object.defineProperty(exports, "setupTxExtension", { enumerable: true, get: function () { return queries_11.setupTxExtension; } }); +var aminomessages_12 = require("./vesting/aminomessages"); +Object.defineProperty(exports, "createVestingAminoConverters", { enumerable: true, get: function () { return aminomessages_12.createVestingAminoConverters; } }); +Object.defineProperty(exports, "isAminoMsgCreateVestingAccount", { enumerable: true, get: function () { return aminomessages_12.isAminoMsgCreateVestingAccount; } }); +var messages_9 = require("./vesting/messages"); +Object.defineProperty(exports, "vestingTypes", { enumerable: true, get: function () { return messages_9.vestingTypes; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js.map new file mode 100644 index 00000000..bbbf3bb6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;AAAA,0CAAmE;AAA3C,6GAAA,kBAAkB,OAAA;AAC1C,uDAAmE;AAA1D,2HAAA,0BAA0B,OAAA;AACnC,6CAA8C;AAArC,sGAAA,UAAU,OAAA;AACnB,2CAAsD;AAA7C,8GAAA,mBAAmB,OAAA;AAC5B,sDAM8B;AAH5B,0HAAA,yBAAyB,OAAA;AACzB,oHAAA,mBAAmB,OAAA;AACnB,+GAAA,cAAc,OAAA;AAEhB,4CAAwF;AAA/E,qGAAA,SAAS,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AACzC,0CAAmE;AAA3C,6GAAA,kBAAkB,OAAA;AAC1C,wDAIgC;AAF9B,4HAAA,2BAA2B,OAAA;AAC3B,0HAAA,yBAAyB,OAAA;AAE3B,8DAUsC;AALpC,kIAAA,iCAAiC,OAAA;AACjC,4HAAA,2BAA2B,OAAA;AAC3B,6HAAA,4BAA4B,OAAA;AAC5B,kIAAA,iCAAiC,OAAA;AACjC,sIAAA,qCAAqC,OAAA;AAEvC,oDAIiC;AAH/B,6GAAA,iBAAiB,OAAA;AACjB,oIAAA,wCAAwC,OAAA;AAG1C,kDAA2F;AAA3D,qHAAA,0BAA0B,OAAA;AAC1D,0DAIkC;AAFhC,8HAAA,6BAA6B,OAAA;AAC7B,yHAAA,wBAAwB,OAAA;AAE1B,0DAAyE;AAAhE,8HAAA,6BAA6B,OAAA;AACtC,gDAAoD;AAA3C,yGAAA,aAAa,OAAA;AACtB,8CAA+E;AAAnD,iHAAA,sBAAsB,OAAA;AAClD,qDAU6B;AAL3B,yHAAA,wBAAwB,OAAA;AACxB,kHAAA,iBAAiB,OAAA;AACjB,yHAAA,wBAAwB,OAAA;AACxB,+GAAA,cAAc,OAAA;AACd,uHAAA,sBAAsB,OAAA;AAExB,2CAUwB;AATtB,oGAAA,QAAQ,OAAA;AACR,oHAAA,wBAAwB,OAAA;AACxB,2HAAA,+BAA+B,OAAA;AAC/B,iHAAA,qBAAqB,OAAA;AACrB,yHAAA,6BAA6B,OAAA;AAM/B,yCAA8F;AAAzC,4GAAA,iBAAiB,OAAA;AACtE,uDAAmE;AAA1D,2HAAA,0BAA0B,OAAA;AACnC,6CAA8C;AAArC,sGAAA,UAAU,OAAA;AACnB,qDAAqG;AAA1E,yHAAA,wBAAwB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AACvE,2CAA8F;AAArF,oGAAA,QAAQ,OAAA;AAAE,qHAAA,yBAAyB,OAAA;AAC5C,yCAAgE;AAAzC,4GAAA,iBAAiB,OAAA;AACxC,0CAA+E;AAA3C,6GAAA,kBAAkB,OAAA;AACtD,2DAA2G;AAAlF,+HAAA,6BAA6B,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACxE,8CAA+E;AAAtE,iHAAA,sBAAsB,OAAA;AAC/B,0DAYiC;AAN/B,8HAAA,4BAA4B,OAAA;AAC5B,2HAAA,yBAAyB,OAAA;AACzB,2HAAA,yBAAyB,OAAA;AACzB,oHAAA,kBAAkB,OAAA;AAClB,yHAAA,uBAAuB,OAAA;AACvB,sHAAA,oBAAoB,OAAA;AAEtB,+CAY4B;AAX1B,4HAAA,gCAAgC,OAAA;AAChC,4HAAA,gCAAgC,OAAA;AAChC,qHAAA,yBAAyB,OAAA;AACzB,0HAAA,8BAA8B,OAAA;AAC9B,uHAAA,2BAA2B,OAAA;AAM3B,wGAAA,YAAY,OAAA;AAEd,8CAA4E;AAAnE,iHAAA,qBAAqB,OAAA;AAC9B,yCAA6D;AAApD,4GAAA,gBAAgB,OAAA;AACzB,0DAIiC;AAF/B,8HAAA,4BAA4B,OAAA;AAC5B,gIAAA,8BAA8B,OAAA;AAEhC,+CAAkD;AAAzC,wGAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.d.ts new file mode 100644 index 00000000..235e8e08 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.d.ts @@ -0,0 +1,21 @@ +import { Decimal } from "@cosmjs/math"; +import { Params } from "cosmjs-types/cosmos/mint/v1beta1/mint"; +import { QueryClient } from "../../queryclient"; +/** + * Like Params from "cosmjs-types/cosmos/mint/v1beta1/mint" + * but using decimal types. + */ +export interface MintParams extends Pick { + readonly goalBonded: Decimal; + readonly inflationMin: Decimal; + readonly inflationMax: Decimal; + readonly inflationRateChange: Decimal; +} +export interface MintExtension { + readonly mint: { + readonly params: () => Promise; + readonly inflation: () => Promise; + readonly annualProvisions: () => Promise; + }; +} +export declare function setupMintExtension(base: QueryClient): MintExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js new file mode 100644 index 00000000..f056675d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupMintExtension = void 0; +const utils_1 = require("@cosmjs/utils"); +const query_1 = require("cosmjs-types/cosmos/mint/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupMintExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const queryService = new query_1.QueryClientImpl(rpc); + return { + mint: { + params: async () => { + const { params } = await queryService.Params({}); + (0, utils_1.assert)(params); + return { + blocksPerYear: params.blocksPerYear, + goalBonded: (0, queryclient_1.decodeCosmosSdkDecFromProto)(params.goalBonded), + inflationMin: (0, queryclient_1.decodeCosmosSdkDecFromProto)(params.inflationMin), + inflationMax: (0, queryclient_1.decodeCosmosSdkDecFromProto)(params.inflationMax), + inflationRateChange: (0, queryclient_1.decodeCosmosSdkDecFromProto)(params.inflationRateChange), + mintDenom: params.mintDenom, + }; + }, + inflation: async () => { + const { inflation } = await queryService.Inflation({}); + return (0, queryclient_1.decodeCosmosSdkDecFromProto)(inflation); + }, + annualProvisions: async () => { + const { annualProvisions } = await queryService.AnnualProvisions({}); + return (0, queryclient_1.decodeCosmosSdkDecFromProto)(annualProvisions); + }, + }, + }; +} +exports.setupMintExtension = setupMintExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js.map new file mode 100644 index 00000000..7576a096 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/mint/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/mint/queries.ts"],"names":[],"mappings":";;;AACA,yCAAuC;AAEvC,kEAAyE;AAEzE,mDAAsG;AAqBtG,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK,IAAyB,EAAE;gBACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjD,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC;gBAEf,OAAO;oBACL,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,UAAU,EAAE,IAAA,yCAA2B,EAAC,MAAM,CAAC,UAAU,CAAC;oBAC1D,YAAY,EAAE,IAAA,yCAA2B,EAAC,MAAM,CAAC,YAAY,CAAC;oBAC9D,YAAY,EAAE,IAAA,yCAA2B,EAAC,MAAM,CAAC,YAAY,CAAC;oBAC9D,mBAAmB,EAAE,IAAA,yCAA2B,EAAC,MAAM,CAAC,mBAAmB,CAAC;oBAC5E,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,IAAA,yCAA2B,EAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC3B,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACrE,OAAO,IAAA,yCAA2B,EAAC,gBAAgB,CAAC,CAAC;YACvD,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AA/BD,gDA+BC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.d.ts new file mode 100644 index 00000000..da320a34 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.d.ts @@ -0,0 +1,12 @@ +import { AminoMsg } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +/** Unjails a jailed validator */ +export interface AminoMsgUnjail extends AminoMsg { + readonly type: "cosmos-sdk/MsgUnjail"; + readonly value: { + /** Bech32 account address */ + readonly validator_addr: string; + }; +} +export declare function isAminoMsgUnjail(msg: AminoMsg): msg is AminoMsgUnjail; +export declare function createSlashingAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js new file mode 100644 index 00000000..df0b8791 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createSlashingAminoConverters = exports.isAminoMsgUnjail = void 0; +function isAminoMsgUnjail(msg) { + return msg.type === "cosmos-sdk/MsgUnjail"; +} +exports.isAminoMsgUnjail = isAminoMsgUnjail; +function createSlashingAminoConverters() { + throw new Error("Not implemented"); +} +exports.createSlashingAminoConverters = createSlashingAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js.map new file mode 100644 index 00000000..5cbefce5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/slashing/aminomessages.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,gBAAgB,CAAC,GAAa;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC;AAC7C,CAAC;AAFD,4CAEC;AAED,SAAgB,6BAA6B;IAC3C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAFD,sEAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.d.ts new file mode 100644 index 00000000..8cd05cd7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.d.ts @@ -0,0 +1,10 @@ +import { QueryParamsResponse, QuerySigningInfoResponse, QuerySigningInfosResponse } from "cosmjs-types/cosmos/slashing/v1beta1/query"; +import { QueryClient } from "../../queryclient"; +export interface SlashingExtension { + readonly slashing: { + signingInfo: (consAddress: string) => Promise; + signingInfos: (paginationKey?: Uint8Array) => Promise; + params: () => Promise; + }; +} +export declare function setupSlashingExtension(base: QueryClient): SlashingExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js new file mode 100644 index 00000000..bfd30822 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupSlashingExtension = void 0; +const query_1 = require("cosmjs-types/cosmos/slashing/v1beta1/query"); +const queryclient_1 = require("../../queryclient"); +function setupSlashingExtension(base) { + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + const queryService = new query_1.QueryClientImpl(rpc); + return { + slashing: { + signingInfo: async (consAddress) => { + const response = await queryService.SigningInfo({ + consAddress: consAddress, + }); + return response; + }, + signingInfos: async (paginationKey) => { + const response = await queryService.SigningInfos({ + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + params: async () => { + const response = await queryService.Params({}); + return response; + }, + }, + }; +} +exports.setupSlashingExtension = setupSlashingExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js.map new file mode 100644 index 00000000..c11d69ba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/slashing/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/slashing/queries.ts"],"names":[],"mappings":";;;AAMA,sEAA6E;AAE7E,mDAA2F;AAU3F,SAAgB,sBAAsB,CAAC,IAAiB;IACtD,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,uBAAe,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;QACL,QAAQ,EAAE;YACR,WAAW,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;oBAC9C,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,aAA0B,EAAE,EAAE;gBACjD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;oBAC/C,UAAU,EAAE,IAAA,8BAAgB,EAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAxBD,wDAwBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.d.ts new file mode 100644 index 00000000..2c8dfcea --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.d.ts @@ -0,0 +1,102 @@ +import { AminoMsg, Coin, Pubkey } from "@cosmjs/amino"; +import { AminoConverter } from "../.."; +/** The initial commission rates to be used for creating a validator */ +interface CommissionRates { + readonly rate: string; + readonly max_rate: string; + readonly max_change_rate: string; +} +/** A validator description. */ +interface Description { + readonly moniker: string; + readonly identity: string; + readonly website: string; + readonly security_contact: string; + readonly details: string; +} +export declare function protoDecimalToJson(decimal: string): string; +/** Creates a new validator. */ +export interface AminoMsgCreateValidator extends AminoMsg { + readonly type: "cosmos-sdk/MsgCreateValidator"; + readonly value: { + readonly description: Description; + readonly commission: CommissionRates; + readonly min_self_delegation: string; + /** Bech32 encoded delegator address */ + readonly delegator_address: string; + /** Bech32 encoded validator address */ + readonly validator_address: string; + /** Public key */ + readonly pubkey: Pubkey; + readonly value: Coin; + }; +} +export declare function isAminoMsgCreateValidator(msg: AminoMsg): msg is AminoMsgCreateValidator; +/** Edits an existing validator. */ +export interface AminoMsgEditValidator extends AminoMsg { + readonly type: "cosmos-sdk/MsgEditValidator"; + readonly value: { + readonly description: Description; + /** Bech32 encoded validator address */ + readonly validator_address: string; + /** + * The new value for the comission rate. + * + * An empty string in the protobuf document means "do not change". + * In Amino JSON this empty string becomes undefined (omitempty) + */ + readonly commission_rate: string | undefined; + /** + * The new value for the comission rate. + * + * An empty string in the protobuf document means "do not change". + * In Amino JSON this empty string becomes undefined (omitempty) + */ + readonly min_self_delegation: string | undefined; + }; +} +export declare function isAminoMsgEditValidator(msg: AminoMsg): msg is AminoMsgEditValidator; +/** + * Performs a delegation from a delegate to a validator. + * + * @see https://docs.cosmos.network/master/modules/staking/03_messages.html#msgdelegate + */ +export interface AminoMsgDelegate extends AminoMsg { + readonly type: "cosmos-sdk/MsgDelegate"; + readonly value: { + /** Bech32 encoded delegator address */ + readonly delegator_address: string; + /** Bech32 encoded validator address */ + readonly validator_address: string; + readonly amount: Coin; + }; +} +export declare function isAminoMsgDelegate(msg: AminoMsg): msg is AminoMsgDelegate; +/** Performs a redelegation from a delegate and source validator to a destination validator */ +export interface AminoMsgBeginRedelegate extends AminoMsg { + readonly type: "cosmos-sdk/MsgBeginRedelegate"; + readonly value: { + /** Bech32 encoded delegator address */ + readonly delegator_address: string; + /** Bech32 encoded source validator address */ + readonly validator_src_address: string; + /** Bech32 encoded destination validator address */ + readonly validator_dst_address: string; + readonly amount: Coin; + }; +} +export declare function isAminoMsgBeginRedelegate(msg: AminoMsg): msg is AminoMsgBeginRedelegate; +/** Performs an undelegation from a delegate and a validator */ +export interface AminoMsgUndelegate extends AminoMsg { + readonly type: "cosmos-sdk/MsgUndelegate"; + readonly value: { + /** Bech32 encoded delegator address */ + readonly delegator_address: string; + /** Bech32 encoded validator address */ + readonly validator_address: string; + readonly amount: Coin; + }; +} +export declare function isAminoMsgUndelegate(msg: AminoMsg): msg is AminoMsgUndelegate; +export declare function createStakingAminoConverters(): Record; +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js new file mode 100644 index 00000000..9e16ff74 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js @@ -0,0 +1,175 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createStakingAminoConverters = exports.isAminoMsgUndelegate = exports.isAminoMsgBeginRedelegate = exports.isAminoMsgDelegate = exports.isAminoMsgEditValidator = exports.isAminoMsgCreateValidator = exports.protoDecimalToJson = void 0; +const math_1 = require("@cosmjs/math"); +const proto_signing_1 = require("@cosmjs/proto-signing"); +const utils_1 = require("@cosmjs/utils"); +function protoDecimalToJson(decimal) { + const parsed = math_1.Decimal.fromAtomics(decimal, 18); + const [whole, fractional] = parsed.toString().split("."); + return `${whole}.${(fractional ?? "").padEnd(18, "0")}`; +} +exports.protoDecimalToJson = protoDecimalToJson; +function jsonDecimalToProto(decimal) { + const parsed = math_1.Decimal.fromUserInput(decimal, 18); + return parsed.atomics; +} +function isAminoMsgCreateValidator(msg) { + return msg.type === "cosmos-sdk/MsgCreateValidator"; +} +exports.isAminoMsgCreateValidator = isAminoMsgCreateValidator; +function isAminoMsgEditValidator(msg) { + return msg.type === "cosmos-sdk/MsgEditValidator"; +} +exports.isAminoMsgEditValidator = isAminoMsgEditValidator; +function isAminoMsgDelegate(msg) { + return msg.type === "cosmos-sdk/MsgDelegate"; +} +exports.isAminoMsgDelegate = isAminoMsgDelegate; +function isAminoMsgBeginRedelegate(msg) { + return msg.type === "cosmos-sdk/MsgBeginRedelegate"; +} +exports.isAminoMsgBeginRedelegate = isAminoMsgBeginRedelegate; +function isAminoMsgUndelegate(msg) { + return msg.type === "cosmos-sdk/MsgUndelegate"; +} +exports.isAminoMsgUndelegate = isAminoMsgUndelegate; +function createStakingAminoConverters() { + return { + "/cosmos.staking.v1beta1.MsgBeginRedelegate": { + aminoType: "cosmos-sdk/MsgBeginRedelegate", + toAmino: ({ delegatorAddress, validatorSrcAddress, validatorDstAddress, amount, }) => { + (0, utils_1.assertDefinedAndNotNull)(amount, "missing amount"); + return { + delegator_address: delegatorAddress, + validator_src_address: validatorSrcAddress, + validator_dst_address: validatorDstAddress, + amount: amount, + }; + }, + fromAmino: ({ delegator_address, validator_src_address, validator_dst_address, amount, }) => ({ + delegatorAddress: delegator_address, + validatorSrcAddress: validator_src_address, + validatorDstAddress: validator_dst_address, + amount: amount, + }), + }, + "/cosmos.staking.v1beta1.MsgCreateValidator": { + aminoType: "cosmos-sdk/MsgCreateValidator", + toAmino: ({ description, commission, minSelfDelegation, delegatorAddress, validatorAddress, pubkey, value, }) => { + (0, utils_1.assertDefinedAndNotNull)(description, "missing description"); + (0, utils_1.assertDefinedAndNotNull)(commission, "missing commission"); + (0, utils_1.assertDefinedAndNotNull)(pubkey, "missing pubkey"); + (0, utils_1.assertDefinedAndNotNull)(value, "missing value"); + return { + description: { + moniker: description.moniker, + identity: description.identity, + website: description.website, + security_contact: description.securityContact, + details: description.details, + }, + commission: { + rate: protoDecimalToJson(commission.rate), + max_rate: protoDecimalToJson(commission.maxRate), + max_change_rate: protoDecimalToJson(commission.maxChangeRate), + }, + min_self_delegation: minSelfDelegation, + delegator_address: delegatorAddress, + validator_address: validatorAddress, + pubkey: (0, proto_signing_1.decodePubkey)(pubkey), + value: value, + }; + }, + fromAmino: ({ description, commission, min_self_delegation, delegator_address, validator_address, pubkey, value, }) => { + return { + description: { + moniker: description.moniker, + identity: description.identity, + website: description.website, + securityContact: description.security_contact, + details: description.details, + }, + commission: { + rate: jsonDecimalToProto(commission.rate), + maxRate: jsonDecimalToProto(commission.max_rate), + maxChangeRate: jsonDecimalToProto(commission.max_change_rate), + }, + minSelfDelegation: min_self_delegation, + delegatorAddress: delegator_address, + validatorAddress: validator_address, + pubkey: (0, proto_signing_1.encodePubkey)(pubkey), + value: value, + }; + }, + }, + "/cosmos.staking.v1beta1.MsgDelegate": { + aminoType: "cosmos-sdk/MsgDelegate", + toAmino: ({ delegatorAddress, validatorAddress, amount }) => { + (0, utils_1.assertDefinedAndNotNull)(amount, "missing amount"); + return { + delegator_address: delegatorAddress, + validator_address: validatorAddress, + amount: amount, + }; + }, + fromAmino: ({ delegator_address, validator_address, amount, }) => ({ + delegatorAddress: delegator_address, + validatorAddress: validator_address, + amount: amount, + }), + }, + "/cosmos.staking.v1beta1.MsgEditValidator": { + aminoType: "cosmos-sdk/MsgEditValidator", + toAmino: ({ description, commissionRate, minSelfDelegation, validatorAddress, }) => { + (0, utils_1.assertDefinedAndNotNull)(description, "missing description"); + return { + description: { + moniker: description.moniker, + identity: description.identity, + website: description.website, + security_contact: description.securityContact, + details: description.details, + }, + // empty string in the protobuf document means "do not change" + commission_rate: commissionRate ? protoDecimalToJson(commissionRate) : undefined, + // empty string in the protobuf document means "do not change" + min_self_delegation: minSelfDelegation ? minSelfDelegation : undefined, + validator_address: validatorAddress, + }; + }, + fromAmino: ({ description, commission_rate, min_self_delegation, validator_address, }) => ({ + description: { + moniker: description.moniker, + identity: description.identity, + website: description.website, + securityContact: description.security_contact, + details: description.details, + }, + // empty string in the protobuf document means "do not change" + commissionRate: commission_rate ? jsonDecimalToProto(commission_rate) : "", + // empty string in the protobuf document means "do not change" + minSelfDelegation: min_self_delegation ?? "", + validatorAddress: validator_address, + }), + }, + "/cosmos.staking.v1beta1.MsgUndelegate": { + aminoType: "cosmos-sdk/MsgUndelegate", + toAmino: ({ delegatorAddress, validatorAddress, amount, }) => { + (0, utils_1.assertDefinedAndNotNull)(amount, "missing amount"); + return { + delegator_address: delegatorAddress, + validator_address: validatorAddress, + amount: amount, + }; + }, + fromAmino: ({ delegator_address, validator_address, amount, }) => ({ + delegatorAddress: delegator_address, + validatorAddress: validator_address, + amount: amount, + }), + }, + }; +} +exports.createStakingAminoConverters = createStakingAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js.map new file mode 100644 index 00000000..974904e6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/staking/aminomessages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.d.ts new file mode 100644 index 00000000..4fafdcda --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.d.ts @@ -0,0 +1,28 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { MsgBeginRedelegate, MsgCreateValidator, MsgDelegate, MsgEditValidator, MsgUndelegate } from "cosmjs-types/cosmos/staking/v1beta1/tx"; +export declare const stakingTypes: ReadonlyArray<[string, GeneratedType]>; +export interface MsgBeginRedelegateEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegate"; + readonly value: Partial; +} +export declare function isMsgBeginRedelegateEncodeObject(o: EncodeObject): o is MsgBeginRedelegateEncodeObject; +export interface MsgCreateValidatorEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.staking.v1beta1.MsgCreateValidator"; + readonly value: Partial; +} +export declare function isMsgCreateValidatorEncodeObject(o: EncodeObject): o is MsgCreateValidatorEncodeObject; +export interface MsgDelegateEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.staking.v1beta1.MsgDelegate"; + readonly value: Partial; +} +export declare function isMsgDelegateEncodeObject(object: EncodeObject): object is MsgDelegateEncodeObject; +export interface MsgEditValidatorEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.staking.v1beta1.MsgEditValidator"; + readonly value: Partial; +} +export declare function isMsgEditValidatorEncodeObject(o: EncodeObject): o is MsgEditValidatorEncodeObject; +export interface MsgUndelegateEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate"; + readonly value: Partial; +} +export declare function isMsgUndelegateEncodeObject(object: EncodeObject): object is MsgUndelegateEncodeObject; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js new file mode 100644 index 00000000..b669e6b8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMsgUndelegateEncodeObject = exports.isMsgEditValidatorEncodeObject = exports.isMsgDelegateEncodeObject = exports.isMsgCreateValidatorEncodeObject = exports.isMsgBeginRedelegateEncodeObject = exports.stakingTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/staking/v1beta1/tx"); +exports.stakingTypes = [ + ["/cosmos.staking.v1beta1.MsgBeginRedelegate", tx_1.MsgBeginRedelegate], + ["/cosmos.staking.v1beta1.MsgCreateValidator", tx_1.MsgCreateValidator], + ["/cosmos.staking.v1beta1.MsgDelegate", tx_1.MsgDelegate], + ["/cosmos.staking.v1beta1.MsgEditValidator", tx_1.MsgEditValidator], + ["/cosmos.staking.v1beta1.MsgUndelegate", tx_1.MsgUndelegate], +]; +function isMsgBeginRedelegateEncodeObject(o) { + return o.typeUrl === "/cosmos.staking.v1beta1.MsgBeginRedelegate"; +} +exports.isMsgBeginRedelegateEncodeObject = isMsgBeginRedelegateEncodeObject; +function isMsgCreateValidatorEncodeObject(o) { + return o.typeUrl === "/cosmos.staking.v1beta1.MsgCreateValidator"; +} +exports.isMsgCreateValidatorEncodeObject = isMsgCreateValidatorEncodeObject; +function isMsgDelegateEncodeObject(object) { + return object.typeUrl === "/cosmos.staking.v1beta1.MsgDelegate"; +} +exports.isMsgDelegateEncodeObject = isMsgDelegateEncodeObject; +function isMsgEditValidatorEncodeObject(o) { + return o.typeUrl === "/cosmos.staking.v1beta1.MsgEditValidator"; +} +exports.isMsgEditValidatorEncodeObject = isMsgEditValidatorEncodeObject; +function isMsgUndelegateEncodeObject(object) { + return object.typeUrl === "/cosmos.staking.v1beta1.MsgUndelegate"; +} +exports.isMsgUndelegateEncodeObject = isMsgUndelegateEncodeObject; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js.map new file mode 100644 index 00000000..613b464e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/staking/messages.ts"],"names":[],"mappings":";;;AACA,+DAMgD;AAEnC,QAAA,YAAY,GAA2C;IAClE,CAAC,4CAA4C,EAAE,uBAAkB,CAAC;IAClE,CAAC,4CAA4C,EAAE,uBAAkB,CAAC;IAClE,CAAC,qCAAqC,EAAE,gBAAW,CAAC;IACpD,CAAC,0CAA0C,EAAE,qBAAgB,CAAC;IAC9D,CAAC,uCAAuC,EAAE,kBAAa,CAAC;CACzD,CAAC;AAOF,SAAgB,gCAAgC,CAAC,CAAe;IAC9D,OAAQ,CAAoC,CAAC,OAAO,KAAK,4CAA4C,CAAC;AACxG,CAAC;AAFD,4EAEC;AAOD,SAAgB,gCAAgC,CAAC,CAAe;IAC9D,OAAQ,CAAoC,CAAC,OAAO,KAAK,4CAA4C,CAAC;AACxG,CAAC;AAFD,4EAEC;AAOD,SAAgB,yBAAyB,CAAC,MAAoB;IAC5D,OAAQ,MAAkC,CAAC,OAAO,KAAK,qCAAqC,CAAC;AAC/F,CAAC;AAFD,8DAEC;AAOD,SAAgB,8BAA8B,CAAC,CAAe;IAC5D,OAAQ,CAAkC,CAAC,OAAO,KAAK,0CAA0C,CAAC;AACpG,CAAC;AAFD,wEAEC;AAOD,SAAgB,2BAA2B,CAAC,MAAoB;IAC9D,OAAQ,MAAoC,CAAC,OAAO,KAAK,uCAAuC,CAAC;AACnG,CAAC;AAFD,kEAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.d.ts new file mode 100644 index 00000000..e11a977b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.d.ts @@ -0,0 +1,23 @@ +import { QueryDelegationResponse, QueryDelegatorDelegationsResponse, QueryDelegatorUnbondingDelegationsResponse, QueryDelegatorValidatorResponse, QueryDelegatorValidatorsResponse, QueryHistoricalInfoResponse, QueryParamsResponse, QueryPoolResponse, QueryRedelegationsResponse, QueryUnbondingDelegationResponse, QueryValidatorDelegationsResponse, QueryValidatorResponse, QueryValidatorsResponse, QueryValidatorUnbondingDelegationsResponse } from "cosmjs-types/cosmos/staking/v1beta1/query"; +import { BondStatus } from "cosmjs-types/cosmos/staking/v1beta1/staking"; +import { QueryClient } from "../../queryclient"; +export type BondStatusString = keyof Pick | ""; +export interface StakingExtension { + readonly staking: { + delegation: (delegatorAddress: string, validatorAddress: string) => Promise; + delegatorDelegations: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; + delegatorUnbondingDelegations: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; + delegatorValidator: (delegatorAddress: string, validatorAddress: string) => Promise; + delegatorValidators: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; + historicalInfo: (height: number) => Promise; + params: () => Promise; + pool: () => Promise; + redelegations: (delegatorAddress: string, sourceValidatorAddress: string, destinationValidatorAddress: string, paginationKey?: Uint8Array) => Promise; + unbondingDelegation: (delegatorAddress: string, validatorAddress: string) => Promise; + validator: (validatorAddress: string) => Promise; + validatorDelegations: (validatorAddress: string, paginationKey?: Uint8Array) => Promise; + validators: (status: BondStatusString, paginationKey?: Uint8Array) => Promise; + validatorUnbondingDelegations: (validatorAddress: string, paginationKey?: Uint8Array) => Promise; + }; +} +export declare function setupStakingExtension(base: QueryClient): StakingExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js new file mode 100644 index 00000000..813169e4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js @@ -0,0 +1,112 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupStakingExtension = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const query_1 = require("cosmjs-types/cosmos/staking/v1beta1/query"); +const long_1 = __importDefault(require("long")); +const queryclient_1 = require("../../queryclient"); +function setupStakingExtension(base) { + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + const queryService = new query_1.QueryClientImpl(rpc); + return { + staking: { + delegation: async (delegatorAddress, validatorAddress) => { + const response = await queryService.Delegation({ + delegatorAddr: delegatorAddress, + validatorAddr: validatorAddress, + }); + return response; + }, + delegatorDelegations: async (delegatorAddress, paginationKey) => { + const response = await queryService.DelegatorDelegations({ + delegatorAddr: delegatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + delegatorUnbondingDelegations: async (delegatorAddress, paginationKey) => { + const response = await queryService.DelegatorUnbondingDelegations({ + delegatorAddr: delegatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + delegatorValidator: async (delegatorAddress, validatorAddress) => { + const response = await queryService.DelegatorValidator({ + delegatorAddr: delegatorAddress, + validatorAddr: validatorAddress, + }); + return response; + }, + delegatorValidators: async (delegatorAddress, paginationKey) => { + const response = await queryService.DelegatorValidators({ + delegatorAddr: delegatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + historicalInfo: async (height) => { + const response = await queryService.HistoricalInfo({ + height: long_1.default.fromNumber(height, true), + }); + return response; + }, + params: async () => { + const response = await queryService.Params({}); + return response; + }, + pool: async () => { + const response = await queryService.Pool({}); + return response; + }, + redelegations: async (delegatorAddress, sourceValidatorAddress, destinationValidatorAddress, paginationKey) => { + const response = await queryService.Redelegations({ + delegatorAddr: delegatorAddress, + srcValidatorAddr: sourceValidatorAddress, + dstValidatorAddr: destinationValidatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + unbondingDelegation: async (delegatorAddress, validatorAddress) => { + const response = await queryService.UnbondingDelegation({ + delegatorAddr: delegatorAddress, + validatorAddr: validatorAddress, + }); + return response; + }, + validator: async (validatorAddress) => { + const response = await queryService.Validator({ validatorAddr: validatorAddress }); + return response; + }, + validatorDelegations: async (validatorAddress, paginationKey) => { + const response = await queryService.ValidatorDelegations({ + validatorAddr: validatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + validators: async (status, paginationKey) => { + const response = await queryService.Validators({ + status: status, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + validatorUnbondingDelegations: async (validatorAddress, paginationKey) => { + const response = await queryService.ValidatorUnbondingDelegations({ + validatorAddr: validatorAddress, + pagination: (0, queryclient_1.createPagination)(paginationKey), + }); + return response; + }, + }, + }; +} +exports.setupStakingExtension = setupStakingExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js.map new file mode 100644 index 00000000..8256e60f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/staking/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/staking/queries.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.d.ts new file mode 100644 index 00000000..804d654f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.d.ts @@ -0,0 +1,11 @@ +import { Pubkey } from "@cosmjs/amino"; +import { GetTxResponse, SimulateResponse } from "cosmjs-types/cosmos/tx/v1beta1/service"; +import { Any } from "cosmjs-types/google/protobuf/any"; +import { QueryClient } from "../../queryclient"; +export interface TxExtension { + readonly tx: { + getTx: (txId: string) => Promise; + simulate: (messages: readonly Any[], memo: string | undefined, signer: Pubkey, sequence: number) => Promise; + }; +} +export declare function setupTxExtension(base: QueryClient): TxExtension; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js new file mode 100644 index 00000000..3617e389 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js @@ -0,0 +1,55 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupTxExtension = void 0; +const proto_signing_1 = require("@cosmjs/proto-signing"); +const signing_1 = require("cosmjs-types/cosmos/tx/signing/v1beta1/signing"); +const service_1 = require("cosmjs-types/cosmos/tx/v1beta1/service"); +const tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx"); +const long_1 = __importDefault(require("long")); +const queryclient_1 = require("../../queryclient"); +function setupTxExtension(base) { + // Use this service to get easy typed access to query methods + // This cannot be used for proof verification + const rpc = (0, queryclient_1.createProtobufRpcClient)(base); + const queryService = new service_1.ServiceClientImpl(rpc); + return { + tx: { + getTx: async (txId) => { + const request = { + hash: txId, + }; + const response = await queryService.GetTx(request); + return response; + }, + simulate: async (messages, memo, signer, sequence) => { + const tx = tx_1.Tx.fromPartial({ + authInfo: tx_1.AuthInfo.fromPartial({ + fee: tx_1.Fee.fromPartial({}), + signerInfos: [ + { + publicKey: (0, proto_signing_1.encodePubkey)(signer), + sequence: long_1.default.fromNumber(sequence, true), + modeInfo: { single: { mode: signing_1.SignMode.SIGN_MODE_UNSPECIFIED } }, + }, + ], + }), + body: tx_1.TxBody.fromPartial({ + messages: Array.from(messages), + memo: memo, + }), + signatures: [new Uint8Array()], + }); + const request = service_1.SimulateRequest.fromPartial({ + txBytes: tx_1.Tx.encode(tx).finish(), + }); + const response = await queryService.Simulate(request); + return response; + }, + }, + }; +} +exports.setupTxExtension = setupTxExtension; +//# sourceMappingURL=queries.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js.map new file mode 100644 index 00000000..ca865dd7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/tx/queries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/modules/tx/queries.ts"],"names":[],"mappings":";;;;;;AACA,yDAAqD;AACrD,4EAA0E;AAC1E,oEAMgD;AAChD,0DAA8E;AAE9E,gDAAwB;AAExB,mDAAyE;AAiBzE,SAAgB,gBAAgB,CAAC,IAAiB;IAChD,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,GAAG,GAAG,IAAA,qCAAuB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,2BAAiB,CAAC,GAAG,CAAC,CAAC;IAEhD,OAAO;QACL,EAAE,EAAE;YACF,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC5B,MAAM,OAAO,GAAiB;oBAC5B,IAAI,EAAE,IAAI;iBACX,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,QAAQ,EAAE,KAAK,EACb,QAAwB,EACxB,IAAwB,EACxB,MAAc,EACd,QAAgB,EAChB,EAAE;gBACF,MAAM,EAAE,GAAG,OAAE,CAAC,WAAW,CAAC;oBACxB,QAAQ,EAAE,aAAQ,CAAC,WAAW,CAAC;wBAC7B,GAAG,EAAE,QAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxB,WAAW,EAAE;4BACX;gCACE,SAAS,EAAE,IAAA,4BAAY,EAAC,MAAM,CAAC;gCAC/B,QAAQ,EAAE,cAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC;gCACzC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAQ,CAAC,qBAAqB,EAAE,EAAE;6BAC/D;yBACF;qBACF,CAAC;oBACF,IAAI,EAAE,WAAM,CAAC,WAAW,CAAC;wBACvB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC9B,IAAI,EAAE,IAAI;qBACX,CAAC;oBACF,UAAU,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;iBAC/B,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,yBAAe,CAAC,WAAW,CAAC;oBAC1C,OAAO,EAAE,OAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;iBAChC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtD,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AA9CD,4CA8CC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.d.ts new file mode 100644 index 00000000..a3f7e077 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.d.ts @@ -0,0 +1,16 @@ +import { AminoMsg, Coin } from "@cosmjs/amino"; +import { AminoConverters } from "../../aminotypes"; +export interface AminoMsgCreateVestingAccount extends AminoMsg { + readonly type: "cosmos-sdk/MsgCreateVestingAccount"; + readonly value: { + /** Bech32 account address */ + readonly from_address: string; + /** Bech32 account address */ + readonly to_address: string; + readonly amount: readonly Coin[]; + readonly end_time: string; + readonly delayed: boolean; + }; +} +export declare function isAminoMsgCreateVestingAccount(msg: AminoMsg): msg is AminoMsgCreateVestingAccount; +export declare function createVestingAminoConverters(): AminoConverters; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js new file mode 100644 index 00000000..64e556dc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js @@ -0,0 +1,34 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createVestingAminoConverters = exports.isAminoMsgCreateVestingAccount = void 0; +const long_1 = __importDefault(require("long")); +function isAminoMsgCreateVestingAccount(msg) { + return msg.type === "cosmos-sdk/MsgCreateVestingAccount"; +} +exports.isAminoMsgCreateVestingAccount = isAminoMsgCreateVestingAccount; +function createVestingAminoConverters() { + return { + "/cosmos.vesting.v1beta1.MsgCreateVestingAccount": { + aminoType: "cosmos-sdk/MsgCreateVestingAccount", + toAmino: ({ fromAddress, toAddress, amount, endTime, delayed, }) => ({ + from_address: fromAddress, + to_address: toAddress, + amount: [...amount], + end_time: endTime.toString(), + delayed: delayed, + }), + fromAmino: ({ from_address, to_address, amount, end_time, delayed, }) => ({ + fromAddress: from_address, + toAddress: to_address, + amount: [...amount], + endTime: long_1.default.fromString(end_time), + delayed: delayed, + }), + }, + }; +} +exports.createVestingAminoConverters = createVestingAminoConverters; +//# sourceMappingURL=aminomessages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js.map new file mode 100644 index 00000000..282a7187 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/aminomessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aminomessages.js","sourceRoot":"","sources":["../../../src/modules/vesting/aminomessages.ts"],"names":[],"mappings":";;;;;;AAGA,gDAAwB;AAiBxB,SAAgB,8BAA8B,CAAC,GAAa;IAC1D,OAAO,GAAG,CAAC,IAAI,KAAK,oCAAoC,CAAC;AAC3D,CAAC;AAFD,wEAEC;AAED,SAAgB,4BAA4B;IAC1C,OAAO;QACL,iDAAiD,EAAE;YACjD,SAAS,EAAE,oCAAoC;YAC/C,OAAO,EAAE,CAAC,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,GACiB,EAAyC,EAAE,CAAC,CAAC;gBACrE,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;gBACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC5B,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,SAAS,EAAE,CAAC,EACV,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,GAC+B,EAA2B,EAAE,CAAC,CAAC;gBACrE,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;gBACnB,OAAO,EAAE,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAClC,OAAO,EAAE,OAAO;aACjB,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAhCD,oEAgCC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.d.ts new file mode 100644 index 00000000..1a089232 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.d.ts @@ -0,0 +1,2 @@ +import { GeneratedType } from "@cosmjs/proto-signing"; +export declare const vestingTypes: ReadonlyArray<[string, GeneratedType]>; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js new file mode 100644 index 00000000..a8d082da --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.vestingTypes = void 0; +const tx_1 = require("cosmjs-types/cosmos/vesting/v1beta1/tx"); +exports.vestingTypes = [ + ["/cosmos.vesting.v1beta1.MsgCreateVestingAccount", tx_1.MsgCreateVestingAccount], +]; +//# sourceMappingURL=messages.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js.map b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js.map new file mode 100644 index 00000000..96d49635 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/modules/vesting/messages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/vesting/messages.ts"],"names":[],"mappings":";;;AACA,+DAAiF;AAEpE,QAAA,YAAY,GAA2C;IAClE,CAAC,iDAAiD,EAAE,4BAAuB,CAAC;CAC7E,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.d.ts new file mode 100644 index 00000000..81c4276f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.d.ts @@ -0,0 +1,2 @@ +export { QueryAbciResponse, QueryClient, QueryStoreResponse } from "./queryclient"; +export { createPagination, createProtobufRpcClient, decodeCosmosSdkDecFromProto, longify, ProtobufRpcClient, } from "./utils"; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js new file mode 100644 index 00000000..23c92f53 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.longify = exports.decodeCosmosSdkDecFromProto = exports.createProtobufRpcClient = exports.createPagination = exports.QueryClient = void 0; +var queryclient_1 = require("./queryclient"); +Object.defineProperty(exports, "QueryClient", { enumerable: true, get: function () { return queryclient_1.QueryClient; } }); +var utils_1 = require("./utils"); +Object.defineProperty(exports, "createPagination", { enumerable: true, get: function () { return utils_1.createPagination; } }); +Object.defineProperty(exports, "createProtobufRpcClient", { enumerable: true, get: function () { return utils_1.createProtobufRpcClient; } }); +Object.defineProperty(exports, "decodeCosmosSdkDecFromProto", { enumerable: true, get: function () { return utils_1.decodeCosmosSdkDecFromProto; } }); +Object.defineProperty(exports, "longify", { enumerable: true, get: function () { return utils_1.longify; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js.map b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js.map new file mode 100644 index 00000000..e4b6690a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queryclient/index.ts"],"names":[],"mappings":";;;AAAA,6CAAmF;AAAvD,0GAAA,WAAW,OAAA;AACvC,iCAMiB;AALf,yGAAA,gBAAgB,OAAA;AAChB,gHAAA,uBAAuB,OAAA;AACvB,oHAAA,2BAA2B,OAAA;AAC3B,gGAAA,OAAO,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.d.ts new file mode 100644 index 00000000..e2e65c40 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.d.ts @@ -0,0 +1,83 @@ +import { TendermintClient } from "@cosmjs/tendermint-rpc"; +import { ProofOps } from "cosmjs-types/tendermint/crypto/proof"; +type QueryExtensionSetup

= (base: QueryClient) => P; +export interface ProvenQuery { + readonly key: Uint8Array; + readonly value: Uint8Array; + readonly proof: ProofOps; + readonly height: number; +} +export interface QueryStoreResponse { + /** The response key from Tendermint. This is the same as the query key in the request. */ + readonly key: Uint8Array; + readonly value: Uint8Array; + readonly height: number; +} +/** + * The response of an ABCI query to Tendermint. + * This is a subset of `tendermint34.AbciQueryResponse` in order + * to abstract away Tendermint versions. + */ +export interface QueryAbciResponse { + readonly value: Uint8Array; + readonly height: number; +} +export declare class QueryClient { + /** Constructs a QueryClient with 0 extensions */ + static withExtensions(tmClient: TendermintClient): QueryClient; + /** Constructs a QueryClient with 1 extension */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup): QueryClient & A; + /** Constructs a QueryClient with 2 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup): QueryClient & A & B; + /** Constructs a QueryClient with 3 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup): QueryClient & A & B & C; + /** Constructs a QueryClient with 4 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup): QueryClient & A & B & C & D; + /** Constructs a QueryClient with 5 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup): QueryClient & A & B & C & D & E; + /** Constructs a QueryClient with 6 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup): QueryClient & A & B & C & D & E & F; + /** Constructs a QueryClient with 7 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G; + /** Constructs a QueryClient with 8 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H; + /** Constructs a QueryClient with 9 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I; + /** Constructs a QueryClient with 10 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J; + /** Constructs a QueryClient with 11 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K; + /** Constructs a QueryClient with 12 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L; + /** Constructs a QueryClient with 13 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M; + /** Constructs a QueryClient with 14 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup, setupExtensionN: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N; + /** Constructs a QueryClient with 15 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup, setupExtensionN: QueryExtensionSetup, setupExtensionO: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O; + /** Constructs a QueryClient with 16 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup, setupExtensionN: QueryExtensionSetup, setupExtensionO: QueryExtensionSetup, setupExtensionP: QueryExtensionSetup

): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P; + /** Constructs a QueryClient with 17 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup, setupExtensionN: QueryExtensionSetup, setupExtensionO: QueryExtensionSetup, setupExtensionP: QueryExtensionSetup

, setupExtensionQ: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q; + /** Constructs a QueryClient with 18 extensions */ + static withExtensions(tmClient: TendermintClient, setupExtensionA: QueryExtensionSetup, setupExtensionB: QueryExtensionSetup, setupExtensionC: QueryExtensionSetup, setupExtensionD: QueryExtensionSetup, setupExtensionE: QueryExtensionSetup, setupExtensionF: QueryExtensionSetup, setupExtensionG: QueryExtensionSetup, setupExtensionH: QueryExtensionSetup, setupExtensionI: QueryExtensionSetup, setupExtensionJ: QueryExtensionSetup, setupExtensionK: QueryExtensionSetup, setupExtensionL: QueryExtensionSetup, setupExtensionM: QueryExtensionSetup, setupExtensionN: QueryExtensionSetup, setupExtensionO: QueryExtensionSetup, setupExtensionP: QueryExtensionSetup

, setupExtensionQ: QueryExtensionSetup, setupExtensionR: QueryExtensionSetup): QueryClient & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R; + private readonly tmClient; + constructor(tmClient: TendermintClient); + /** + * Queries the database store with a proof, which is then verified. + * + * Please note: the current implementation trusts block headers it gets from the PRC endpoint. + */ + queryStoreVerified(store: string, queryKey: Uint8Array, desiredHeight?: number): Promise; + queryRawProof(store: string, queryKey: Uint8Array, desiredHeight?: number): Promise; + /** + * Performs an ABCI query to Tendermint without requesting a proof. + * + * If the `desiredHeight` is set, a particular height is requested. Otherwise + * the latest height is requested. The response contains the actual height of + * the query. + */ + queryAbci(path: string, request: Uint8Array, desiredHeight?: number): Promise; + private getNextHeader; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js new file mode 100644 index 00000000..ebf0c7cc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js @@ -0,0 +1,168 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClient = void 0; +/* eslint-disable no-dupe-class-members, @typescript-eslint/ban-types, @typescript-eslint/naming-convention */ +const ics23_1 = require("@confio/ics23"); +const encoding_1 = require("@cosmjs/encoding"); +const stream_1 = require("@cosmjs/stream"); +const utils_1 = require("@cosmjs/utils"); +function checkAndParseOp(op, kind, key) { + if (op.type !== kind) { + throw new Error(`Op expected to be ${kind}, got "${op.type}`); + } + if (!(0, utils_1.arrayContentEquals)(key, op.key)) { + throw new Error(`Proven key different than queried key.\nQuery: ${(0, encoding_1.toHex)(key)}\nProven: ${(0, encoding_1.toHex)(op.key)}`); + } + return ics23_1.ics23.CommitmentProof.decode(op.data); +} +class QueryClient { + static withExtensions(tmClient, ...extensionSetups) { + const client = new QueryClient(tmClient); + const extensions = extensionSetups.map((setupExtension) => setupExtension(client)); + for (const extension of extensions) { + (0, utils_1.assert)((0, utils_1.isNonNullObject)(extension), `Extension must be a non-null object`); + for (const [moduleKey, moduleValue] of Object.entries(extension)) { + (0, utils_1.assert)((0, utils_1.isNonNullObject)(moduleValue), `Module must be a non-null object. Found type ${typeof moduleValue} for module "${moduleKey}".`); + const current = client[moduleKey] || {}; + client[moduleKey] = { + ...current, + ...moduleValue, + }; + } + } + return client; + } + constructor(tmClient) { + this.tmClient = tmClient; + } + /** + * Queries the database store with a proof, which is then verified. + * + * Please note: the current implementation trusts block headers it gets from the PRC endpoint. + */ + async queryStoreVerified(store, queryKey, desiredHeight) { + const { height, proof, key, value } = await this.queryRawProof(store, queryKey, desiredHeight); + const subProof = checkAndParseOp(proof.ops[0], "ics23:iavl", queryKey); + const storeProof = checkAndParseOp(proof.ops[1], "ics23:simple", (0, encoding_1.toAscii)(store)); + // this must always be existence, if the store is not a typo + (0, utils_1.assert)(storeProof.exist); + (0, utils_1.assert)(storeProof.exist.value); + // this may be exist or non-exist, depends on response + if (!value || value.length === 0) { + // non-existence check + (0, utils_1.assert)(subProof.nonexist); + // the subproof must map the desired key to the "value" of the storeProof + (0, ics23_1.verifyNonExistence)(subProof.nonexist, ics23_1.iavlSpec, storeProof.exist.value, queryKey); + } + else { + // existence check + (0, utils_1.assert)(subProof.exist); + (0, utils_1.assert)(subProof.exist.value); + // the subproof must map the desired key to the "value" of the storeProof + (0, ics23_1.verifyExistence)(subProof.exist, ics23_1.iavlSpec, storeProof.exist.value, queryKey, value); + } + // the store proof must map its declared value (root of subProof) to the appHash of the next block + const header = await this.getNextHeader(height); + (0, ics23_1.verifyExistence)(storeProof.exist, ics23_1.tendermintSpec, header.appHash, (0, encoding_1.toAscii)(store), storeProof.exist.value); + return { key, value, height }; + } + async queryRawProof(store, queryKey, desiredHeight) { + const { key, value, height, proof, code, log } = await this.tmClient.abciQuery({ + // we need the StoreKey for the module, not the module name + // https://github.com/cosmos/cosmos-sdk/blob/8cab43c8120fec5200c3459cbf4a92017bb6f287/x/auth/types/keys.go#L12 + path: `/store/${store}/key`, + data: queryKey, + prove: true, + height: desiredHeight, + }); + if (code) { + throw new Error(`Query failed with (${code}): ${log}`); + } + if (!(0, utils_1.arrayContentEquals)(queryKey, key)) { + throw new Error(`Response key ${(0, encoding_1.toHex)(key)} doesn't match query key ${(0, encoding_1.toHex)(queryKey)}`); + } + if (!height) { + throw new Error("No query height returned"); + } + if (!proof || proof.ops.length !== 2) { + throw new Error(`Expected 2 proof ops, got ${proof?.ops.length ?? 0}. Are you using stargate?`); + } + // we don't need the results, but we can ensure the data is the proper format + checkAndParseOp(proof.ops[0], "ics23:iavl", key); + checkAndParseOp(proof.ops[1], "ics23:simple", (0, encoding_1.toAscii)(store)); + return { + key: key, + value: value, + height: height, + // need to clone this: readonly input / writeable output + proof: { + ops: [...proof.ops], + }, + }; + } + /** + * Performs an ABCI query to Tendermint without requesting a proof. + * + * If the `desiredHeight` is set, a particular height is requested. Otherwise + * the latest height is requested. The response contains the actual height of + * the query. + */ + async queryAbci(path, request, desiredHeight) { + const response = await this.tmClient.abciQuery({ + path: path, + data: request, + prove: false, + height: desiredHeight, + }); + if (response.code) { + throw new Error(`Query failed with (${response.code}): ${response.log}`); + } + if (!response.height) { + throw new Error("No query height returned"); + } + return { + value: response.value, + height: response.height, + }; + } + // this must return the header for height+1 + // throws an error if height is 0 or undefined + async getNextHeader(height) { + (0, utils_1.assertDefined)(height); + if (height === 0) { + throw new Error("Query returned height 0, cannot prove it"); + } + const searchHeight = height + 1; + let nextHeader; + let headersSubscription; + try { + headersSubscription = this.tmClient.subscribeNewBlockHeader(); + } + catch { + // Ignore exception caused by non-WebSocket Tendermint clients + } + if (headersSubscription) { + const firstHeader = await (0, stream_1.firstEvent)(headersSubscription); + // The first header we get might not be n+1 but n+2 or even higher. In such cases we fall back on a query. + if (firstHeader.height === searchHeight) { + nextHeader = firstHeader; + } + } + while (!nextHeader) { + // start from current height to avoid backend error for minHeight in the future + const correctHeader = (await this.tmClient.blockchain(height, searchHeight)).blockMetas + .map((meta) => meta.header) + .find((h) => h.height === searchHeight); + if (correctHeader) { + nextHeader = correctHeader; + } + else { + await (0, utils_1.sleep)(1000); + } + } + (0, utils_1.assert)(nextHeader.height === searchHeight, "Got wrong header. This is a bug in the logic above."); + return nextHeader; + } +} +exports.QueryClient = QueryClient; +//# sourceMappingURL=queryclient.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js.map b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js.map new file mode 100644 index 00000000..9da78f0c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/queryclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queryclient.js","sourceRoot":"","sources":["../../src/queryclient/queryclient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.d.ts b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.d.ts new file mode 100644 index 00000000..5317078e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.d.ts @@ -0,0 +1,34 @@ +import { Decimal, Uint64 } from "@cosmjs/math"; +import { PageRequest } from "cosmjs-types/cosmos/base/query/v1beta1/pagination"; +import Long from "long"; +import { QueryClient } from "./queryclient"; +/** + * Takes a bech32 encoded address and returns the data part. The prefix is ignored and discarded. + * This is called AccAddress in Cosmos SDK, which is basically an alias for raw binary data. + * The result is typically 20 bytes long but not restricted to that. + */ +export declare function toAccAddress(address: string): Uint8Array; +/** + * If paginationKey is set, return a `PageRequest` with the given key. + * If paginationKey is unset, return `undefined`. + * + * Use this with a query response's pagination next key to + * request the next page. + */ +export declare function createPagination(paginationKey?: Uint8Array): PageRequest | undefined; +export interface ProtobufRpcClient { + request(service: string, method: string, data: Uint8Array): Promise; +} +export declare function createProtobufRpcClient(base: QueryClient): ProtobufRpcClient; +/** + * Takes a uint64 value as string, number, Long or Uint64 and returns an unsigned Long instance + * of it. + */ +export declare function longify(value: string | number | Long | Uint64): Long; +/** + * Takes a string or binary encoded `github.com/cosmos/cosmos-sdk/types.Dec` from the + * protobuf API and converts it into a `Decimal` with 18 fractional digits. + * + * See https://github.com/cosmos/cosmos-sdk/issues/10863 for more context why this is needed. + */ +export declare function decodeCosmosSdkDecFromProto(input: string | Uint8Array): Decimal; diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js new file mode 100644 index 00000000..6f4ecaa3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js @@ -0,0 +1,61 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeCosmosSdkDecFromProto = exports.longify = exports.createProtobufRpcClient = exports.createPagination = exports.toAccAddress = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const pagination_1 = require("cosmjs-types/cosmos/base/query/v1beta1/pagination"); +const long_1 = __importDefault(require("long")); +/** + * Takes a bech32 encoded address and returns the data part. The prefix is ignored and discarded. + * This is called AccAddress in Cosmos SDK, which is basically an alias for raw binary data. + * The result is typically 20 bytes long but not restricted to that. + */ +function toAccAddress(address) { + return (0, encoding_1.fromBech32)(address).data; +} +exports.toAccAddress = toAccAddress; +/** + * If paginationKey is set, return a `PageRequest` with the given key. + * If paginationKey is unset, return `undefined`. + * + * Use this with a query response's pagination next key to + * request the next page. + */ +function createPagination(paginationKey) { + return paginationKey ? pagination_1.PageRequest.fromPartial({ key: paginationKey }) : undefined; +} +exports.createPagination = createPagination; +function createProtobufRpcClient(base) { + return { + request: async (service, method, data) => { + const path = `/${service}/${method}`; + const response = await base.queryAbci(path, data, undefined); + return response.value; + }, + }; +} +exports.createProtobufRpcClient = createProtobufRpcClient; +/** + * Takes a uint64 value as string, number, Long or Uint64 and returns an unsigned Long instance + * of it. + */ +function longify(value) { + const checkedValue = math_1.Uint64.fromString(value.toString()); + return long_1.default.fromBytesBE([...checkedValue.toBytesBigEndian()], true); +} +exports.longify = longify; +/** + * Takes a string or binary encoded `github.com/cosmos/cosmos-sdk/types.Dec` from the + * protobuf API and converts it into a `Decimal` with 18 fractional digits. + * + * See https://github.com/cosmos/cosmos-sdk/issues/10863 for more context why this is needed. + */ +function decodeCosmosSdkDecFromProto(input) { + const asString = typeof input === "string" ? input : (0, encoding_1.fromAscii)(input); + return math_1.Decimal.fromAtomics(asString, 18); +} +exports.decodeCosmosSdkDecFromProto = decodeCosmosSdkDecFromProto; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js.map b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js.map new file mode 100644 index 00000000..a5ebf906 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/build/queryclient/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/queryclient/utils.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyD;AACzD,uCAA+C;AAC/C,kFAAgF;AAChF,gDAAwB;AAIxB;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAFD,oCAEC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,aAA0B;IACzD,OAAO,aAAa,CAAC,CAAC,CAAC,wBAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAFD,4CAEC;AAMD,SAAgB,uBAAuB,CAAC,IAAiB;IACvD,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAAe,EAAE,MAAc,EAAE,IAAgB,EAAuB,EAAE;YACxF,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AARD,0DAQC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,KAAsC;IAC5D,MAAM,YAAY,GAAG,aAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,OAAO,cAAI,CAAC,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,0BAGC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,KAA0B;IACpE,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAS,EAAC,KAAK,CAAC,CAAC;IACtE,OAAO,cAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAHD,kEAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/README.md b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/README.md new file mode 100644 index 00000000..c8bb4282 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/README.md @@ -0,0 +1,11 @@ +# @cosmjs/amino + +[![npm version](https://img.shields.io/npm/v/@cosmjs/amino.svg)](https://www.npmjs.com/package/@cosmjs/amino) + +Helpers for Amino for @cosmjs/stargate. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.d.ts new file mode 100644 index 00000000..e4318417 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.d.ts @@ -0,0 +1,5 @@ +import { Pubkey } from "./pubkeys"; +export declare function rawEd25519PubkeyToRawAddress(pubkeyData: Uint8Array): Uint8Array; +export declare function rawSecp256k1PubkeyToRawAddress(pubkeyData: Uint8Array): Uint8Array; +export declare function pubkeyToRawAddress(pubkey: Pubkey): Uint8Array; +export declare function pubkeyToAddress(pubkey: Pubkey, prefix: string): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js new file mode 100644 index 00000000..242633ca --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js @@ -0,0 +1,47 @@ +"use strict"; +// See https://github.com/tendermint/tendermint/blob/f2ada0a604b4c0763bda2f64fac53d506d3beca7/docs/spec/blockchain/encoding.md#public-key-cryptography +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pubkeyToAddress = exports.pubkeyToRawAddress = exports.rawSecp256k1PubkeyToRawAddress = exports.rawEd25519PubkeyToRawAddress = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const encoding_2 = require("./encoding"); +const pubkeys_1 = require("./pubkeys"); +function rawEd25519PubkeyToRawAddress(pubkeyData) { + if (pubkeyData.length !== 32) { + throw new Error(`Invalid Ed25519 pubkey length: ${pubkeyData.length}`); + } + return (0, crypto_1.sha256)(pubkeyData).slice(0, 20); +} +exports.rawEd25519PubkeyToRawAddress = rawEd25519PubkeyToRawAddress; +function rawSecp256k1PubkeyToRawAddress(pubkeyData) { + if (pubkeyData.length !== 33) { + throw new Error(`Invalid Secp256k1 pubkey length (compressed): ${pubkeyData.length}`); + } + return (0, crypto_1.ripemd160)((0, crypto_1.sha256)(pubkeyData)); +} +exports.rawSecp256k1PubkeyToRawAddress = rawSecp256k1PubkeyToRawAddress; +// For secp256k1 this assumes we already have a compressed pubkey. +function pubkeyToRawAddress(pubkey) { + if ((0, pubkeys_1.isSecp256k1Pubkey)(pubkey)) { + const pubkeyData = (0, encoding_1.fromBase64)(pubkey.value); + return rawSecp256k1PubkeyToRawAddress(pubkeyData); + } + else if ((0, pubkeys_1.isEd25519Pubkey)(pubkey)) { + const pubkeyData = (0, encoding_1.fromBase64)(pubkey.value); + return rawEd25519PubkeyToRawAddress(pubkeyData); + } + else if ((0, pubkeys_1.isMultisigThresholdPubkey)(pubkey)) { + // https://github.com/tendermint/tendermint/blob/38b401657e4ad7a7eeb3c30a3cbf512037df3740/crypto/multisig/threshold_pubkey.go#L71-L74 + const pubkeyData = (0, encoding_2.encodeAminoPubkey)(pubkey); + return (0, crypto_1.sha256)(pubkeyData).slice(0, 20); + } + else { + throw new Error("Unsupported public key type"); + } +} +exports.pubkeyToRawAddress = pubkeyToRawAddress; +function pubkeyToAddress(pubkey, prefix) { + return (0, encoding_1.toBech32)(prefix, pubkeyToRawAddress(pubkey)); +} +exports.pubkeyToAddress = pubkeyToAddress; +//# sourceMappingURL=addresses.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js.map new file mode 100644 index 00000000..65633211 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/addresses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":";AAAA,sJAAsJ;;;AAEtJ,2CAAmD;AACnD,+CAAwD;AAExD,yCAA+C;AAC/C,uCAAkG;AAElG,SAAgB,4BAA4B,CAAC,UAAsB;IACjE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACxE;IACD,OAAO,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AALD,oEAKC;AAED,SAAgB,8BAA8B,CAAC,UAAsB;IACnE,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACvF;IACD,OAAO,IAAA,kBAAS,EAAC,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,CAAC;AACvC,CAAC;AALD,wEAKC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,IAAI,IAAA,2BAAiB,EAAC,MAAM,CAAC,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,8BAA8B,CAAC,UAAU,CAAC,CAAC;KACnD;SAAM,IAAI,IAAA,yBAAe,EAAC,MAAM,CAAC,EAAE;QAClC,MAAM,UAAU,GAAG,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;KACjD;SAAM,IAAI,IAAA,mCAAyB,EAAC,MAAM,CAAC,EAAE;QAC5C,qIAAqI;QACrI,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACxC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;AACH,CAAC;AAdD,gDAcC;AAED,SAAgB,eAAe,CAAC,MAAc,EAAE,MAAc;IAC5D,OAAO,IAAA,mBAAQ,EAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.d.ts new file mode 100644 index 00000000..8eb69644 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.d.ts @@ -0,0 +1,34 @@ +export interface Coin { + readonly denom: string; + readonly amount: string; +} +/** + * Creates a coin. + * + * If your values do not exceed the safe integer range of JS numbers (53 bit), + * you can use the number type here. This is the case for all typical Cosmos SDK + * chains that use the default 6 decimals. + * + * In case you need to supportr larger values, use unsigned integer strings instead. + */ +export declare function coin(amount: number | string, denom: string): Coin; +/** + * Creates a list of coins with one element. + */ +export declare function coins(amount: number | string, denom: string): Coin[]; +/** + * Takes a coins list like "819966000ucosm,700000000ustake" and parses it. + * + * A Stargate-ready variant of this function is available via: + * + * ``` + * import { parseCoins } from "@cosmjs/proto-signing"; + * // or + * import { parseCoins } from "@cosmjs/stargate"; + * ``` + */ +export declare function parseCoins(input: string): Coin[]; +/** + * Function to sum up coins with type Coin + */ +export declare function addCoins(lhs: Coin, rhs: Coin): Coin; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js new file mode 100644 index 00000000..5b04dc76 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.addCoins = exports.parseCoins = exports.coins = exports.coin = void 0; +const math_1 = require("@cosmjs/math"); +/** + * Creates a coin. + * + * If your values do not exceed the safe integer range of JS numbers (53 bit), + * you can use the number type here. This is the case for all typical Cosmos SDK + * chains that use the default 6 decimals. + * + * In case you need to supportr larger values, use unsigned integer strings instead. + */ +function coin(amount, denom) { + let outAmount; + if (typeof amount === "number") { + try { + outAmount = new math_1.Uint53(amount).toString(); + } + catch (_err) { + throw new Error("Given amount is not a safe integer. Consider using a string instead to overcome the limitations of JS numbers."); + } + } + else { + if (!amount.match(/^[0-9]+$/)) { + throw new Error("Invalid unsigned integer string format"); + } + outAmount = amount.replace(/^0*/, "") || "0"; + } + return { + amount: outAmount, + denom: denom, + }; +} +exports.coin = coin; +/** + * Creates a list of coins with one element. + */ +function coins(amount, denom) { + return [coin(amount, denom)]; +} +exports.coins = coins; +/** + * Takes a coins list like "819966000ucosm,700000000ustake" and parses it. + * + * A Stargate-ready variant of this function is available via: + * + * ``` + * import { parseCoins } from "@cosmjs/proto-signing"; + * // or + * import { parseCoins } from "@cosmjs/stargate"; + * ``` + */ +function parseCoins(input) { + return input + .replace(/\s/g, "") + .split(",") + .filter(Boolean) + .map((part) => { + const match = part.match(/^([0-9]+)([a-zA-Z]+)/); + if (!match) + throw new Error("Got an invalid coin string"); + return { + amount: match[1].replace(/^0+/, "") || "0", + denom: match[2], + }; + }); +} +exports.parseCoins = parseCoins; +/** + * Function to sum up coins with type Coin + */ +function addCoins(lhs, rhs) { + if (lhs.denom !== rhs.denom) + throw new Error("Trying to add two coins with different denoms"); + return { + amount: math_1.Decimal.fromAtomics(lhs.amount, 0).plus(math_1.Decimal.fromAtomics(rhs.amount, 0)).atomics, + denom: lhs.denom, + }; +} +exports.addCoins = addCoins; +//# sourceMappingURL=coins.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js.map new file mode 100644 index 00000000..0be95ea3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/coins.js.map @@ -0,0 +1 @@ +{"version":3,"file":"coins.js","sourceRoot":"","sources":["../src/coins.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAO/C;;;;;;;;GAQG;AACH,SAAgB,IAAI,CAAC,MAAuB,EAAE,KAAa;IACzD,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,IAAI;YACF,SAAS,GAAG,IAAI,aAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC3C;QAAC,OAAO,IAAI,EAAE;YACb,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;SACH;KACF;SAAM;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;KAC9C;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AApBD,oBAoBC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,MAAuB,EAAE,KAAa;IAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAFD,sBAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC1D,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG;YAC1C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,gCAaC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAS,EAAE,GAAS;IAC3C,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC9F,OAAO;QACL,MAAM,EAAE,cAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;QAC3F,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC;AAND,4BAMC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.d.ts new file mode 100644 index 00000000..fc8b5041 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.d.ts @@ -0,0 +1,33 @@ +import { Ed25519Pubkey, Pubkey, Secp256k1Pubkey } from "./pubkeys"; +/** + * Takes a Secp256k1 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +export declare function encodeSecp256k1Pubkey(pubkey: Uint8Array): Secp256k1Pubkey; +/** + * Takes an Edd25519 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +export declare function encodeEd25519Pubkey(pubkey: Uint8Array): Ed25519Pubkey; +/** + * Decodes a pubkey in the Amino binary format to a type/value object. + */ +export declare function decodeAminoPubkey(data: Uint8Array): Pubkey; +/** + * Decodes a bech32 pubkey to Amino binary, which is then decoded to a type/value object. + * The bech32 prefix is ignored and discareded. + * + * @param bechEncoded the bech32 encoded pubkey + */ +export declare function decodeBech32Pubkey(bechEncoded: string): Pubkey; +/** + * Encodes a public key to binary Amino. + */ +export declare function encodeAminoPubkey(pubkey: Pubkey): Uint8Array; +/** + * Encodes a public key to binary Amino and then to bech32. + * + * @param pubkey the public key to encode + * @param prefix the bech32 prefix (human readable part) + */ +export declare function encodeBech32Pubkey(pubkey: Pubkey, prefix: string): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js new file mode 100644 index 00000000..477c2509 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js @@ -0,0 +1,208 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeBech32Pubkey = exports.encodeAminoPubkey = exports.decodeBech32Pubkey = exports.decodeAminoPubkey = exports.encodeEd25519Pubkey = exports.encodeSecp256k1Pubkey = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const utils_1 = require("@cosmjs/utils"); +const pubkeys_1 = require("./pubkeys"); +/** + * Takes a Secp256k1 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +function encodeSecp256k1Pubkey(pubkey) { + if (pubkey.length !== 33 || (pubkey[0] !== 0x02 && pubkey[0] !== 0x03)) { + throw new Error("Public key must be compressed secp256k1, i.e. 33 bytes starting with 0x02 or 0x03"); + } + return { + type: pubkeys_1.pubkeyType.secp256k1, + value: (0, encoding_1.toBase64)(pubkey), + }; +} +exports.encodeSecp256k1Pubkey = encodeSecp256k1Pubkey; +/** + * Takes an Edd25519 public key as raw bytes and returns the Amino JSON + * representation of it (the type/value wrapper object). + */ +function encodeEd25519Pubkey(pubkey) { + if (pubkey.length !== 32) { + throw new Error("Ed25519 public key must be 32 bytes long"); + } + return { + type: pubkeys_1.pubkeyType.ed25519, + value: (0, encoding_1.toBase64)(pubkey), + }; +} +exports.encodeEd25519Pubkey = encodeEd25519Pubkey; +// As discussed in https://github.com/binance-chain/javascript-sdk/issues/163 +// Prefixes listed here: https://github.com/tendermint/tendermint/blob/d419fffe18531317c28c29a292ad7d253f6cafdf/docs/spec/blockchain/encoding.md#public-key-cryptography +// Last bytes is varint-encoded length prefix +const pubkeyAminoPrefixSecp256k1 = (0, encoding_1.fromHex)("eb5ae987" + "21" /* fixed length */); +const pubkeyAminoPrefixEd25519 = (0, encoding_1.fromHex)("1624de64" + "20" /* fixed length */); +const pubkeyAminoPrefixSr25519 = (0, encoding_1.fromHex)("0dfb1005" + "20" /* fixed length */); +/** See https://github.com/tendermint/tendermint/commit/38b401657e4ad7a7eeb3c30a3cbf512037df3740 */ +const pubkeyAminoPrefixMultisigThreshold = (0, encoding_1.fromHex)("22c1f7e2" /* variable length not included */); +/** + * Decodes a pubkey in the Amino binary format to a type/value object. + */ +function decodeAminoPubkey(data) { + if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixSecp256k1)) { + const rest = data.slice(pubkeyAminoPrefixSecp256k1.length); + if (rest.length !== 33) { + throw new Error("Invalid rest data length. Expected 33 bytes (compressed secp256k1 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.secp256k1, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixEd25519)) { + const rest = data.slice(pubkeyAminoPrefixEd25519.length); + if (rest.length !== 32) { + throw new Error("Invalid rest data length. Expected 32 bytes (Ed25519 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.ed25519, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixSr25519)) { + const rest = data.slice(pubkeyAminoPrefixSr25519.length); + if (rest.length !== 32) { + throw new Error("Invalid rest data length. Expected 32 bytes (Sr25519 pubkey)."); + } + return { + type: pubkeys_1.pubkeyType.sr25519, + value: (0, encoding_1.toBase64)(rest), + }; + } + else if ((0, utils_1.arrayContentStartsWith)(data, pubkeyAminoPrefixMultisigThreshold)) { + // eslint-disable-next-line @typescript-eslint/no-use-before-define + return decodeMultisigPubkey(data); + } + else { + throw new Error("Unsupported public key type. Amino data starts with: " + (0, encoding_1.toHex)(data.slice(0, 5))); + } +} +exports.decodeAminoPubkey = decodeAminoPubkey; +/** + * Decodes a bech32 pubkey to Amino binary, which is then decoded to a type/value object. + * The bech32 prefix is ignored and discareded. + * + * @param bechEncoded the bech32 encoded pubkey + */ +function decodeBech32Pubkey(bechEncoded) { + const { data } = (0, encoding_1.fromBech32)(bechEncoded); + return decodeAminoPubkey(data); +} +exports.decodeBech32Pubkey = decodeBech32Pubkey; +/** + * Uvarint decoder for Amino. + * @see https://github.com/tendermint/go-amino/blob/8e779b71f40d175/decoder.go#L64-76 + * @returns varint as number, and bytes count occupied by varaint + */ +function decodeUvarint(reader) { + if (reader.length < 1) { + throw new Error("Can't decode varint. EOF"); + } + if (reader[0] > 127) { + throw new Error("Decoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.Varint implementation from the Go standard library and write some tests."); + } + return [reader[0], 1]; +} +/** + * Decodes a multisig pubkey to type object. + * Pubkey structure [ prefix + const + threshold + loop:(const + pubkeyLength + pubkey ) ] + * [ 4b + 1b + varint + loop:(1b + varint + pubkeyLength bytes) ] + * @param data encoded pubkey + */ +function decodeMultisigPubkey(data) { + const reader = Array.from(data); + // remove multisig amino prefix; + const prefixFromReader = reader.splice(0, pubkeyAminoPrefixMultisigThreshold.length); + if (!(0, utils_1.arrayContentStartsWith)(prefixFromReader, pubkeyAminoPrefixMultisigThreshold)) { + throw new Error("Invalid multisig prefix."); + } + // remove 0x08 threshold prefix; + if (reader.shift() != 0x08) { + throw new Error("Invalid multisig data. Expecting 0x08 prefix before threshold."); + } + // read threshold + const [threshold, thresholdBytesLength] = decodeUvarint(reader); + reader.splice(0, thresholdBytesLength); + // read participants pubkeys + const pubkeys = []; + while (reader.length > 0) { + // remove 0x12 threshold prefix; + if (reader.shift() != 0x12) { + throw new Error("Invalid multisig data. Expecting 0x12 prefix before participant pubkey length."); + } + // read pubkey length + const [pubkeyLength, pubkeyLengthBytesSize] = decodeUvarint(reader); + reader.splice(0, pubkeyLengthBytesSize); + // verify that we can read pubkey + if (reader.length < pubkeyLength) { + throw new Error("Invalid multisig data length."); + } + // read and decode participant pubkey + const encodedPubkey = reader.splice(0, pubkeyLength); + const pubkey = decodeAminoPubkey(Uint8Array.from(encodedPubkey)); + pubkeys.push(pubkey); + } + return { + type: pubkeys_1.pubkeyType.multisigThreshold, + value: { + threshold: threshold.toString(), + pubkeys: pubkeys, + }, + }; +} +/** + * Uvarint encoder for Amino. This is the same encoding as `binary.PutUvarint` from the Go + * standard library. + * + * @see https://github.com/tendermint/go-amino/blob/8e779b71f40d175/encoder.go#L77-L85 + */ +function encodeUvarint(value) { + const checked = math_1.Uint53.fromString(value.toString()).toNumber(); + if (checked > 127) { + throw new Error("Encoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.PutUvarint implementation from the Go standard library and write some tests."); + } + return [checked]; +} +/** + * Encodes a public key to binary Amino. + */ +function encodeAminoPubkey(pubkey) { + if ((0, pubkeys_1.isMultisigThresholdPubkey)(pubkey)) { + const out = Array.from(pubkeyAminoPrefixMultisigThreshold); + out.push(0x08); // TODO: What is this? + out.push(...encodeUvarint(pubkey.value.threshold)); + for (const pubkeyData of pubkey.value.pubkeys.map((p) => encodeAminoPubkey(p))) { + out.push(0x12); // TODO: What is this? + out.push(...encodeUvarint(pubkeyData.length)); + out.push(...pubkeyData); + } + return new Uint8Array(out); + } + else if ((0, pubkeys_1.isEd25519Pubkey)(pubkey)) { + return new Uint8Array([...pubkeyAminoPrefixEd25519, ...(0, encoding_1.fromBase64)(pubkey.value)]); + } + else if ((0, pubkeys_1.isSecp256k1Pubkey)(pubkey)) { + return new Uint8Array([...pubkeyAminoPrefixSecp256k1, ...(0, encoding_1.fromBase64)(pubkey.value)]); + } + else { + throw new Error("Unsupported pubkey type"); + } +} +exports.encodeAminoPubkey = encodeAminoPubkey; +/** + * Encodes a public key to binary Amino and then to bech32. + * + * @param pubkey the public key to encode + * @param prefix the bech32 prefix (human readable part) + */ +function encodeBech32Pubkey(pubkey, prefix) { + return (0, encoding_1.toBech32)(prefix, encodeAminoPubkey(pubkey)); +} +exports.encodeBech32Pubkey = encodeBech32Pubkey; +//# sourceMappingURL=encoding.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js.map new file mode 100644 index 00000000..cdfd2dfe --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/encoding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.d.ts new file mode 100644 index 00000000..4829bb71 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.d.ts @@ -0,0 +1,13 @@ +export { pubkeyToAddress, pubkeyToRawAddress, rawEd25519PubkeyToRawAddress, rawSecp256k1PubkeyToRawAddress, } from "./addresses"; +export { addCoins, Coin, coin, coins, parseCoins } from "./coins"; +export { decodeAminoPubkey, decodeBech32Pubkey, encodeAminoPubkey, encodeBech32Pubkey, encodeEd25519Pubkey, encodeSecp256k1Pubkey, } from "./encoding"; +export { createMultisigThresholdPubkey } from "./multisig"; +export { makeCosmoshubPath } from "./paths"; +export { Ed25519Pubkey, isEd25519Pubkey, isMultisigThresholdPubkey, isSecp256k1Pubkey, isSinglePubkey, MultisigThresholdPubkey, Pubkey, pubkeyType, Secp256k1Pubkey, SinglePubkey, } from "./pubkeys"; +export { extractKdfConfiguration, Secp256k1HdWallet, Secp256k1HdWalletOptions } from "./secp256k1hdwallet"; +export { Secp256k1Wallet } from "./secp256k1wallet"; +export { decodeSignature, encodeSecp256k1Signature, StdSignature } from "./signature"; +export { AminoMsg, makeSignDoc, serializeSignDoc, StdFee, StdSignDoc } from "./signdoc"; +export { AccountData, Algo, AminoSignResponse, OfflineAminoSigner } from "./signer"; +export { isStdTx, makeStdTx, StdTx } from "./stdtx"; +export { executeKdf, KdfConfiguration } from "./wallet"; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js new file mode 100644 index 00000000..be3bd91a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.executeKdf = exports.makeStdTx = exports.isStdTx = exports.serializeSignDoc = exports.makeSignDoc = exports.encodeSecp256k1Signature = exports.decodeSignature = exports.Secp256k1Wallet = exports.Secp256k1HdWallet = exports.extractKdfConfiguration = exports.pubkeyType = exports.isSinglePubkey = exports.isSecp256k1Pubkey = exports.isMultisigThresholdPubkey = exports.isEd25519Pubkey = exports.makeCosmoshubPath = exports.createMultisigThresholdPubkey = exports.encodeSecp256k1Pubkey = exports.encodeEd25519Pubkey = exports.encodeBech32Pubkey = exports.encodeAminoPubkey = exports.decodeBech32Pubkey = exports.decodeAminoPubkey = exports.parseCoins = exports.coins = exports.coin = exports.addCoins = exports.rawSecp256k1PubkeyToRawAddress = exports.rawEd25519PubkeyToRawAddress = exports.pubkeyToRawAddress = exports.pubkeyToAddress = void 0; +var addresses_1 = require("./addresses"); +Object.defineProperty(exports, "pubkeyToAddress", { enumerable: true, get: function () { return addresses_1.pubkeyToAddress; } }); +Object.defineProperty(exports, "pubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.pubkeyToRawAddress; } }); +Object.defineProperty(exports, "rawEd25519PubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.rawEd25519PubkeyToRawAddress; } }); +Object.defineProperty(exports, "rawSecp256k1PubkeyToRawAddress", { enumerable: true, get: function () { return addresses_1.rawSecp256k1PubkeyToRawAddress; } }); +var coins_1 = require("./coins"); +Object.defineProperty(exports, "addCoins", { enumerable: true, get: function () { return coins_1.addCoins; } }); +Object.defineProperty(exports, "coin", { enumerable: true, get: function () { return coins_1.coin; } }); +Object.defineProperty(exports, "coins", { enumerable: true, get: function () { return coins_1.coins; } }); +Object.defineProperty(exports, "parseCoins", { enumerable: true, get: function () { return coins_1.parseCoins; } }); +var encoding_1 = require("./encoding"); +Object.defineProperty(exports, "decodeAminoPubkey", { enumerable: true, get: function () { return encoding_1.decodeAminoPubkey; } }); +Object.defineProperty(exports, "decodeBech32Pubkey", { enumerable: true, get: function () { return encoding_1.decodeBech32Pubkey; } }); +Object.defineProperty(exports, "encodeAminoPubkey", { enumerable: true, get: function () { return encoding_1.encodeAminoPubkey; } }); +Object.defineProperty(exports, "encodeBech32Pubkey", { enumerable: true, get: function () { return encoding_1.encodeBech32Pubkey; } }); +Object.defineProperty(exports, "encodeEd25519Pubkey", { enumerable: true, get: function () { return encoding_1.encodeEd25519Pubkey; } }); +Object.defineProperty(exports, "encodeSecp256k1Pubkey", { enumerable: true, get: function () { return encoding_1.encodeSecp256k1Pubkey; } }); +var multisig_1 = require("./multisig"); +Object.defineProperty(exports, "createMultisigThresholdPubkey", { enumerable: true, get: function () { return multisig_1.createMultisigThresholdPubkey; } }); +var paths_1 = require("./paths"); +Object.defineProperty(exports, "makeCosmoshubPath", { enumerable: true, get: function () { return paths_1.makeCosmoshubPath; } }); +var pubkeys_1 = require("./pubkeys"); +Object.defineProperty(exports, "isEd25519Pubkey", { enumerable: true, get: function () { return pubkeys_1.isEd25519Pubkey; } }); +Object.defineProperty(exports, "isMultisigThresholdPubkey", { enumerable: true, get: function () { return pubkeys_1.isMultisigThresholdPubkey; } }); +Object.defineProperty(exports, "isSecp256k1Pubkey", { enumerable: true, get: function () { return pubkeys_1.isSecp256k1Pubkey; } }); +Object.defineProperty(exports, "isSinglePubkey", { enumerable: true, get: function () { return pubkeys_1.isSinglePubkey; } }); +Object.defineProperty(exports, "pubkeyType", { enumerable: true, get: function () { return pubkeys_1.pubkeyType; } }); +var secp256k1hdwallet_1 = require("./secp256k1hdwallet"); +Object.defineProperty(exports, "extractKdfConfiguration", { enumerable: true, get: function () { return secp256k1hdwallet_1.extractKdfConfiguration; } }); +Object.defineProperty(exports, "Secp256k1HdWallet", { enumerable: true, get: function () { return secp256k1hdwallet_1.Secp256k1HdWallet; } }); +var secp256k1wallet_1 = require("./secp256k1wallet"); +Object.defineProperty(exports, "Secp256k1Wallet", { enumerable: true, get: function () { return secp256k1wallet_1.Secp256k1Wallet; } }); +var signature_1 = require("./signature"); +Object.defineProperty(exports, "decodeSignature", { enumerable: true, get: function () { return signature_1.decodeSignature; } }); +Object.defineProperty(exports, "encodeSecp256k1Signature", { enumerable: true, get: function () { return signature_1.encodeSecp256k1Signature; } }); +var signdoc_1 = require("./signdoc"); +Object.defineProperty(exports, "makeSignDoc", { enumerable: true, get: function () { return signdoc_1.makeSignDoc; } }); +Object.defineProperty(exports, "serializeSignDoc", { enumerable: true, get: function () { return signdoc_1.serializeSignDoc; } }); +var stdtx_1 = require("./stdtx"); +Object.defineProperty(exports, "isStdTx", { enumerable: true, get: function () { return stdtx_1.isStdTx; } }); +Object.defineProperty(exports, "makeStdTx", { enumerable: true, get: function () { return stdtx_1.makeStdTx; } }); +var wallet_1 = require("./wallet"); +Object.defineProperty(exports, "executeKdf", { enumerable: true, get: function () { return wallet_1.executeKdf; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js.map new file mode 100644 index 00000000..3452c3e6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAKqB;AAJnB,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,yHAAA,4BAA4B,OAAA;AAC5B,2HAAA,8BAA8B,OAAA;AAEhC,iCAAkE;AAAzD,iGAAA,QAAQ,OAAA;AAAQ,6FAAA,IAAI,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,mGAAA,UAAU,OAAA;AAChD,uCAOoB;AANlB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AAEvB,uCAA2D;AAAlD,yHAAA,6BAA6B,OAAA;AACtC,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,qCAWmB;AATjB,0GAAA,eAAe,OAAA;AACf,oHAAA,yBAAyB,OAAA;AACzB,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AAGd,qGAAA,UAAU,OAAA;AAIZ,yDAA2G;AAAlG,4HAAA,uBAAuB,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACnD,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yCAAsF;AAA7E,4GAAA,eAAe,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AAClD,qCAAwF;AAArE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAEhD,iCAAoD;AAA3C,gGAAA,OAAO,OAAA;AAAE,kGAAA,SAAS,OAAA;AAC3B,mCAAwD;AAA/C,oGAAA,UAAU,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.d.ts new file mode 100644 index 00000000..524c628b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.d.ts @@ -0,0 +1,10 @@ +import { MultisigThresholdPubkey, SinglePubkey } from "./pubkeys"; +/** + * Compare arrays lexicographically. + * + * Returns value < 0 if `a < b`. + * Returns value > 0 if `a > b`. + * Returns 0 if `a === b`. + */ +export declare function compareArrays(a: Uint8Array, b: Uint8Array): number; +export declare function createMultisigThresholdPubkey(pubkeys: readonly SinglePubkey[], threshold: number, nosort?: boolean): MultisigThresholdPubkey; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js new file mode 100644 index 00000000..779d9971 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createMultisigThresholdPubkey = exports.compareArrays = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const addresses_1 = require("./addresses"); +/** + * Compare arrays lexicographically. + * + * Returns value < 0 if `a < b`. + * Returns value > 0 if `a > b`. + * Returns 0 if `a === b`. + */ +function compareArrays(a, b) { + const aHex = (0, encoding_1.toHex)(a); + const bHex = (0, encoding_1.toHex)(b); + return aHex === bHex ? 0 : aHex < bHex ? -1 : 1; +} +exports.compareArrays = compareArrays; +function createMultisigThresholdPubkey(pubkeys, threshold, nosort = false) { + const uintThreshold = new math_1.Uint53(threshold); + if (uintThreshold.toNumber() > pubkeys.length) { + throw new Error(`Threshold k = ${uintThreshold.toNumber()} exceeds number of keys n = ${pubkeys.length}`); + } + const outPubkeys = nosort + ? pubkeys + : Array.from(pubkeys).sort((lhs, rhs) => { + // https://github.com/cosmos/cosmos-sdk/blob/v0.42.2/client/keys/add.go#L172-L174 + const addressLhs = (0, addresses_1.pubkeyToRawAddress)(lhs); + const addressRhs = (0, addresses_1.pubkeyToRawAddress)(rhs); + return compareArrays(addressLhs, addressRhs); + }); + return { + type: "tendermint/PubKeyMultisigThreshold", + value: { + threshold: uintThreshold.toString(), + pubkeys: outPubkeys, + }, + }; +} +exports.createMultisigThresholdPubkey = createMultisigThresholdPubkey; +//# sourceMappingURL=multisig.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js.map new file mode 100644 index 00000000..c9c7e943 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/multisig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AACzC,uCAAsC;AAEtC,2CAAiD;AAGjD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,CAAa,EAAE,CAAa;IACxD,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC;IACtB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAJD,sCAIC;AAED,SAAgB,6BAA6B,CAC3C,OAAgC,EAChC,SAAiB,EACjB,MAAM,GAAG,KAAK;IAEd,MAAM,aAAa,GAAG,IAAI,aAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,aAAa,CAAC,QAAQ,EAAE,+BAA+B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3G;IAED,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,iFAAiF;YACjF,MAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC,CAAC;YAC3C,OAAO,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,OAAO;QACL,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE;YACL,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE;YACnC,OAAO,EAAE,UAAU;SACpB;KACF,CAAC;AACJ,CAAC;AAzBD,sEAyBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.d.ts new file mode 100644 index 00000000..cd9b31a7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.d.ts @@ -0,0 +1,6 @@ +import { HdPath } from "@cosmjs/crypto"; +/** + * The Cosmos Hub derivation path in the form `m/44'/118'/0'/0/a` + * with 0-based account index `a`. + */ +export declare function makeCosmoshubPath(a: number): HdPath; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js new file mode 100644 index 00000000..0b642f2b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.makeCosmoshubPath = void 0; +const crypto_1 = require("@cosmjs/crypto"); +/** + * The Cosmos Hub derivation path in the form `m/44'/118'/0'/0/a` + * with 0-based account index `a`. + */ +function makeCosmoshubPath(a) { + return [ + crypto_1.Slip10RawIndex.hardened(44), + crypto_1.Slip10RawIndex.hardened(118), + crypto_1.Slip10RawIndex.hardened(0), + crypto_1.Slip10RawIndex.normal(0), + crypto_1.Slip10RawIndex.normal(a), + ]; +} +exports.makeCosmoshubPath = makeCosmoshubPath; +//# sourceMappingURL=paths.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js.map new file mode 100644 index 00000000..4b1e9c30 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/paths.js.map @@ -0,0 +1 @@ +{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAExD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,CAAS;IACzC,OAAO;QACL,uBAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,uBAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5B,uBAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1B,uBAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,uBAAc,CAAC,MAAM,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AARD,8CAQC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.d.ts new file mode 100644 index 00000000..8fa8fa51 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.d.ts @@ -0,0 +1,47 @@ +export interface Pubkey { + readonly type: string; + readonly value: any; +} +export interface Ed25519Pubkey extends SinglePubkey { + readonly type: "tendermint/PubKeyEd25519"; + readonly value: string; +} +export declare function isEd25519Pubkey(pubkey: Pubkey): pubkey is Ed25519Pubkey; +export interface Secp256k1Pubkey extends SinglePubkey { + readonly type: "tendermint/PubKeySecp256k1"; + readonly value: string; +} +export declare function isSecp256k1Pubkey(pubkey: Pubkey): pubkey is Secp256k1Pubkey; +export declare const pubkeyType: { + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/ed25519/ed25519.go#L22 */ + secp256k1: "tendermint/PubKeySecp256k1"; + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/secp256k1/secp256k1.go#L23 */ + ed25519: "tendermint/PubKeyEd25519"; + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/sr25519/codec.go#L12 */ + sr25519: "tendermint/PubKeySr25519"; + multisigThreshold: "tendermint/PubKeyMultisigThreshold"; +}; +/** + * A pubkey which contains the data directly without further nesting. + * + * You can think of this as a non-multisig pubkey. + */ +export interface SinglePubkey extends Pubkey { + readonly type: string; + /** + * The base64 encoding of the Amino binary encoded pubkey. + * + * Note: if type is Secp256k1, this must contain a 33 bytes compressed pubkey. + */ + readonly value: string; +} +export declare function isSinglePubkey(pubkey: Pubkey): pubkey is SinglePubkey; +export interface MultisigThresholdPubkey extends Pubkey { + readonly type: "tendermint/PubKeyMultisigThreshold"; + readonly value: { + /** A string-encoded integer */ + readonly threshold: string; + readonly pubkeys: readonly SinglePubkey[]; + }; +} +export declare function isMultisigThresholdPubkey(pubkey: Pubkey): pubkey is MultisigThresholdPubkey; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js new file mode 100644 index 00000000..e9844ef8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isMultisigThresholdPubkey = exports.isSinglePubkey = exports.pubkeyType = exports.isSecp256k1Pubkey = exports.isEd25519Pubkey = void 0; +function isEd25519Pubkey(pubkey) { + return pubkey.type === "tendermint/PubKeyEd25519"; +} +exports.isEd25519Pubkey = isEd25519Pubkey; +function isSecp256k1Pubkey(pubkey) { + return pubkey.type === "tendermint/PubKeySecp256k1"; +} +exports.isSecp256k1Pubkey = isSecp256k1Pubkey; +exports.pubkeyType = { + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/ed25519/ed25519.go#L22 */ + secp256k1: "tendermint/PubKeySecp256k1", + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/secp256k1/secp256k1.go#L23 */ + ed25519: "tendermint/PubKeyEd25519", + /** @see https://github.com/tendermint/tendermint/blob/v0.33.0/crypto/sr25519/codec.go#L12 */ + sr25519: "tendermint/PubKeySr25519", + multisigThreshold: "tendermint/PubKeyMultisigThreshold", +}; +function isSinglePubkey(pubkey) { + const singPubkeyTypes = [exports.pubkeyType.ed25519, exports.pubkeyType.secp256k1, exports.pubkeyType.sr25519]; + return singPubkeyTypes.includes(pubkey.type); +} +exports.isSinglePubkey = isSinglePubkey; +function isMultisigThresholdPubkey(pubkey) { + return pubkey.type === "tendermint/PubKeyMultisigThreshold"; +} +exports.isMultisigThresholdPubkey = isMultisigThresholdPubkey; +//# sourceMappingURL=pubkeys.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js.map new file mode 100644 index 00000000..40bdf782 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/pubkeys.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pubkeys.js","sourceRoot":"","sources":["../src/pubkeys.ts"],"names":[],"mappings":";;;AAaA,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAQ,MAAwB,CAAC,IAAI,KAAK,0BAA0B,CAAC;AACvE,CAAC;AAFD,0CAEC;AAOD,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAQ,MAA0B,CAAC,IAAI,KAAK,4BAA4B,CAAC;AAC3E,CAAC;AAFD,8CAEC;AAEY,QAAA,UAAU,GAAG;IACxB,+FAA+F;IAC/F,SAAS,EAAE,4BAAqC;IAChD,mGAAmG;IACnG,OAAO,EAAE,0BAAmC;IAC5C,6FAA6F;IAC7F,OAAO,EAAE,0BAAmC;IAC5C,iBAAiB,EAAE,oCAA6C;CACjE,CAAC;AAoBF,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,eAAe,GAAa,CAAC,kBAAU,CAAC,OAAO,EAAE,kBAAU,CAAC,SAAS,EAAE,kBAAU,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAHD,wCAGC;AAWD,SAAgB,yBAAyB,CAAC,MAAc;IACtD,OAAQ,MAAkC,CAAC,IAAI,KAAK,oCAAoC,CAAC;AAC3F,CAAC;AAFD,8DAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts new file mode 100644 index 00000000..c1caf038 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.d.ts @@ -0,0 +1,94 @@ +import { EnglishMnemonic, HdPath } from "@cosmjs/crypto"; +import { StdSignDoc } from "./signdoc"; +import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer"; +import { EncryptionConfiguration, KdfConfiguration } from "./wallet"; +/** + * This interface describes a JSON object holding the encrypted wallet and the meta data. + * All fields in here must be JSON types. + */ +export interface Secp256k1HdWalletSerialization { + /** A format+version identifier for this serialization format */ + readonly type: string; + /** Information about the key derivation function (i.e. password to encryption key) */ + readonly kdf: KdfConfiguration; + /** Information about the symmetric encryption */ + readonly encryption: EncryptionConfiguration; + /** An instance of Secp256k1HdWalletData, which is stringified, encrypted and base64 encoded. */ + readonly data: string; +} +export declare function extractKdfConfiguration(serialization: string): KdfConfiguration; +export interface Secp256k1HdWalletOptions { + /** The password to use when deriving a BIP39 seed from a mnemonic. */ + readonly bip39Password: string; + /** The BIP-32/SLIP-10 derivation paths. Defaults to the Cosmos Hub/ATOM path `m/44'/118'/0'/0/0`. */ + readonly hdPaths: readonly HdPath[]; + /** The bech32 address prefix (human readable part). Defaults to "cosmos". */ + readonly prefix: string; +} +interface Secp256k1HdWalletConstructorOptions extends Partial { + readonly seed: Uint8Array; +} +export declare class Secp256k1HdWallet implements OfflineAminoSigner { + /** + * Restores a wallet from the given BIP39 mnemonic. + * + * @param mnemonic Any valid English mnemonic. + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static fromMnemonic(mnemonic: string, options?: Partial): Promise; + /** + * Generates a new wallet with a BIP39 mnemonic of the given length. + * + * @param length The number of words in the mnemonic (12, 15, 18, 21 or 24). + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static generate(length?: 12 | 15 | 18 | 21 | 24, options?: Partial): Promise; + /** + * Restores a wallet from an encrypted serialization. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + static deserialize(serialization: string, password: string): Promise; + /** + * Restores a wallet from an encrypted serialization. + * + * This is an advanced alternative to calling `deserialize(serialization, password)` directly, which allows + * you to offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF configuration. This can be + * done using `extractKdfConfiguration(serialization)` and `executeKdf(password, kdfConfiguration)` from this package. + */ + static deserializeWithEncryptionKey(serialization: string, encryptionKey: Uint8Array): Promise; + private static deserializeTypeV1; + /** Base secret */ + private readonly secret; + /** BIP39 seed */ + private readonly seed; + /** Derivation instruction */ + private readonly accounts; + protected constructor(mnemonic: EnglishMnemonic, options: Secp256k1HdWalletConstructorOptions); + get mnemonic(): string; + getAccounts(): Promise; + signAmino(signerAddress: string, signDoc: StdSignDoc): Promise; + /** + * Generates an encrypted serialization of this wallet. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + serialize(password: string): Promise; + /** + * Generates an encrypted serialization of this wallet. + * + * This is an advanced alternative to calling `serialize(password)` directly, which allows you to + * offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF options. If this + * is not the case, the wallet cannot be restored with the original password. + */ + serializeWithEncryptionKey(encryptionKey: Uint8Array, kdfConfiguration: KdfConfiguration): Promise; + private getKeyPair; + private getAccountsWithPrivkeys; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js new file mode 100644 index 00000000..c933ce9c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js @@ -0,0 +1,243 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1HdWallet = exports.extractKdfConfiguration = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const utils_1 = require("@cosmjs/utils"); +const addresses_1 = require("./addresses"); +const paths_1 = require("./paths"); +const signature_1 = require("./signature"); +const signdoc_1 = require("./signdoc"); +const wallet_1 = require("./wallet"); +const serializationTypeV1 = "secp256k1wallet-v1"; +/** + * A KDF configuration that is not very strong but can be used on the main thread. + * It takes about 1 second in Node.js 16.0.0 and should have similar runtimes in other modern Wasm hosts. + */ +const basicPasswordHashingOptions = { + algorithm: "argon2id", + params: { + outputLength: 32, + opsLimit: 24, + memLimitKib: 12 * 1024, + }, +}; +function isDerivationJson(thing) { + if (!(0, utils_1.isNonNullObject)(thing)) + return false; + if (typeof thing.hdPath !== "string") + return false; + if (typeof thing.prefix !== "string") + return false; + return true; +} +function extractKdfConfigurationV1(doc) { + return doc.kdf; +} +function extractKdfConfiguration(serialization) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + switch (root.type) { + case serializationTypeV1: + return extractKdfConfigurationV1(root); + default: + throw new Error("Unsupported serialization type"); + } +} +exports.extractKdfConfiguration = extractKdfConfiguration; +const defaultOptions = { + bip39Password: "", + hdPaths: [(0, paths_1.makeCosmoshubPath)(0)], + prefix: "cosmos", +}; +class Secp256k1HdWallet { + /** + * Restores a wallet from the given BIP39 mnemonic. + * + * @param mnemonic Any valid English mnemonic. + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static async fromMnemonic(mnemonic, options = {}) { + const mnemonicChecked = new crypto_1.EnglishMnemonic(mnemonic); + const seed = await crypto_1.Bip39.mnemonicToSeed(mnemonicChecked, options.bip39Password); + return new Secp256k1HdWallet(mnemonicChecked, { + ...options, + seed: seed, + }); + } + /** + * Generates a new wallet with a BIP39 mnemonic of the given length. + * + * @param length The number of words in the mnemonic (12, 15, 18, 21 or 24). + * @param options An optional `Secp256k1HdWalletOptions` object optionally containing a bip39Password, hdPaths, and prefix. + */ + static async generate(length = 12, options = {}) { + const entropyLength = 4 * Math.floor((11 * length) / 33); + const entropy = crypto_1.Random.getBytes(entropyLength); + const mnemonic = crypto_1.Bip39.encode(entropy); + return Secp256k1HdWallet.fromMnemonic(mnemonic.toString(), options); + } + /** + * Restores a wallet from an encrypted serialization. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + static async deserialize(serialization, password) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + switch (root.type) { + case serializationTypeV1: + return Secp256k1HdWallet.deserializeTypeV1(serialization, password); + default: + throw new Error("Unsupported serialization type"); + } + } + /** + * Restores a wallet from an encrypted serialization. + * + * This is an advanced alternative to calling `deserialize(serialization, password)` directly, which allows + * you to offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF configuration. This can be + * done using `extractKdfConfiguration(serialization)` and `executeKdf(password, kdfConfiguration)` from this package. + */ + static async deserializeWithEncryptionKey(serialization, encryptionKey) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + const untypedRoot = root; + switch (untypedRoot.type) { + case serializationTypeV1: { + const decryptedBytes = await (0, wallet_1.decrypt)((0, encoding_1.fromBase64)(untypedRoot.data), encryptionKey, untypedRoot.encryption); + const decryptedDocument = JSON.parse((0, encoding_1.fromUtf8)(decryptedBytes)); + const { mnemonic, accounts } = decryptedDocument; + (0, utils_1.assert)(typeof mnemonic === "string"); + if (!Array.isArray(accounts)) + throw new Error("Property 'accounts' is not an array"); + if (!accounts.every((account) => isDerivationJson(account))) { + throw new Error("Account is not in the correct format."); + } + const firstPrefix = accounts[0].prefix; + if (!accounts.every(({ prefix }) => prefix === firstPrefix)) { + throw new Error("Accounts do not all have the same prefix"); + } + const hdPaths = accounts.map(({ hdPath }) => (0, crypto_1.stringToPath)(hdPath)); + return Secp256k1HdWallet.fromMnemonic(mnemonic, { + hdPaths: hdPaths, + prefix: firstPrefix, + }); + } + default: + throw new Error("Unsupported serialization type"); + } + } + static async deserializeTypeV1(serialization, password) { + const root = JSON.parse(serialization); + if (!(0, utils_1.isNonNullObject)(root)) + throw new Error("Root document is not an object."); + const encryptionKey = await (0, wallet_1.executeKdf)(password, root.kdf); + return Secp256k1HdWallet.deserializeWithEncryptionKey(serialization, encryptionKey); + } + constructor(mnemonic, options) { + const hdPaths = options.hdPaths ?? defaultOptions.hdPaths; + const prefix = options.prefix ?? defaultOptions.prefix; + this.secret = mnemonic; + this.seed = options.seed; + this.accounts = hdPaths.map((hdPath) => ({ + hdPath: hdPath, + prefix, + })); + } + get mnemonic() { + return this.secret.toString(); + } + async getAccounts() { + const accountsWithPrivkeys = await this.getAccountsWithPrivkeys(); + return accountsWithPrivkeys.map(({ algo, pubkey, address }) => ({ + algo: algo, + pubkey: pubkey, + address: address, + })); + } + async signAmino(signerAddress, signDoc) { + const accounts = await this.getAccountsWithPrivkeys(); + const account = accounts.find(({ address }) => address === signerAddress); + if (account === undefined) { + throw new Error(`Address ${signerAddress} not found in wallet`); + } + const { privkey, pubkey } = account; + const message = (0, crypto_1.sha256)((0, signdoc_1.serializeSignDoc)(signDoc)); + const signature = await crypto_1.Secp256k1.createSignature(message, privkey); + const signatureBytes = new Uint8Array([...signature.r(32), ...signature.s(32)]); + return { + signed: signDoc, + signature: (0, signature_1.encodeSecp256k1Signature)(pubkey, signatureBytes), + }; + } + /** + * Generates an encrypted serialization of this wallet. + * + * @param password The user provided password used to generate an encryption key via a KDF. + * This is not normalized internally (see "Unicode normalization" to learn more). + */ + async serialize(password) { + const kdfConfiguration = basicPasswordHashingOptions; + const encryptionKey = await (0, wallet_1.executeKdf)(password, kdfConfiguration); + return this.serializeWithEncryptionKey(encryptionKey, kdfConfiguration); + } + /** + * Generates an encrypted serialization of this wallet. + * + * This is an advanced alternative to calling `serialize(password)` directly, which allows you to + * offload the KDF execution to a non-UI thread (e.g. in a WebWorker). + * + * The caller is responsible for ensuring the key was derived with the given KDF options. If this + * is not the case, the wallet cannot be restored with the original password. + */ + async serializeWithEncryptionKey(encryptionKey, kdfConfiguration) { + const dataToEncrypt = { + mnemonic: this.mnemonic, + accounts: this.accounts.map(({ hdPath, prefix }) => ({ + hdPath: (0, crypto_1.pathToString)(hdPath), + prefix: prefix, + })), + }; + const dataToEncryptRaw = (0, encoding_1.toUtf8)(JSON.stringify(dataToEncrypt)); + const encryptionConfiguration = { + algorithm: wallet_1.supportedAlgorithms.xchacha20poly1305Ietf, + }; + const encryptedData = await (0, wallet_1.encrypt)(dataToEncryptRaw, encryptionKey, encryptionConfiguration); + const out = { + type: serializationTypeV1, + kdf: kdfConfiguration, + encryption: encryptionConfiguration, + data: (0, encoding_1.toBase64)(encryptedData), + }; + return JSON.stringify(out); + } + async getKeyPair(hdPath) { + const { privkey } = crypto_1.Slip10.derivePath(crypto_1.Slip10Curve.Secp256k1, this.seed, hdPath); + const { pubkey } = await crypto_1.Secp256k1.makeKeypair(privkey); + return { + privkey: privkey, + pubkey: crypto_1.Secp256k1.compressPubkey(pubkey), + }; + } + async getAccountsWithPrivkeys() { + return Promise.all(this.accounts.map(async ({ hdPath, prefix }) => { + const { privkey, pubkey } = await this.getKeyPair(hdPath); + const address = (0, encoding_1.toBech32)(prefix, (0, addresses_1.rawSecp256k1PubkeyToRawAddress)(pubkey)); + return { + algo: "secp256k1", + privkey: privkey, + pubkey: pubkey, + address: address, + }; + })); + } +} +exports.Secp256k1HdWallet = Secp256k1HdWallet; +//# sourceMappingURL=secp256k1hdwallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map new file mode 100644 index 00000000..377f5bd6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1hdwallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1hdwallet.js","sourceRoot":"","sources":["../src/secp256k1hdwallet.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts new file mode 100644 index 00000000..e87da4ee --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.d.ts @@ -0,0 +1,23 @@ +import { StdSignDoc } from "./signdoc"; +import { AccountData, AminoSignResponse, OfflineAminoSigner } from "./signer"; +/** + * A wallet that holds a single secp256k1 keypair. + * + * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet. + */ +export declare class Secp256k1Wallet implements OfflineAminoSigner { + /** + * Creates a Secp256k1Wallet from the given private key + * + * @param privkey The private key. + * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos". + */ + static fromKey(privkey: Uint8Array, prefix?: string): Promise; + private readonly pubkey; + private readonly privkey; + private readonly prefix; + private constructor(); + private get address(); + getAccounts(): Promise; + signAmino(signerAddress: string, signDoc: StdSignDoc): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js new file mode 100644 index 00000000..475d418c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1Wallet = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +const addresses_1 = require("./addresses"); +const signature_1 = require("./signature"); +const signdoc_1 = require("./signdoc"); +/** + * A wallet that holds a single secp256k1 keypair. + * + * If you want to work with BIP39 mnemonics and multiple accounts, use Secp256k1HdWallet. + */ +class Secp256k1Wallet { + /** + * Creates a Secp256k1Wallet from the given private key + * + * @param privkey The private key. + * @param prefix The bech32 address prefix (human readable part). Defaults to "cosmos". + */ + static async fromKey(privkey, prefix = "cosmos") { + const uncompressed = (await crypto_1.Secp256k1.makeKeypair(privkey)).pubkey; + return new Secp256k1Wallet(privkey, crypto_1.Secp256k1.compressPubkey(uncompressed), prefix); + } + constructor(privkey, pubkey, prefix) { + this.privkey = privkey; + this.pubkey = pubkey; + this.prefix = prefix; + } + get address() { + return (0, encoding_1.toBech32)(this.prefix, (0, addresses_1.rawSecp256k1PubkeyToRawAddress)(this.pubkey)); + } + async getAccounts() { + return [ + { + algo: "secp256k1", + address: this.address, + pubkey: this.pubkey, + }, + ]; + } + async signAmino(signerAddress, signDoc) { + if (signerAddress !== this.address) { + throw new Error(`Address ${signerAddress} not found in wallet`); + } + const message = new crypto_1.Sha256((0, signdoc_1.serializeSignDoc)(signDoc)).digest(); + const signature = await crypto_1.Secp256k1.createSignature(message, this.privkey); + const signatureBytes = new Uint8Array([...signature.r(32), ...signature.s(32)]); + return { + signed: signDoc, + signature: (0, signature_1.encodeSecp256k1Signature)(this.pubkey, signatureBytes), + }; + } +} +exports.Secp256k1Wallet = Secp256k1Wallet; +//# sourceMappingURL=secp256k1wallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map new file mode 100644 index 00000000..2a47d736 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/secp256k1wallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1wallet.js","sourceRoot":"","sources":["../src/secp256k1wallet.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AACnD,+CAA4C;AAE5C,2CAA6D;AAC7D,2CAAuD;AACvD,uCAAyD;AAGzD;;;;GAIG;AACH,MAAa,eAAe;IAC1B;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAmB,EAAE,MAAM,GAAG,QAAQ;QAChE,MAAM,YAAY,GAAG,CAAC,MAAM,kBAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,kBAAS,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAMD,YAAoB,OAAmB,EAAE,MAAkB,EAAE,MAAc;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAA,0CAA8B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,OAAO;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,OAAmB;QAC/D,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,WAAW,aAAa,sBAAsB,CAAC,CAAC;SACjE;QACD,MAAM,OAAO,GAAG,IAAI,eAAM,CAAC,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,kBAAS,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAA,oCAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;SACjE,CAAC;IACJ,CAAC;CACF;AAhDD,0CAgDC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.d.ts new file mode 100644 index 00000000..c7fff17b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.d.ts @@ -0,0 +1,16 @@ +import { Pubkey } from "./pubkeys"; +export interface StdSignature { + readonly pub_key: Pubkey; + readonly signature: string; +} +/** + * Takes a binary pubkey and signature to create a signature object + * + * @param pubkey a compressed secp256k1 public key + * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s + */ +export declare function encodeSecp256k1Signature(pubkey: Uint8Array, signature: Uint8Array): StdSignature; +export declare function decodeSignature(signature: StdSignature): { + readonly pubkey: Uint8Array; + readonly signature: Uint8Array; +}; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js new file mode 100644 index 00000000..6a06bec5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeSignature = exports.encodeSecp256k1Signature = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const encoding_2 = require("./encoding"); +const pubkeys_1 = require("./pubkeys"); +/** + * Takes a binary pubkey and signature to create a signature object + * + * @param pubkey a compressed secp256k1 public key + * @param signature a 64 byte fixed length representation of secp256k1 signature components r and s + */ +function encodeSecp256k1Signature(pubkey, signature) { + if (signature.length !== 64) { + throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s."); + } + return { + pub_key: (0, encoding_2.encodeSecp256k1Pubkey)(pubkey), + signature: (0, encoding_1.toBase64)(signature), + }; +} +exports.encodeSecp256k1Signature = encodeSecp256k1Signature; +function decodeSignature(signature) { + switch (signature.pub_key.type) { + // Note: please don't add cases here without writing additional unit tests + case pubkeys_1.pubkeyType.secp256k1: + return { + pubkey: (0, encoding_1.fromBase64)(signature.pub_key.value), + signature: (0, encoding_1.fromBase64)(signature.signature), + }; + default: + throw new Error("Unsupported pubkey type"); + } +} +exports.decodeSignature = decodeSignature; +//# sourceMappingURL=signature.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js.map new file mode 100644 index 00000000..fd699733 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,+CAAwD;AAExD,yCAAmD;AACnD,uCAA+C;AAO/C;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,MAAkB,EAAE,SAAqB;IAChF,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,kIAAkI,CACnI,CAAC;KACH;IAED,OAAO;QACL,OAAO,EAAE,IAAA,gCAAqB,EAAC,MAAM,CAAC;QACtC,SAAS,EAAE,IAAA,mBAAQ,EAAC,SAAS,CAAC;KAC/B,CAAC;AACJ,CAAC;AAXD,4DAWC;AAED,SAAgB,eAAe,CAAC,SAAuB;IAIrD,QAAQ,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;QAC9B,0EAA0E;QAC1E,KAAK,oBAAU,CAAC,SAAS;YACvB,OAAO;gBACL,MAAM,EAAE,IAAA,qBAAU,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC3C,SAAS,EAAE,IAAA,qBAAU,EAAC,SAAS,CAAC,SAAS,CAAC;aAC3C,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AACH,CAAC;AAdD,0CAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.d.ts new file mode 100644 index 00000000..bd787c0e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.d.ts @@ -0,0 +1,43 @@ +import { Coin } from "./coins"; +export interface AminoMsg { + readonly type: string; + readonly value: any; +} +export interface StdFee { + readonly amount: readonly Coin[]; + readonly gas: string; + /** The granter address that is used for paying with feegrants */ + readonly granter?: string; + /** The fee payer address. The payer must have signed the transaction. */ + readonly payer?: string; +} +/** + * The document to be signed + * + * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdsigndoc + */ +export interface StdSignDoc { + readonly chain_id: string; + readonly account_number: string; + readonly sequence: string; + readonly fee: StdFee; + readonly msgs: readonly AminoMsg[]; + readonly memo: string; +} +/** Returns a JSON string with objects sorted by key */ +export declare function sortedJsonStringify(obj: any): string; +export declare function makeSignDoc(msgs: readonly AminoMsg[], fee: StdFee, chainId: string, memo: string | undefined, accountNumber: number | string, sequence: number | string): StdSignDoc; +/** + * Takes a valid JSON document and performs the following escapings in string values: + * + * `&` -> `\u0026` + * `<` -> `\u003c` + * `>` -> `\u003e` + * + * Since those characters do not occur in other places of the JSON document, only + * string values are affected. + * + * If the input is invalid JSON, the behaviour is undefined. + */ +export declare function escapeCharacters(input: string): string; +export declare function serializeSignDoc(signDoc: StdSignDoc): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js new file mode 100644 index 00000000..30c95450 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js @@ -0,0 +1,65 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeSignDoc = exports.escapeCharacters = exports.makeSignDoc = exports.sortedJsonStringify = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +function sortedObject(obj) { + if (typeof obj !== "object" || obj === null) { + return obj; + } + if (Array.isArray(obj)) { + return obj.map(sortedObject); + } + const sortedKeys = Object.keys(obj).sort(); + const result = {}; + // NOTE: Use forEach instead of reduce for performance with large objects eg Wasm code + sortedKeys.forEach((key) => { + result[key] = sortedObject(obj[key]); + }); + return result; +} +/** Returns a JSON string with objects sorted by key */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +function sortedJsonStringify(obj) { + return JSON.stringify(sortedObject(obj)); +} +exports.sortedJsonStringify = sortedJsonStringify; +function makeSignDoc(msgs, fee, chainId, memo, accountNumber, sequence) { + return { + chain_id: chainId, + account_number: math_1.Uint53.fromString(accountNumber.toString()).toString(), + sequence: math_1.Uint53.fromString(sequence.toString()).toString(), + fee: fee, + msgs: msgs, + memo: memo || "", + }; +} +exports.makeSignDoc = makeSignDoc; +/** + * Takes a valid JSON document and performs the following escapings in string values: + * + * `&` -> `\u0026` + * `<` -> `\u003c` + * `>` -> `\u003e` + * + * Since those characters do not occur in other places of the JSON document, only + * string values are affected. + * + * If the input is invalid JSON, the behaviour is undefined. + */ +function escapeCharacters(input) { + // When we migrate to target es2021 or above, we can use replaceAll instead of global patterns. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll + const amp = /&/g; + const lt = //g; + return input.replace(amp, "\\u0026").replace(lt, "\\u003c").replace(gt, "\\u003e"); +} +exports.escapeCharacters = escapeCharacters; +function serializeSignDoc(signDoc) { + const serialized = escapeCharacters(sortedJsonStringify(signDoc)); + return (0, encoding_1.toUtf8)(serialized); +} +exports.serializeSignDoc = serializeSignDoc; +//# sourceMappingURL=signdoc.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js.map new file mode 100644 index 00000000..03f37401 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signdoc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signdoc.js","sourceRoot":"","sources":["../src/signdoc.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,+CAA0C;AAC1C,uCAAsC;AAgCtC,SAAS,YAAY,CAAC,GAAQ;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9B;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,sFAAsF;IACtF,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uDAAuD;AACvD,6EAA6E;AAC7E,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED,SAAgB,WAAW,CACzB,IAAyB,EACzB,GAAW,EACX,OAAe,EACf,IAAwB,EACxB,aAA8B,EAC9B,QAAyB;IAEzB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,aAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtE,QAAQ,EAAE,aAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC;AACJ,CAAC;AAhBD,kCAgBC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,+FAA+F;IAC/F,qGAAqG;IACrG,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACrF,CAAC;AAPD,4CAOC;AAED,SAAgB,gBAAgB,CAAC,OAAmB;IAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,OAAO,IAAA,iBAAM,EAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAHD,4CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.d.ts new file mode 100644 index 00000000..82d2b68c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.d.ts @@ -0,0 +1,33 @@ +import { StdSignature } from "./signature"; +import { StdSignDoc } from "./signdoc"; +export type Algo = "secp256k1" | "ed25519" | "sr25519"; +export interface AccountData { + /** A printable address (typically bech32 encoded) */ + readonly address: string; + readonly algo: Algo; + readonly pubkey: Uint8Array; +} +export interface AminoSignResponse { + /** + * The sign doc that was signed. + * This may be different from the input signDoc when the signer modifies it as part of the signing process. + */ + readonly signed: StdSignDoc; + readonly signature: StdSignature; +} +export interface OfflineAminoSigner { + /** + * Get AccountData array from wallet. Rejects if not enabled. + */ + readonly getAccounts: () => Promise; + /** + * Request signature from whichever key corresponds to provided bech32-encoded address. Rejects if not enabled. + * + * The signer implementation may offer the user the ability to override parts of the signDoc. It must + * return the doc that was signed in the response. + * + * @param signerAddress The address of the account that should sign the transaction + * @param signDoc The content that should be signed + */ + readonly signAmino: (signerAddress: string, signDoc: StdSignDoc) => Promise; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js new file mode 100644 index 00000000..c73406ac --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=signer.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js.map new file mode 100644 index 00000000..5b2efee5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/signer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.d.ts new file mode 100644 index 00000000..3cc05bc6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.d.ts @@ -0,0 +1,15 @@ +import { StdSignature } from "./signature"; +import { AminoMsg, StdFee, StdSignDoc } from "./signdoc"; +/** + * A Cosmos SDK StdTx + * + * @see https://docs.cosmos.network/master/modules/auth/03_types.html#stdtx + */ +export interface StdTx { + readonly msg: readonly AminoMsg[]; + readonly fee: StdFee; + readonly signatures: readonly StdSignature[]; + readonly memo: string | undefined; +} +export declare function isStdTx(txValue: unknown): txValue is StdTx; +export declare function makeStdTx(content: Pick, signatures: StdSignature | readonly StdSignature[]): StdTx; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js new file mode 100644 index 00000000..ee56fd14 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.makeStdTx = exports.isStdTx = void 0; +function isStdTx(txValue) { + const { memo, msg, fee, signatures } = txValue; + return (typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures)); +} +exports.isStdTx = isStdTx; +function makeStdTx(content, signatures) { + return { + msg: content.msgs, + fee: content.fee, + memo: content.memo, + signatures: Array.isArray(signatures) ? signatures : [signatures], + }; +} +exports.makeStdTx = makeStdTx; +//# sourceMappingURL=stdtx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js.map new file mode 100644 index 00000000..7bacecf8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/stdtx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stdtx.js","sourceRoot":"","sources":["../src/stdtx.ts"],"names":[],"mappings":";;;AAeA,SAAgB,OAAO,CAAC,OAAgB;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAgB,CAAC;IACxD,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CACvG,CAAC;AACJ,CAAC;AALD,0BAKC;AAED,SAAgB,SAAS,CACvB,OAAkD,EAClD,UAAkD;IAElD,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;KAClE,CAAC;AACJ,CAAC;AAVD,8BAUC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.d.ts new file mode 100644 index 00000000..bc68969b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.d.ts @@ -0,0 +1,32 @@ +/** + * A fixed salt is chosen to archive a deterministic password to key derivation. + * This reduces the scope of a potential rainbow attack to all CosmJS users. + * Must be 16 bytes due to implementation limitations. + */ +export declare const cosmjsSalt: Uint8Array; +export interface KdfConfiguration { + /** + * An algorithm identifier, such as "argon2id" or "scrypt". + */ + readonly algorithm: string; + /** A map of algorithm-specific parameters */ + readonly params: Record; +} +export declare function executeKdf(password: string, configuration: KdfConfiguration): Promise; +/** + * Configuration how to encrypt data or how data was encrypted. + * This is stored as part of the wallet serialization and must only contain JSON types. + */ +export interface EncryptionConfiguration { + /** + * An algorithm identifier, such as "xchacha20poly1305-ietf". + */ + readonly algorithm: string; + /** A map of algorithm-specific parameters */ + readonly params?: Record; +} +export declare const supportedAlgorithms: { + xchacha20poly1305Ietf: string; +}; +export declare function encrypt(plaintext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise; +export declare function decrypt(ciphertext: Uint8Array, encryptionKey: Uint8Array, config: EncryptionConfiguration): Promise; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js new file mode 100644 index 00000000..365e2996 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decrypt = exports.encrypt = exports.supportedAlgorithms = exports.executeKdf = exports.cosmjsSalt = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encoding_1 = require("@cosmjs/encoding"); +/** + * A fixed salt is chosen to archive a deterministic password to key derivation. + * This reduces the scope of a potential rainbow attack to all CosmJS users. + * Must be 16 bytes due to implementation limitations. + */ +exports.cosmjsSalt = (0, encoding_1.toAscii)("The CosmJS salt."); +async function executeKdf(password, configuration) { + switch (configuration.algorithm) { + case "argon2id": { + const options = configuration.params; + if (!(0, crypto_1.isArgon2idOptions)(options)) + throw new Error("Invalid format of argon2id params"); + return crypto_1.Argon2id.execute(password, exports.cosmjsSalt, options); + } + default: + throw new Error("Unsupported KDF algorithm"); + } +} +exports.executeKdf = executeKdf; +exports.supportedAlgorithms = { + xchacha20poly1305Ietf: "xchacha20poly1305-ietf", +}; +async function encrypt(plaintext, encryptionKey, config) { + switch (config.algorithm) { + case exports.supportedAlgorithms.xchacha20poly1305Ietf: { + const nonce = crypto_1.Random.getBytes(crypto_1.xchacha20NonceLength); + // Prepend fixed-length nonce to ciphertext as suggested in the example from https://github.com/jedisct1/libsodium.js#api + return new Uint8Array([ + ...nonce, + ...(await crypto_1.Xchacha20poly1305Ietf.encrypt(plaintext, encryptionKey, nonce)), + ]); + } + default: + throw new Error(`Unsupported encryption algorithm: '${config.algorithm}'`); + } +} +exports.encrypt = encrypt; +async function decrypt(ciphertext, encryptionKey, config) { + switch (config.algorithm) { + case exports.supportedAlgorithms.xchacha20poly1305Ietf: { + const nonce = ciphertext.slice(0, crypto_1.xchacha20NonceLength); + return crypto_1.Xchacha20poly1305Ietf.decrypt(ciphertext.slice(crypto_1.xchacha20NonceLength), encryptionKey, nonce); + } + default: + throw new Error(`Unsupported encryption algorithm: '${config.algorithm}'`); + } +} +exports.decrypt = decrypt; +//# sourceMappingURL=wallet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js.map new file mode 100644 index 00000000..57b57c7c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/build/wallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":";;;AAAA,2CAMwB;AACxB,+CAA2C;AAE3C;;;;GAIG;AACU,QAAA,UAAU,GAAG,IAAA,kBAAO,EAAC,kBAAkB,CAAC,CAAC;AAW/C,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,aAA+B;IAChF,QAAQ,aAAa,CAAC,SAAS,EAAE;QAC/B,KAAK,UAAU,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtF,OAAO,iBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAU,EAAE,OAAO,CAAC,CAAC;SACxD;QACD;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;AACH,CAAC;AAVD,gCAUC;AAeY,QAAA,mBAAmB,GAAG;IACjC,qBAAqB,EAAE,wBAAwB;CAChD,CAAC;AAEK,KAAK,UAAU,OAAO,CAC3B,SAAqB,EACrB,aAAyB,EACzB,MAA+B;IAE/B,QAAQ,MAAM,CAAC,SAAS,EAAE;QACxB,KAAK,2BAAmB,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,eAAM,CAAC,QAAQ,CAAC,6BAAoB,CAAC,CAAC;YACpD,yHAAyH;YACzH,OAAO,IAAI,UAAU,CAAC;gBACpB,GAAG,KAAK;gBACR,GAAG,CAAC,MAAM,8BAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;aAC1E,CAAC,CAAC;SACJ;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;KAC9E;AACH,CAAC;AAjBD,0BAiBC;AAEM,KAAK,UAAU,OAAO,CAC3B,UAAsB,EACtB,aAAyB,EACzB,MAA+B;IAE/B,QAAQ,MAAM,CAAC,SAAS,EAAE;QACxB,KAAK,2BAAmB,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,6BAAoB,CAAC,CAAC;YACxD,OAAO,8BAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,6BAAoB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;SACpG;QACD;YACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;KAC9E;AACH,CAAC;AAbD,0BAaC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/package.json b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/package.json new file mode 100644 index 00000000..5baa62ad --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/amino/package.json @@ -0,0 +1,82 @@ +{ + "name": "@cosmjs/amino", + "version": "0.31.0", + "description": "Helpers for Amino based signing.", + "contributors": [ + "Simon Warta " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/amino" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "@cosmjs/crypto": "^0.31.0", + "@cosmjs/encoding": "^0.31.0", + "@cosmjs/math": "^0.31.0", + "@cosmjs/utils": "^0.31.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/README.md b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/README.md new file mode 100644 index 00000000..d8820186 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/README.md @@ -0,0 +1,15 @@ +# @cosmjs/crypto + +[![npm version](https://img.shields.io/npm/v/@cosmjs/crypto.svg)](https://www.npmjs.com/package/@cosmjs/crypto) + +This package contains low-level cryptographic functionality used in other +@cosmjs libraries. Little of it is implemented here, but mainly it is a curation +of external libraries along with correctness tests. We add type safety, some +more checks, and a simple API to these libraries. This can also be freely +imported outside of CosmJS based applications. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.d.ts new file mode 100644 index 00000000..b5cb7e22 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.d.ts @@ -0,0 +1,29 @@ +export declare function entropyToMnemonic(entropy: Uint8Array): string; +export declare function mnemonicToEntropy(mnemonic: string): Uint8Array; +export declare class EnglishMnemonic { + static readonly wordlist: readonly string[]; + private static readonly mnemonicMatcher; + private readonly data; + constructor(mnemonic: string); + toString(): string; +} +export declare class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy: Uint8Array): EnglishMnemonic; + static decode(mnemonic: EnglishMnemonic): Uint8Array; + static mnemonicToSeed(mnemonic: EnglishMnemonic, password?: string): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js new file mode 100644 index 00000000..5a5a2079 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js @@ -0,0 +1,2186 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bip39 = exports.EnglishMnemonic = exports.mnemonicToEntropy = exports.entropyToMnemonic = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const pbkdf2_1 = require("./pbkdf2"); +const sha_1 = require("./sha"); +const wordlist = [ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo", +]; +function bytesToBitstring(bytes) { + return Array.from(bytes) + .map((byte) => byte.toString(2).padStart(8, "0")) + .join(""); +} +function deriveChecksumBits(entropy) { + const entropyLengthBits = entropy.length * 8; // "ENT" (in bits) + const checksumLengthBits = entropyLengthBits / 32; // "CS" (in bits) + const hash = (0, sha_1.sha256)(entropy); + return bytesToBitstring(hash).slice(0, checksumLengthBits); +} +function bitstringToByte(bin) { + return parseInt(bin, 2); +} +const allowedEntropyLengths = [16, 20, 24, 28, 32]; +const allowedWordLengths = [12, 15, 18, 21, 24]; +function entropyToMnemonic(entropy) { + if (allowedEntropyLengths.indexOf(entropy.length) === -1) { + throw new Error("invalid input length"); + } + const entropyBits = bytesToBitstring(entropy); + const checksumBits = deriveChecksumBits(entropy); + const bits = entropyBits + checksumBits; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const chunks = bits.match(/(.{11})/g); + const words = chunks.map((binary) => { + const index = bitstringToByte(binary); + return wordlist[index]; + }); + return words.join(" "); +} +exports.entropyToMnemonic = entropyToMnemonic; +const invalidNumberOfWorks = "Invalid number of words"; +const wordNotInWordlist = "Found word that is not in the wordlist"; +const invalidEntropy = "Invalid entropy"; +const invalidChecksum = "Invalid mnemonic checksum"; +function normalize(str) { + return str.normalize("NFKD"); +} +function mnemonicToEntropy(mnemonic) { + const words = normalize(mnemonic).split(" "); + if (!allowedWordLengths.includes(words.length)) { + throw new Error(invalidNumberOfWorks); + } + // convert word indices to 11 bit binary strings + const bits = words + .map((word) => { + const index = wordlist.indexOf(word); + if (index === -1) { + throw new Error(wordNotInWordlist); + } + return index.toString(2).padStart(11, "0"); + }) + .join(""); + // split the binary string into ENT/CS + const dividerIndex = Math.floor(bits.length / 33) * 32; + const entropyBits = bits.slice(0, dividerIndex); + const checksumBits = bits.slice(dividerIndex); + // calculate the checksum and compare + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const entropyBytes = entropyBits.match(/(.{1,8})/g).map(bitstringToByte); + if (entropyBytes.length < 16 || entropyBytes.length > 32 || entropyBytes.length % 4 !== 0) { + throw new Error(invalidEntropy); + } + const entropy = Uint8Array.from(entropyBytes); + const newChecksum = deriveChecksumBits(entropy); + if (newChecksum !== checksumBits) { + throw new Error(invalidChecksum); + } + return entropy; +} +exports.mnemonicToEntropy = mnemonicToEntropy; +class EnglishMnemonic { + constructor(mnemonic) { + if (!EnglishMnemonic.mnemonicMatcher.test(mnemonic)) { + throw new Error("Invalid mnemonic format"); + } + const words = mnemonic.split(" "); + const allowedWordsLengths = [12, 15, 18, 21, 24]; + if (allowedWordsLengths.indexOf(words.length) === -1) { + throw new Error(`Invalid word count in mnemonic (allowed: ${allowedWordsLengths} got: ${words.length})`); + } + for (const word of words) { + if (EnglishMnemonic.wordlist.indexOf(word) === -1) { + throw new Error("Mnemonic contains invalid word"); + } + } + // Throws with informative error message if mnemonic is not valid + mnemonicToEntropy(mnemonic); + this.data = mnemonic; + } + toString() { + return this.data; + } +} +exports.EnglishMnemonic = EnglishMnemonic; +EnglishMnemonic.wordlist = wordlist; +// list of space separated lower case words (1 or more) +EnglishMnemonic.mnemonicMatcher = /^[a-z]+( [a-z]+)*$/; +class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy) { + return new EnglishMnemonic(entropyToMnemonic(entropy)); + } + static decode(mnemonic) { + return mnemonicToEntropy(mnemonic.toString()); + } + static async mnemonicToSeed(mnemonic, password) { + const mnemonicBytes = (0, encoding_1.toUtf8)(normalize(mnemonic.toString())); + const salt = "mnemonic" + (password ? normalize(password) : ""); + const saltBytes = (0, encoding_1.toUtf8)(salt); + return (0, pbkdf2_1.pbkdf2Sha512)(mnemonicBytes, saltBytes, 2048, 64); + } +} +exports.Bip39 = Bip39; +//# sourceMappingURL=bip39.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js.map new file mode 100644 index 00000000..f88d8c57 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/bip39.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bip39.js","sourceRoot":"","sources":["../src/bip39.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.d.ts new file mode 100644 index 00000000..00c136c6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.d.ts @@ -0,0 +1,5 @@ +export interface HashFunction { + readonly blockSize: number; + readonly update: (_: Uint8Array) => HashFunction; + readonly digest: () => Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js new file mode 100644 index 00000000..6032c199 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=hash.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js.map new file mode 100644 index 00000000..1159d990 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.d.ts new file mode 100644 index 00000000..a2f35d9d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.d.ts @@ -0,0 +1,11 @@ +import { HashFunction } from "./hash"; +export declare class Hmac implements HashFunction { + readonly blockSize: number; + private readonly messageHasher; + private readonly oKeyPad; + private readonly iKeyPad; + private readonly hash; + constructor(hashFunctionConstructor: new () => H, originalKey: Uint8Array); + update(data: Uint8Array): Hmac; + digest(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js new file mode 100644 index 00000000..2c68480b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Hmac = void 0; +class Hmac { + constructor(hashFunctionConstructor, originalKey) { + // This implementation is based on https://en.wikipedia.org/wiki/HMAC#Implementation + // with the addition of incremental hashing support. Thus part of the algorithm + // is in the constructor and the rest in digest(). + const blockSize = new hashFunctionConstructor().blockSize; + this.hash = (data) => new hashFunctionConstructor().update(data).digest(); + let key = originalKey; + if (key.length > blockSize) { + key = this.hash(key); + } + if (key.length < blockSize) { + const zeroPadding = new Uint8Array(blockSize - key.length); + key = new Uint8Array([...key, ...zeroPadding]); + } + // eslint-disable-next-line no-bitwise + this.oKeyPad = key.map((keyByte) => keyByte ^ 0x5c); + // eslint-disable-next-line no-bitwise + this.iKeyPad = key.map((keyByte) => keyByte ^ 0x36); + this.messageHasher = new hashFunctionConstructor(); + this.blockSize = blockSize; + this.update(this.iKeyPad); + } + update(data) { + this.messageHasher.update(data); + return this; + } + digest() { + const innerHash = this.messageHasher.digest(); + return this.hash(new Uint8Array([...this.oKeyPad, ...innerHash])); + } +} +exports.Hmac = Hmac; +//# sourceMappingURL=hmac.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js.map new file mode 100644 index 00000000..aae9e272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/hmac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../src/hmac.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IAQf,YAAmB,uBAAoC,EAAE,WAAuB;QAC9E,oFAAoF;QACpF,+EAA+E;QAC/E,kDAAkD;QAElD,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC,SAAS,CAAC;QAE1D,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAE1E,IAAI,GAAG,GAAG,WAAW,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;SAChD;QAED,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA9CD,oBA8CC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.d.ts new file mode 100644 index 00000000..65ab90f3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.d.ts @@ -0,0 +1,11 @@ +export { Bip39, EnglishMnemonic } from "./bip39"; +export { HashFunction } from "./hash"; +export { Hmac } from "./hmac"; +export { Keccak256, keccak256 } from "./keccak"; +export { Argon2id, Argon2idOptions, Ed25519, Ed25519Keypair, isArgon2idOptions, xchacha20NonceLength, Xchacha20poly1305Ietf, } from "./libsodium"; +export { Random } from "./random"; +export { Ripemd160, ripemd160 } from "./ripemd"; +export { Secp256k1, Secp256k1Keypair } from "./secp256k1"; +export { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export { Sha256, sha256, Sha512, sha512 } from "./sha"; +export { HdPath, pathToString, Slip10, Slip10Curve, slip10CurveFromString, Slip10RawIndex, Slip10Result, stringToPath, } from "./slip10"; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js new file mode 100644 index 00000000..efe4954e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = exports.Slip10 = exports.pathToString = exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = exports.Secp256k1Signature = exports.ExtendedSecp256k1Signature = exports.Secp256k1 = exports.ripemd160 = exports.Ripemd160 = exports.Random = exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.isArgon2idOptions = exports.Ed25519Keypair = exports.Ed25519 = exports.Argon2id = exports.keccak256 = exports.Keccak256 = exports.Hmac = exports.EnglishMnemonic = exports.Bip39 = void 0; +var bip39_1 = require("./bip39"); +Object.defineProperty(exports, "Bip39", { enumerable: true, get: function () { return bip39_1.Bip39; } }); +Object.defineProperty(exports, "EnglishMnemonic", { enumerable: true, get: function () { return bip39_1.EnglishMnemonic; } }); +var hmac_1 = require("./hmac"); +Object.defineProperty(exports, "Hmac", { enumerable: true, get: function () { return hmac_1.Hmac; } }); +var keccak_1 = require("./keccak"); +Object.defineProperty(exports, "Keccak256", { enumerable: true, get: function () { return keccak_1.Keccak256; } }); +Object.defineProperty(exports, "keccak256", { enumerable: true, get: function () { return keccak_1.keccak256; } }); +var libsodium_1 = require("./libsodium"); +Object.defineProperty(exports, "Argon2id", { enumerable: true, get: function () { return libsodium_1.Argon2id; } }); +Object.defineProperty(exports, "Ed25519", { enumerable: true, get: function () { return libsodium_1.Ed25519; } }); +Object.defineProperty(exports, "Ed25519Keypair", { enumerable: true, get: function () { return libsodium_1.Ed25519Keypair; } }); +Object.defineProperty(exports, "isArgon2idOptions", { enumerable: true, get: function () { return libsodium_1.isArgon2idOptions; } }); +Object.defineProperty(exports, "xchacha20NonceLength", { enumerable: true, get: function () { return libsodium_1.xchacha20NonceLength; } }); +Object.defineProperty(exports, "Xchacha20poly1305Ietf", { enumerable: true, get: function () { return libsodium_1.Xchacha20poly1305Ietf; } }); +var random_1 = require("./random"); +Object.defineProperty(exports, "Random", { enumerable: true, get: function () { return random_1.Random; } }); +var ripemd_1 = require("./ripemd"); +Object.defineProperty(exports, "Ripemd160", { enumerable: true, get: function () { return ripemd_1.Ripemd160; } }); +Object.defineProperty(exports, "ripemd160", { enumerable: true, get: function () { return ripemd_1.ripemd160; } }); +var secp256k1_1 = require("./secp256k1"); +Object.defineProperty(exports, "Secp256k1", { enumerable: true, get: function () { return secp256k1_1.Secp256k1; } }); +var secp256k1signature_1 = require("./secp256k1signature"); +Object.defineProperty(exports, "ExtendedSecp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.ExtendedSecp256k1Signature; } }); +Object.defineProperty(exports, "Secp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.Secp256k1Signature; } }); +var sha_1 = require("./sha"); +Object.defineProperty(exports, "Sha256", { enumerable: true, get: function () { return sha_1.Sha256; } }); +Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha_1.sha256; } }); +Object.defineProperty(exports, "Sha512", { enumerable: true, get: function () { return sha_1.Sha512; } }); +Object.defineProperty(exports, "sha512", { enumerable: true, get: function () { return sha_1.sha512; } }); +var slip10_1 = require("./slip10"); +Object.defineProperty(exports, "pathToString", { enumerable: true, get: function () { return slip10_1.pathToString; } }); +Object.defineProperty(exports, "Slip10", { enumerable: true, get: function () { return slip10_1.Slip10; } }); +Object.defineProperty(exports, "Slip10Curve", { enumerable: true, get: function () { return slip10_1.Slip10Curve; } }); +Object.defineProperty(exports, "slip10CurveFromString", { enumerable: true, get: function () { return slip10_1.slip10CurveFromString; } }); +Object.defineProperty(exports, "Slip10RawIndex", { enumerable: true, get: function () { return slip10_1.Slip10RawIndex; } }); +Object.defineProperty(exports, "stringToPath", { enumerable: true, get: function () { return slip10_1.stringToPath; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js.map new file mode 100644 index 00000000..4da9657e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAAxC,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAQqB;AAPnB,qGAAA,QAAQ,OAAA;AAER,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AAEvB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,2DAAsF;AAA7E,gIAAA,0BAA0B,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AACvD,6BAAuD;AAA9C,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AACvC,mCASkB;AAPhB,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,qGAAA,WAAW,OAAA;AACX,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AAEd,sGAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.d.ts new file mode 100644 index 00000000..9177b27c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Keccak256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Keccak256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +export declare function keccak256(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js new file mode 100644 index 00000000..a652e615 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.keccak256 = exports.Keccak256 = void 0; +const sha3_1 = require("@noble/hashes/sha3"); +const utils_1 = require("./utils"); +class Keccak256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha3_1.keccak_256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Keccak256 = Keccak256; +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +function keccak256(data) { + return new Keccak256(data).digest(); +} +exports.keccak256 = keccak256; +//# sourceMappingURL=keccak.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js.map new file mode 100644 index 00000000..3f5af6ef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/keccak.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keccak.js","sourceRoot":"","sources":["../src/keccak.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,iBAAU,CAAC,MAAM,EAAE,CAAC;QAG1C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.d.ts new file mode 100644 index 00000000..1dcb7c4a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.d.ts @@ -0,0 +1,52 @@ +export interface Argon2idOptions { + /** Output length in bytes */ + readonly outputLength: number; + /** + * An integer between 1 and 4294967295 representing the computational difficulty. + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly opsLimit: number; + /** + * Memory limit measured in KiB (like argon2 command line tool) + * + * Note: only approximately 16 MiB of memory are available using the non-sumo version of libsodium.js + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly memLimitKib: number; +} +export declare function isArgon2idOptions(thing: unknown): thing is Argon2idOptions; +export declare class Argon2id { + static execute(password: string, salt: Uint8Array, options: Argon2idOptions): Promise; +} +export declare class Ed25519Keypair { + static fromLibsodiumPrivkey(libsodiumPrivkey: Uint8Array): Ed25519Keypair; + readonly privkey: Uint8Array; + readonly pubkey: Uint8Array; + constructor(privkey: Uint8Array, pubkey: Uint8Array); + toLibsodiumPrivkey(): Uint8Array; +} +export declare class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static makeKeypair(seed: Uint8Array): Promise; + static createSignature(message: Uint8Array, keyPair: Ed25519Keypair): Promise; + static verifySignature(signature: Uint8Array, message: Uint8Array, pubkey: Uint8Array): Promise; +} +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +export declare const xchacha20NonceLength = 24; +export declare class Xchacha20poly1305Ietf { + static encrypt(message: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; + static decrypt(ciphertext: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js new file mode 100644 index 00000000..401ba569 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js @@ -0,0 +1,98 @@ +"use strict"; +// Keep all classes requiring libsodium-js in one file as having multiple +// requiring of the libsodium-wrappers module currently crashes browsers +// +// libsodium.js API: https://gist.github.com/webmaster128/b2dbe6d54d36dd168c9fabf441b9b09c +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.Ed25519 = exports.Ed25519Keypair = exports.Argon2id = exports.isArgon2idOptions = void 0; +const utils_1 = require("@cosmjs/utils"); +// Using crypto_pwhash requires sumo. Once we migrate to a standalone +// Argon2 implementation, we can use the normal libsodium-wrappers +// again: https://github.com/cosmos/cosmjs/issues/1031 +const libsodium_wrappers_sumo_1 = __importDefault(require("libsodium-wrappers-sumo")); +function isArgon2idOptions(thing) { + if (!(0, utils_1.isNonNullObject)(thing)) + return false; + if (typeof thing.outputLength !== "number") + return false; + if (typeof thing.opsLimit !== "number") + return false; + if (typeof thing.memLimitKib !== "number") + return false; + return true; +} +exports.isArgon2idOptions = isArgon2idOptions; +class Argon2id { + static async execute(password, salt, options) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_pwhash(options.outputLength, password, salt, // libsodium only supports 16 byte salts and will throw when you don't respect that + options.opsLimit, options.memLimitKib * 1024, libsodium_wrappers_sumo_1.default.crypto_pwhash_ALG_ARGON2ID13); + } +} +exports.Argon2id = Argon2id; +class Ed25519Keypair { + // a libsodium privkey has the format ` + ` + static fromLibsodiumPrivkey(libsodiumPrivkey) { + if (libsodiumPrivkey.length !== 64) { + throw new Error(`Unexpected key length ${libsodiumPrivkey.length}. Must be 64.`); + } + return new Ed25519Keypair(libsodiumPrivkey.slice(0, 32), libsodiumPrivkey.slice(32, 64)); + } + constructor(privkey, pubkey) { + this.privkey = privkey; + this.pubkey = pubkey; + } + toLibsodiumPrivkey() { + return new Uint8Array([...this.privkey, ...this.pubkey]); + } +} +exports.Ed25519Keypair = Ed25519Keypair; +class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static async makeKeypair(seed) { + await libsodium_wrappers_sumo_1.default.ready; + const keypair = libsodium_wrappers_sumo_1.default.crypto_sign_seed_keypair(seed); + return Ed25519Keypair.fromLibsodiumPrivkey(keypair.privateKey); + } + static async createSignature(message, keyPair) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_detached(message, keyPair.toLibsodiumPrivkey()); + } + static async verifySignature(signature, message, pubkey) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_verify_detached(signature, message, pubkey); + } +} +exports.Ed25519 = Ed25519; +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +exports.xchacha20NonceLength = 24; +class Xchacha20poly1305Ietf { + static async encrypt(message, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_encrypt(message, additionalData, null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + nonce, key); + } + static async decrypt(ciphertext, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_decrypt(null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + ciphertext, additionalData, nonce, key); + } +} +exports.Xchacha20poly1305Ietf = Xchacha20poly1305Ietf; +//# sourceMappingURL=libsodium.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js.map new file mode 100644 index 00000000..c77815ae --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/libsodium.js.map @@ -0,0 +1 @@ +{"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../src/libsodium.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts new file mode 100644 index 00000000..cf062c34 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts @@ -0,0 +1,20 @@ +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +export declare function getNodeCrypto(): Promise; +export declare function getSubtle(): Promise; +export declare function pbkdf2Sha512Subtle(subtle: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +export declare function pbkdf2Sha512NodeCrypto(nodeCrypto: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +export declare function pbkdf2Sha512Noble(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +export declare function pbkdf2Sha512(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js new file mode 100644 index 00000000..23a00d1e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js @@ -0,0 +1,129 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pbkdf2Sha512 = exports.pbkdf2Sha512Noble = exports.pbkdf2Sha512NodeCrypto = exports.pbkdf2Sha512Subtle = exports.getSubtle = exports.getNodeCrypto = void 0; +const utils_1 = require("@cosmjs/utils"); +const pbkdf2_1 = require("@noble/hashes/pbkdf2"); +const sha512_1 = require("@noble/hashes/sha512"); +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +async function getNodeCrypto() { + try { + const nodeCrypto = await Promise.resolve().then(() => __importStar(require("crypto"))); + // We get `Object{default: Object{}}` as a fallback when using + // `crypto: false` in Webpack 5, which we interprete as unavailable. + if (typeof nodeCrypto === "object" && Object.keys(nodeCrypto).length <= 1) { + return undefined; + } + return nodeCrypto; + } + catch { + return undefined; + } +} +exports.getNodeCrypto = getNodeCrypto; +async function getSubtle() { + // From Node.js 15 onwards, webcrypto is available in globalThis. + // In version 15 and 16 this was stored under the webcrypto key. + // With Node.js 17 it was moved to the same locations where browsers + // make it available. + // Loading `require("crypto")` here seems unnecessary since it only + // causes issues with bundlers and does not increase compatibility. + // Browsers and Node.js 17+ + let subtle = globalThis?.crypto?.subtle; + // Node.js 15+ + if (!subtle) + subtle = globalThis?.crypto?.webcrypto?.subtle; + return subtle; +} +exports.getSubtle = getSubtle; +async function pbkdf2Sha512Subtle( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +subtle, secret, salt, iterations, keylen) { + (0, utils_1.assert)(subtle, "Argument subtle is falsy"); + (0, utils_1.assert)(typeof subtle === "object", "Argument subtle is not of type object"); + (0, utils_1.assert)(typeof subtle.importKey === "function", "subtle.importKey is not a function"); + (0, utils_1.assert)(typeof subtle.deriveBits === "function", "subtle.deriveBits is not a function"); + return subtle.importKey("raw", secret, { name: "PBKDF2" }, false, ["deriveBits"]).then((key) => subtle + .deriveBits({ + name: "PBKDF2", + salt: salt, + iterations: iterations, + hash: { name: "SHA-512" }, + }, key, keylen * 8) + .then((buffer) => new Uint8Array(buffer))); +} +exports.pbkdf2Sha512Subtle = pbkdf2Sha512Subtle; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +async function pbkdf2Sha512NodeCrypto( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +nodeCrypto, secret, salt, iterations, keylen) { + (0, utils_1.assert)(nodeCrypto, "Argument nodeCrypto is falsy"); + (0, utils_1.assert)(typeof nodeCrypto === "object", "Argument nodeCrypto is not of type object"); + (0, utils_1.assert)(typeof nodeCrypto.pbkdf2 === "function", "nodeCrypto.pbkdf2 is not a function"); + return new Promise((resolve, reject) => { + nodeCrypto.pbkdf2(secret, salt, iterations, keylen, "sha512", (error, result) => { + if (error) { + reject(error); + } + else { + resolve(Uint8Array.from(result)); + } + }); + }); +} +exports.pbkdf2Sha512NodeCrypto = pbkdf2Sha512NodeCrypto; +async function pbkdf2Sha512Noble(secret, salt, iterations, keylen) { + return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, secret, salt, { c: iterations, dkLen: keylen }); +} +exports.pbkdf2Sha512Noble = pbkdf2Sha512Noble; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +async function pbkdf2Sha512(secret, salt, iterations, keylen) { + const subtle = await getSubtle(); + if (subtle) { + return pbkdf2Sha512Subtle(subtle, secret, salt, iterations, keylen); + } + else { + const nodeCrypto = await getNodeCrypto(); + if (nodeCrypto) { + return pbkdf2Sha512NodeCrypto(nodeCrypto, secret, salt, iterations, keylen); + } + else { + return pbkdf2Sha512Noble(secret, salt, iterations, keylen); + } + } +} +exports.pbkdf2Sha512 = pbkdf2Sha512; +//# sourceMappingURL=pbkdf2.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js.map new file mode 100644 index 00000000..b4b0b8c0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/pbkdf2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../src/pbkdf2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.d.ts new file mode 100644 index 00000000..71ac08a7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.d.ts @@ -0,0 +1,6 @@ +export declare class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count: number): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js new file mode 100644 index 00000000..26ca2488 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Random = void 0; +class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count) { + try { + const globalObject = typeof window === "object" ? window : self; + const cryptoApi = typeof globalObject.crypto !== "undefined" ? globalObject.crypto : globalObject.msCrypto; + const out = new Uint8Array(count); + cryptoApi.getRandomValues(out); + return out; + } + catch { + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const crypto = require("crypto"); + return new Uint8Array([...crypto.randomBytes(count)]); + } + catch { + throw new Error("No secure random number generator found"); + } + } + } +} +exports.Random = Random; +//# sourceMappingURL=random.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js.map new file mode 100644 index 00000000..5dde5cf6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/random.js.map @@ -0,0 +1 @@ +{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IACjB;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,IAAI;YACF,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,SAAS,GACb,OAAO,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YAE3F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;SACZ;QAAC,MAAM;YACN,IAAI;gBACF,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvD;YAAC,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;CACF;AAvBD,wBAuBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.d.ts new file mode 100644 index 00000000..8bd6acac --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Ripemd160 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Ripemd160; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +export declare function ripemd160(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js new file mode 100644 index 00000000..f8240a8d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = exports.Ripemd160 = void 0; +const ripemd160_1 = require("@noble/hashes/ripemd160"); +const utils_1 = require("./utils"); +class Ripemd160 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = ripemd160_1.ripemd160.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Ripemd160 = Ripemd160; +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +function ripemd160(data) { + return new Ripemd160(data).digest(); +} +exports.ripemd160 = ripemd160; +//# sourceMappingURL=ripemd.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js.map new file mode 100644 index 00000000..2849280b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/ripemd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd.js","sourceRoot":"","sources":["../src/ripemd.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,qBAAc,CAAC,MAAM,EAAE,CAAC;QAG9C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.d.ts new file mode 100644 index 00000000..a86f5196 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.d.ts @@ -0,0 +1,45 @@ +import { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export interface Secp256k1Keypair { + /** A 32 byte private key */ + readonly pubkey: Uint8Array; + /** + * A raw secp256k1 public key. + * + * The type itself does not give you any guarantee if this is + * compressed or uncompressed. If you are unsure where the data + * is coming from, use `Secp256k1.compressPubkey` or + * `Secp256k1.uncompressPubkey` (both idempotent) before processing it. + */ + readonly privkey: Uint8Array; +} +export declare class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static makeKeypair(privkey: Uint8Array): Promise; + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static createSignature(messageHash: Uint8Array, privkey: Uint8Array): Promise; + static verifySignature(signature: Secp256k1Signature, messageHash: Uint8Array, pubkey: Uint8Array): Promise; + static recoverPubkey(signature: ExtendedSecp256k1Signature, messageHash: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey: Uint8Array): Uint8Array; + static trimRecoveryByte(signature: Uint8Array): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js new file mode 100644 index 00000000..b045aafc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js @@ -0,0 +1,142 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1 = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const secp256k1signature_1 = require("./secp256k1signature"); +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +const secp256k1N = new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", "hex"); +class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static async makeKeypair(privkey) { + if (privkey.length !== 32) { + // is this check missing in secp256k1.validatePrivateKey? + // https://github.com/bitjson/bitcoin-ts/issues/4 + throw new Error("input data is not a valid secp256k1 private key"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + if (keypair.validate().result !== true) { + throw new Error("input data is not a valid secp256k1 private key"); + } + // range test that is not part of the elliptic implementation + const privkeyAsBigInteger = new bn_js_1.default(privkey); + if (privkeyAsBigInteger.gte(secp256k1N)) { + // not strictly smaller than N + throw new Error("input data is not a valid secp256k1 private key"); + } + const out = { + privkey: (0, encoding_1.fromHex)(keypair.getPrivate("hex")), + // encodes uncompressed as + // - 1-byte prefix "04" + // - 32-byte x coordinate + // - 32-byte y coordinate + pubkey: Uint8Array.from(keypair.getPublic("array")), + }; + return out; + } + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static async createSignature(messageHash, privkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + // the `canonical` option ensures creation of lowS signature representations + const { r, s, recoveryParam } = keypair.sign(messageHash, { canonical: true }); + if (typeof recoveryParam !== "number") + throw new Error("Recovery param missing"); + return new secp256k1signature_1.ExtendedSecp256k1Signature(Uint8Array.from(r.toArray()), Uint8Array.from(s.toArray()), recoveryParam); + } + static async verifySignature(signature, messageHash, pubkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPublic(pubkey); + // From https://github.com/indutny/elliptic: + // + // Sign the message's hash (input must be an array, or a hex-string) + // + // Signature MUST be either: + // 1) DER-encoded signature as hex-string; or + // 2) DER-encoded signature as buffer; or + // 3) object with two hex-string properties (r and s); or + // 4) object with two buffer properties (r and s) + // + // Uint8Array is not a Buffer, but elliptic seems to be happy with the interface + // common to both types. Uint8Array is not an array of ints but the interface is + // similar + try { + return keypair.verify(messageHash, signature.toDer()); + } + catch (error) { + return false; + } + } + static recoverPubkey(signature, messageHash) { + const signatureForElliptic = { r: (0, encoding_1.toHex)(signature.r()), s: (0, encoding_1.toHex)(signature.s()) }; + const point = secp256k1.recoverPubKey(messageHash, signatureForElliptic, signature.recovery); + const keypair = secp256k1.keyFromPublic(point); + return (0, encoding_1.fromHex)(keypair.getPublic(false, "hex")); + } + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return pubkey; + case 65: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(true, "array")); + default: + throw new Error("Invalid pubkey length"); + } + } + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(false, "array")); + case 65: + return pubkey; + default: + throw new Error("Invalid pubkey length"); + } + } + static trimRecoveryByte(signature) { + switch (signature.length) { + case 64: + return signature; + case 65: + return signature.slice(0, 64); + default: + throw new Error("Invalid signature length"); + } + } +} +exports.Secp256k1 = Secp256k1; +//# sourceMappingURL=secp256k1.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js.map new file mode 100644 index 00000000..6c4ee847 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../src/secp256k1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts new file mode 100644 index 00000000..8d914b18 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts @@ -0,0 +1,35 @@ +export declare class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data: Uint8Array): Secp256k1Signature; + static fromDer(data: Uint8Array): Secp256k1Signature; + private readonly data; + constructor(r: Uint8Array, s: Uint8Array); + r(length?: number): Uint8Array; + s(length?: number): Uint8Array; + toFixedLength(): Uint8Array; + toDer(): Uint8Array; +} +/** + * A Secp256k1Signature plus the recovery parameter + */ +export declare class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data: Uint8Array): ExtendedSecp256k1Signature; + readonly recovery: number; + constructor(r: Uint8Array, s: Uint8Array, recovery: number); + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js new file mode 100644 index 00000000..32b2c2f6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js @@ -0,0 +1,153 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExtendedSecp256k1Signature = exports.Secp256k1Signature = void 0; +function trimLeadingNullBytes(inData) { + let numberOfLeadingNullBytes = 0; + for (const byte of inData) { + if (byte === 0x00) { + numberOfLeadingNullBytes++; + } + else { + break; + } + } + return inData.slice(numberOfLeadingNullBytes); +} +const derTagInteger = 0x02; +class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data) { + if (data.length !== 64) { + throw new Error(`Got invalid data length: ${data.length}. Expected 2x 32 bytes for the pair (r, s)`); + } + return new Secp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64))); + } + static fromDer(data) { + let pos = 0; + if (data[pos++] !== 0x30) { + throw new Error("Prefix 0x30 expected"); + } + const bodyLength = data[pos++]; + if (data.length - pos !== bodyLength) { + throw new Error("Data length mismatch detected"); + } + // r + const rTag = data[pos++]; + if (rTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const rLength = data[pos++]; + if (rLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const rData = data.slice(pos, pos + rLength); + pos += rLength; + // s + const sTag = data[pos++]; + if (sTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const sLength = data[pos++]; + if (sLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const sData = data.slice(pos, pos + sLength); + pos += sLength; + return new Secp256k1Signature( + // r/s data can contain leading 0 bytes to express integers being non-negative in DER + trimLeadingNullBytes(rData), trimLeadingNullBytes(sData)); + } + constructor(r, s) { + if (r.length > 32 || r.length === 0 || r[0] === 0x00) { + throw new Error("Unsigned integer r must be encoded as unpadded big endian."); + } + if (s.length > 32 || s.length === 0 || s[0] === 0x00) { + throw new Error("Unsigned integer s must be encoded as unpadded big endian."); + } + this.data = { + r: r, + s: s, + }; + } + r(length) { + if (length === undefined) { + return this.data.r; + } + else { + const paddingLength = length - this.data.r.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter r"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.r]); + } + } + s(length) { + if (length === undefined) { + return this.data.s; + } + else { + const paddingLength = length - this.data.s.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter s"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.s]); + } + } + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32)]); + } + toDer() { + // DER supports negative integers but our data is unsigned. Thus we need to prepend + // a leading 0 byte when the higest bit is set to differentiate nagative values + const rEncoded = this.data.r[0] >= 0x80 ? new Uint8Array([0, ...this.data.r]) : this.data.r; + const sEncoded = this.data.s[0] >= 0x80 ? new Uint8Array([0, ...this.data.s]) : this.data.s; + const rLength = rEncoded.length; + const sLength = sEncoded.length; + const data = new Uint8Array([derTagInteger, rLength, ...rEncoded, derTagInteger, sLength, ...sEncoded]); + return new Uint8Array([0x30, data.length, ...data]); + } +} +exports.Secp256k1Signature = Secp256k1Signature; +/** + * A Secp256k1Signature plus the recovery parameter + */ +class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data) { + if (data.length !== 65) { + throw new Error(`Got invalid data length ${data.length}. Expected 32 + 32 + 1`); + } + return new ExtendedSecp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64)), data[64]); + } + constructor(r, s, recovery) { + super(r, s); + if (!Number.isInteger(recovery)) { + throw new Error("The recovery parameter must be an integer."); + } + if (recovery < 0 || recovery > 4) { + throw new Error("The recovery parameter must be one of 0, 1, 2, 3."); + } + this.recovery = recovery; + } + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32), this.recovery]); + } +} +exports.ExtendedSecp256k1Signature = ExtendedSecp256k1Signature; +//# sourceMappingURL=secp256k1signature.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map new file mode 100644 index 00000000..fbd7aa0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1signature.js","sourceRoot":"","sources":["../src/secp256k1signature.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.d.ts new file mode 100644 index 00000000..dbe5bd84 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.d.ts @@ -0,0 +1,19 @@ +import { HashFunction } from "./hash"; +export declare class Sha256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha256(data).digest()` */ +export declare function sha256(data: Uint8Array): Uint8Array; +export declare class Sha512 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha512; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha512(data).digest()` */ +export declare function sha512(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js new file mode 100644 index 00000000..0eb21cef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = void 0; +const sha256_1 = require("@noble/hashes/sha256"); +const sha512_1 = require("@noble/hashes/sha512"); +const utils_1 = require("./utils"); +class Sha256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha256_1.sha256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha256 = Sha256; +/** Convenience function equivalent to `new Sha256(data).digest()` */ +function sha256(data) { + return new Sha256(data).digest(); +} +exports.sha256 = sha256; +class Sha512 { + constructor(firstData) { + this.blockSize = 1024 / 8; + this.impl = sha512_1.sha512.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha512 = Sha512; +/** Convenience function equivalent to `new Sha512(data).digest()` */ +function sha512(data) { + return new Sha512(data).digest(); +} +exports.sha512 = sha512; +//# sourceMappingURL=sha.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js.map new file mode 100644 index 00000000..7bfcd3aa --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/sha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,iDAA6D;AAG7D,mCAA2C;AAE3C,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC;AAED,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAEpB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.d.ts new file mode 100644 index 00000000..11687600 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.d.ts @@ -0,0 +1,67 @@ +import { Uint32 } from "@cosmjs/math"; +export interface Slip10Result { + readonly chainCode: Uint8Array; + readonly privkey: Uint8Array; +} +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +export declare enum Slip10Curve { + Secp256k1 = "Bitcoin seed", + Ed25519 = "ed25519 seed" +} +/** + * Reverse mapping of Slip10Curve + */ +export declare function slip10CurveFromString(curveString: string): Slip10Curve; +export declare class Slip10RawIndex extends Uint32 { + static hardened(hardenedIndex: number): Slip10RawIndex; + static normal(normalIndex: number): Slip10RawIndex; + isHardened(): boolean; +} +/** + * An array of raw SLIP10 indices. + * + * This can be constructed via string parsing: + * + * ```ts + * import { stringToPath } from "@cosmjs/crypto"; + * + * const path = stringToPath("m/0'/1/2'/2/1000000000"); + * ``` + * + * or manually: + * + * ```ts + * import { HdPath, Slip10RawIndex } from "@cosmjs/crypto"; + * + * // m/0'/1/2'/2/1000000000 + * const path: HdPath = [ + * Slip10RawIndex.hardened(0), + * Slip10RawIndex.normal(1), + * Slip10RawIndex.hardened(2), + * Slip10RawIndex.normal(2), + * Slip10RawIndex.normal(1000000000), + * ]; + * ``` + */ +export type HdPath = readonly Slip10RawIndex[]; +export declare class Slip10 { + static derivePath(curve: Slip10Curve, seed: Uint8Array, path: HdPath): Slip10Result; + private static master; + private static child; + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + private static serializedPoint; + private static childImpl; + private static isZero; + private static isGteN; + private static n; +} +export declare function pathToString(path: HdPath): string; +export declare function stringToPath(input: string): HdPath; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js new file mode 100644 index 00000000..713cfdba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js @@ -0,0 +1,186 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.pathToString = exports.Slip10 = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const hmac_1 = require("./hmac"); +const sha_1 = require("./sha"); +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +var Slip10Curve; +(function (Slip10Curve) { + Slip10Curve["Secp256k1"] = "Bitcoin seed"; + Slip10Curve["Ed25519"] = "ed25519 seed"; +})(Slip10Curve = exports.Slip10Curve || (exports.Slip10Curve = {})); +/** + * Reverse mapping of Slip10Curve + */ +function slip10CurveFromString(curveString) { + switch (curveString) { + case Slip10Curve.Ed25519: + return Slip10Curve.Ed25519; + case Slip10Curve.Secp256k1: + return Slip10Curve.Secp256k1; + default: + throw new Error(`Unknown curve string: '${curveString}'`); + } +} +exports.slip10CurveFromString = slip10CurveFromString; +class Slip10RawIndex extends math_1.Uint32 { + static hardened(hardenedIndex) { + return new Slip10RawIndex(hardenedIndex + 2 ** 31); + } + static normal(normalIndex) { + return new Slip10RawIndex(normalIndex); + } + isHardened() { + return this.data >= 2 ** 31; + } +} +exports.Slip10RawIndex = Slip10RawIndex; +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +// Universal private key derivation accoring to +// https://github.com/satoshilabs/slips/blob/master/slip-0010.md +class Slip10 { + static derivePath(curve, seed, path) { + let result = this.master(curve, seed); + for (const rawIndex of path) { + result = this.child(curve, result.privkey, result.chainCode, rawIndex); + } + return result; + } + static master(curve, seed) { + const i = new hmac_1.Hmac(sha_1.Sha512, (0, encoding_1.toAscii)(curve)).update(seed).digest(); + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + if (curve !== Slip10Curve.Ed25519 && (this.isZero(il) || this.isGteN(curve, il))) { + return this.master(curve, i); + } + return { + chainCode: ir, + privkey: il, + }; + } + static child(curve, parentPrivkey, parentChainCode, rawIndex) { + let i; + if (rawIndex.isHardened()) { + const payload = new Uint8Array([0x00, ...parentPrivkey, ...rawIndex.toBytesBigEndian()]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(payload).digest(); + } + else { + if (curve === Slip10Curve.Ed25519) { + throw new Error("Normal keys are not allowed with ed25519"); + } + else { + // Step 1 of https://github.com/satoshilabs/slips/blob/master/slip-0010.md#private-parent-key--private-child-key + // Calculate I = HMAC-SHA512(Key = c_par, Data = ser_P(point(k_par)) || ser_32(i)). + // where the functions point() and ser_p() are defined in BIP-0032 + const data = new Uint8Array([ + ...Slip10.serializedPoint(curve, new bn_js_1.default(parentPrivkey)), + ...rawIndex.toBytesBigEndian(), + ]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(data).digest(); + } + } + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i); + } + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + static serializedPoint(curve, p) { + switch (curve) { + case Slip10Curve.Secp256k1: + return (0, encoding_1.fromHex)(secp256k1.g.mul(p).encodeCompressed("hex")); + default: + throw new Error("curve not supported"); + } + } + static childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i) { + // step 2 (of the Private parent key → private child key algorithm) + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + // step 3 + const returnChainCode = ir; + // step 4 + if (curve === Slip10Curve.Ed25519) { + return { + chainCode: returnChainCode, + privkey: il, + }; + } + // step 5 + const n = this.n(curve); + const returnChildKeyAsNumber = new bn_js_1.default(il).add(new bn_js_1.default(parentPrivkey)).mod(n); + const returnChildKey = Uint8Array.from(returnChildKeyAsNumber.toArray("be", 32)); + // step 6 + if (this.isGteN(curve, il) || this.isZero(returnChildKey)) { + const newI = new hmac_1.Hmac(sha_1.Sha512, parentChainCode) + .update(new Uint8Array([0x01, ...ir, ...rawIndex.toBytesBigEndian()])) + .digest(); + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, newI); + } + // step 7 + return { + chainCode: returnChainCode, + privkey: returnChildKey, + }; + } + static isZero(privkey) { + return privkey.every((byte) => byte === 0); + } + static isGteN(curve, privkey) { + const keyAsNumber = new bn_js_1.default(privkey); + return keyAsNumber.gte(this.n(curve)); + } + static n(curve) { + switch (curve) { + case Slip10Curve.Secp256k1: + return new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16); + default: + throw new Error("curve not supported"); + } + } +} +exports.Slip10 = Slip10; +function pathToString(path) { + return path.reduce((current, component) => { + const componentString = component.isHardened() + ? `${component.toNumber() - 2 ** 31}'` + : component.toString(); + return current + "/" + componentString; + }, "m"); +} +exports.pathToString = pathToString; +function stringToPath(input) { + if (!input.startsWith("m")) + throw new Error("Path string must start with 'm'"); + let rest = input.slice(1); + const out = new Array(); + while (rest) { + const match = rest.match(/^\/([0-9]+)('?)/); + if (!match) + throw new Error("Syntax error while reading path component"); + const [fullMatch, numberString, apostrophe] = match; + const value = math_1.Uint53.fromString(numberString).toNumber(); + if (value >= 2 ** 31) + throw new Error("Component value too high. Must not exceed 2**31-1."); + if (apostrophe) + out.push(Slip10RawIndex.hardened(value)); + else + out.push(Slip10RawIndex.normal(value)); + rest = rest.slice(fullMatch.length); + } + return out; +} +exports.stringToPath = stringToPath; +//# sourceMappingURL=slip10.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js.map new file mode 100644 index 00000000..11c29d7b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/slip10.js.map @@ -0,0 +1 @@ +{"version":3,"file":"slip10.js","sourceRoot":"","sources":["../src/slip10.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.d.ts new file mode 100644 index 00000000..93de3b0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.d.ts @@ -0,0 +1 @@ +export declare function toRealUint8Array(data: ArrayLike): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js new file mode 100644 index 00000000..2afcbabc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRealUint8Array = void 0; +// See https://github.com/paulmillr/noble-hashes/issues/25 for why this is needed +function toRealUint8Array(data) { + if (data instanceof Uint8Array) + return data; + else + return Uint8Array.from(data); +} +exports.toRealUint8Array = toRealUint8Array; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js.map new file mode 100644 index 00000000..153254de --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/build/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,IAAuB;IACtD,IAAI,IAAI,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;;QACvC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAHD,4CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/package.json b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/package.json new file mode 100644 index 00000000..58930008 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/crypto/package.json @@ -0,0 +1,91 @@ +{ + "name": "@cosmjs/crypto", + "version": "0.31.0", + "description": "Cryptography resources for blockchain projects", + "contributors": [ + "IOV SAS ", + "Simon Warta" + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/crypto" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "@cosmjs/encoding": "^0.31.0", + "@cosmjs/math": "^0.31.0", + "@cosmjs/utils": "^0.31.0", + "@noble/hashes": "^1", + "bn.js": "^5.2.0", + "elliptic": "^6.5.4", + "libsodium-wrappers-sumo": "^0.7.11" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/elliptic": "^6.4.14", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/README.md b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/README.md new file mode 100644 index 00000000..24a42e7f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/README.md @@ -0,0 +1,23 @@ +# @cosmjs/encoding + +[![npm version](https://img.shields.io/npm/v/@cosmjs/encoding.svg)](https://www.npmjs.com/package/@cosmjs/encoding) + +This package is an extension to the JavaScript standard library that is not +bound to blockchain products. It provides basic hex/base64/ascii encoding to +Uint8Array that doesn't rely on Buffer and also provides better error messages +on invalid input. + +## Convert between bech32 and hex addresses + +``` +>> toBech32("tiov", fromHex("1234ABCD0000AA0000FFFF0000AA00001234ABCD")) +'tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea' +>> toHex(fromBech32("tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea").data) +'1234abcd0000aa0000ffff0000aa00001234abcd' +``` + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.d.ts new file mode 100644 index 00000000..42d32698 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.d.ts @@ -0,0 +1,2 @@ +export declare function toAscii(input: string): Uint8Array; +export declare function fromAscii(data: Uint8Array): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js new file mode 100644 index 00000000..43122441 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromAscii = exports.toAscii = void 0; +function toAscii(input) { + const toNums = (str) => str.split("").map((x) => { + const charCode = x.charCodeAt(0); + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (charCode < 0x20 || charCode > 0x7e) { + throw new Error("Cannot encode character that is out of printable ASCII range: " + charCode); + } + return charCode; + }); + return Uint8Array.from(toNums(input)); +} +exports.toAscii = toAscii; +function fromAscii(data) { + const fromNums = (listOfNumbers) => listOfNumbers.map((x) => { + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (x < 0x20 || x > 0x7e) { + throw new Error("Cannot decode character that is out of printable ASCII range: " + x); + } + return String.fromCharCode(x); + }); + return fromNums(Array.from(data)).join(""); +} +exports.fromAscii = fromAscii; +//# sourceMappingURL=ascii.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js.map new file mode 100644 index 00000000..34d0ca05 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/ascii.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../src/ascii.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,KAAa;IACnC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAqB,EAAE,CAChD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,QAAQ,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,QAAQ,CAAC,CAAC;SAC9F;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACL,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAdD,0BAcC;AAED,SAAgB,SAAS,CAAC,IAAgB;IACxC,MAAM,QAAQ,GAAG,CAAC,aAAgC,EAAqB,EAAE,CACvE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAS,EAAU,EAAE;QACtC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,CAAC,CAAC,CAAC;SACvF;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAdD,8BAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.d.ts new file mode 100644 index 00000000..3eb3915c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.d.ts @@ -0,0 +1,2 @@ +export declare function toBase64(data: Uint8Array): string; +export declare function fromBase64(base64String: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js new file mode 100644 index 00000000..72eddd59 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js @@ -0,0 +1,39 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromBase64 = exports.toBase64 = void 0; +const base64js = __importStar(require("base64-js")); +function toBase64(data) { + return base64js.fromByteArray(data); +} +exports.toBase64 = toBase64; +function fromBase64(base64String) { + if (!base64String.match(/^[a-zA-Z0-9+/]*={0,2}$/)) { + throw new Error("Invalid base64 string format"); + } + return base64js.toByteArray(base64String); +} +exports.fromBase64 = fromBase64; +//# sourceMappingURL=base64.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js.map new file mode 100644 index 00000000..4692c803 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/base64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,SAAgB,QAAQ,CAAC,IAAgB;IACvC,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.d.ts new file mode 100644 index 00000000..cf4222d7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.d.ts @@ -0,0 +1,12 @@ +export declare function toBech32(prefix: string, data: Uint8Array, limit?: number): string; +export declare function fromBech32(address: string, limit?: number): { + readonly prefix: string; + readonly data: Uint8Array; +}; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +export declare function normalizeBech32(address: string): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js new file mode 100644 index 00000000..f463cdcb --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js @@ -0,0 +1,52 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalizeBech32 = exports.fromBech32 = exports.toBech32 = void 0; +const bech32 = __importStar(require("bech32")); +function toBech32(prefix, data, limit) { + const address = bech32.encode(prefix, bech32.toWords(data), limit); + return address; +} +exports.toBech32 = toBech32; +function fromBech32(address, limit = Infinity) { + const decodedAddress = bech32.decode(address, limit); + return { + prefix: decodedAddress.prefix, + data: new Uint8Array(bech32.fromWords(decodedAddress.words)), + }; +} +exports.fromBech32 = fromBech32; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +function normalizeBech32(address) { + const { prefix, data } = fromBech32(address); + return toBech32(prefix, data); +} +exports.normalizeBech32 = normalizeBech32; +//# sourceMappingURL=bech32.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js.map new file mode 100644 index 00000000..d2d53250 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/bech32.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bech32.js","sourceRoot":"","sources":["../src/bech32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,QAAQ,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAc;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,4BAGC;AAED,SAAgB,UAAU,CACxB,OAAe,EACf,KAAK,GAAG,QAAQ;IAEhB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AATD,gCASC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAHD,0CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.d.ts new file mode 100644 index 00000000..a337851f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.d.ts @@ -0,0 +1,2 @@ +export declare function toHex(data: Uint8Array): string; +export declare function fromHex(hexstring: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js new file mode 100644 index 00000000..8513b590 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromHex = exports.toHex = void 0; +function toHex(data) { + let out = ""; + for (const byte of data) { + out += ("0" + byte.toString(16)).slice(-2); + } + return out; +} +exports.toHex = toHex; +function fromHex(hexstring) { + if (hexstring.length % 2 !== 0) { + throw new Error("hex string length must be a multiple of 2"); + } + const out = new Uint8Array(hexstring.length / 2); + for (let i = 0; i < out.length; i++) { + const j = 2 * i; + const hexByteAsString = hexstring.slice(j, j + 2); + if (!hexByteAsString.match(/[0-9a-f]{2}/i)) { + throw new Error("hex string contains invalid characters"); + } + out[i] = parseInt(hexByteAsString, 16); + } + return out; +} +exports.fromHex = fromHex; +//# sourceMappingURL=hex.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js.map new file mode 100644 index 00000000..1c12ece9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/hex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,sBAMC;AAED,SAAgB,OAAO,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KACxC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,0BAeC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.d.ts new file mode 100644 index 00000000..a2dc4771 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.d.ts @@ -0,0 +1,6 @@ +export { fromAscii, toAscii } from "./ascii"; +export { fromBase64, toBase64 } from "./base64"; +export { fromBech32, normalizeBech32, toBech32 } from "./bech32"; +export { fromHex, toHex } from "./hex"; +export { fromRfc3339, toRfc3339 } from "./rfc3339"; +export { fromUtf8, toUtf8 } from "./utf8"; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js new file mode 100644 index 00000000..0506f526 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toUtf8 = exports.fromUtf8 = exports.toRfc3339 = exports.fromRfc3339 = exports.toHex = exports.fromHex = exports.toBech32 = exports.normalizeBech32 = exports.fromBech32 = exports.toBase64 = exports.fromBase64 = exports.toAscii = exports.fromAscii = void 0; +var ascii_1 = require("./ascii"); +Object.defineProperty(exports, "fromAscii", { enumerable: true, get: function () { return ascii_1.fromAscii; } }); +Object.defineProperty(exports, "toAscii", { enumerable: true, get: function () { return ascii_1.toAscii; } }); +var base64_1 = require("./base64"); +Object.defineProperty(exports, "fromBase64", { enumerable: true, get: function () { return base64_1.fromBase64; } }); +Object.defineProperty(exports, "toBase64", { enumerable: true, get: function () { return base64_1.toBase64; } }); +var bech32_1 = require("./bech32"); +Object.defineProperty(exports, "fromBech32", { enumerable: true, get: function () { return bech32_1.fromBech32; } }); +Object.defineProperty(exports, "normalizeBech32", { enumerable: true, get: function () { return bech32_1.normalizeBech32; } }); +Object.defineProperty(exports, "toBech32", { enumerable: true, get: function () { return bech32_1.toBech32; } }); +var hex_1 = require("./hex"); +Object.defineProperty(exports, "fromHex", { enumerable: true, get: function () { return hex_1.fromHex; } }); +Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return hex_1.toHex; } }); +var rfc3339_1 = require("./rfc3339"); +Object.defineProperty(exports, "fromRfc3339", { enumerable: true, get: function () { return rfc3339_1.fromRfc3339; } }); +Object.defineProperty(exports, "toRfc3339", { enumerable: true, get: function () { return rfc3339_1.toRfc3339; } }); +var utf8_1 = require("./utf8"); +Object.defineProperty(exports, "fromUtf8", { enumerable: true, get: function () { return utf8_1.fromUtf8; } }); +Object.defineProperty(exports, "toUtf8", { enumerable: true, get: function () { return utf8_1.toUtf8; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js.map new file mode 100644 index 00000000..8ffe3ef1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAApC,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAC3B,mCAAgD;AAAvC,oGAAA,UAAU,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC7B,mCAAiE;AAAxD,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC9C,6BAAuC;AAA9B,8FAAA,OAAO,OAAA;AAAE,4FAAA,KAAK,OAAA;AACvB,qCAAmD;AAA1C,sGAAA,WAAW,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC/B,+BAA0C;AAAjC,gGAAA,QAAQ,OAAA;AAAE,8FAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.d.ts new file mode 100644 index 00000000..759db985 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.d.ts @@ -0,0 +1,3 @@ +import { ReadonlyDate } from "readonly-date"; +export declare function fromRfc3339(str: string): Date; +export declare function toRfc3339(date: Date | ReadonlyDate): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js new file mode 100644 index 00000000..58cbbfd1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRfc3339 = exports.fromRfc3339 = void 0; +const rfc3339Matcher = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(\.\d{1,9})?((?:[+-]\d{2}:\d{2})|Z)$/; +function padded(integer, length = 2) { + return integer.toString().padStart(length, "0"); +} +function fromRfc3339(str) { + const matches = rfc3339Matcher.exec(str); + if (!matches) { + throw new Error("Date string is not in RFC3339 format"); + } + const year = +matches[1]; + const month = +matches[2]; + const day = +matches[3]; + const hour = +matches[4]; + const minute = +matches[5]; + const second = +matches[6]; + // fractional seconds match either undefined or a string like ".1", ".123456789" + const milliSeconds = matches[7] ? Math.floor(+matches[7] * 1000) : 0; + let tzOffsetSign; + let tzOffsetHours; + let tzOffsetMinutes; + // if timezone is undefined, it must be Z or nothing (otherwise the group would have captured). + if (matches[8] === "Z") { + tzOffsetSign = 1; + tzOffsetHours = 0; + tzOffsetMinutes = 0; + } + else { + tzOffsetSign = matches[8].substring(0, 1) === "-" ? -1 : 1; + tzOffsetHours = +matches[8].substring(1, 3); + tzOffsetMinutes = +matches[8].substring(4, 6); + } + const tzOffset = tzOffsetSign * (tzOffsetHours * 60 + tzOffsetMinutes) * 60; // seconds + const timestamp = Date.UTC(year, month - 1, day, hour, minute, second, milliSeconds) - tzOffset * 1000; + return new Date(timestamp); +} +exports.fromRfc3339 = fromRfc3339; +function toRfc3339(date) { + const year = date.getUTCFullYear(); + const month = padded(date.getUTCMonth() + 1); + const day = padded(date.getUTCDate()); + const hour = padded(date.getUTCHours()); + const minute = padded(date.getUTCMinutes()); + const second = padded(date.getUTCSeconds()); + const ms = padded(date.getUTCMilliseconds(), 3); + return `${year}-${month}-${day}T${hour}:${minute}:${second}.${ms}Z`; +} +exports.toRfc3339 = toRfc3339; +//# sourceMappingURL=rfc3339.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js.map new file mode 100644 index 00000000..595261d6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/rfc3339.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rfc3339.js","sourceRoot":"","sources":["../src/rfc3339.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.d.ts new file mode 100644 index 00000000..0911143a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.d.ts @@ -0,0 +1,8 @@ +export declare function toUtf8(str: string): Uint8Array; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +export declare function fromUtf8(data: Uint8Array, lossy?: boolean): string; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js new file mode 100644 index 00000000..39938f26 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromUtf8 = exports.toUtf8 = void 0; +function toUtf8(str) { + return new TextEncoder().encode(str); +} +exports.toUtf8 = toUtf8; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +function fromUtf8(data, lossy = false) { + const fatal = !lossy; + return new TextDecoder("utf-8", { fatal }).decode(data); +} +exports.fromUtf8 = fromUtf8; +//# sourceMappingURL=utf8.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js.map new file mode 100644 index 00000000..dfa3c7c9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/build/utf8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8.js","sourceRoot":"","sources":["../src/utf8.ts"],"names":[],"mappings":";;;AAUA,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAgB,EAAE,KAAK,GAAG,KAAK;IACtD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;IACrB,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/package.json b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/package.json new file mode 100644 index 00000000..47ae1770 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/encoding/package.json @@ -0,0 +1,83 @@ +{ + "name": "@cosmjs/encoding", + "version": "0.31.0", + "description": "Encoding helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/encoding" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "base64-js": "^1.3.0", + "bech32": "^1.1.4", + "readonly-date": "^1.0.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/base64-js": "^1.2.5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/README.md b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/README.md new file mode 100644 index 00000000..97776b73 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/README.md @@ -0,0 +1,9 @@ +# @cosmjs/math + +[![npm version](https://img.shields.io/npm/v/@cosmjs/math.svg)](https://www.npmjs.com/package/@cosmjs/math) + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.d.ts new file mode 100644 index 00000000..41c52287 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.d.ts @@ -0,0 +1,66 @@ +import { Uint32, Uint53, Uint64 } from "./integers"; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +export declare class Decimal { + static fromUserInput(input: string, fractionalDigits: number): Decimal; + static fromAtomics(atomics: string, fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits: number): Decimal; + private static verifyFractionalDigits; + static compare(a: Decimal, b: Decimal): number; + get atomics(): string; + get fractionalDigits(): number; + private readonly data; + private constructor(); + /** Creates a new instance with the same value */ + private clone; + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor(): Decimal; + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil(): Decimal; + toString(): string; + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation(): number; + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b: Decimal): Decimal; + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b: Decimal): Decimal; + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b: Uint32 | Uint53 | Uint64): Decimal; + equals(b: Decimal): boolean; + isLessThan(b: Decimal): boolean; + isLessThanOrEqual(b: Decimal): boolean; + isGreaterThan(b: Decimal): boolean; + isGreaterThanOrEqual(b: Decimal): boolean; +} diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js new file mode 100644 index 00000000..b69b4ed8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js @@ -0,0 +1,212 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Decimal = void 0; +const bn_js_1 = __importDefault(require("bn.js")); +// Too large values lead to massive memory usage. Limit to something sensible. +// The largest value we need is 18 (Ether). +const maxFractionalDigits = 100; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +class Decimal { + static fromUserInput(input, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + const badCharacter = input.match(/[^0-9.]/); + if (badCharacter) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + throw new Error(`Invalid character at position ${badCharacter.index + 1}`); + } + let whole; + let fractional; + if (input === "") { + whole = "0"; + fractional = ""; + } + else if (input.search(/\./) === -1) { + // integer format, no separator + whole = input; + fractional = ""; + } + else { + const parts = input.split("."); + switch (parts.length) { + case 0: + case 1: + throw new Error("Fewer than two elements in split result. This must not happen here."); + case 2: + if (!parts[1]) + throw new Error("Fractional part missing"); + whole = parts[0]; + fractional = parts[1].replace(/0+$/, ""); + break; + default: + throw new Error("More than one separator found"); + } + } + if (fractional.length > fractionalDigits) { + throw new Error("Got more fractional digits than supported"); + } + const quantity = `${whole}${fractional.padEnd(fractionalDigits, "0")}`; + return new Decimal(quantity, fractionalDigits); + } + static fromAtomics(atomics, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal(atomics, fractionalDigits); + } + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("0", fractionalDigits); + } + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("1" + "0".repeat(fractionalDigits), fractionalDigits); + } + static verifyFractionalDigits(fractionalDigits) { + if (!Number.isInteger(fractionalDigits)) + throw new Error("Fractional digits is not an integer"); + if (fractionalDigits < 0) + throw new Error("Fractional digits must not be negative"); + if (fractionalDigits > maxFractionalDigits) { + throw new Error(`Fractional digits must not exceed ${maxFractionalDigits}`); + } + } + static compare(a, b) { + if (a.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + return a.data.atomics.cmp(new bn_js_1.default(b.atomics)); + } + get atomics() { + return this.data.atomics.toString(); + } + get fractionalDigits() { + return this.data.fractionalDigits; + } + constructor(atomics, fractionalDigits) { + if (!atomics.match(/^[0-9]+$/)) { + throw new Error("Invalid string format. Only non-negative integers in decimal representation supported."); + } + this.data = { + atomics: new bn_js_1.default(atomics), + fractionalDigits: fractionalDigits, + }; + } + /** Creates a new instance with the same value */ + clone() { + return new Decimal(this.atomics, this.fractionalDigits); + } + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.mul(factor).toString(), this.fractionalDigits); + } + } + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.addn(1).mul(factor).toString(), this.fractionalDigits); + } + } + toString() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return whole.toString(); + } + else { + const fullFractionalPart = fractional.toString().padStart(this.data.fractionalDigits, "0"); + const trimmedFractionalPart = fullFractionalPart.replace(/0+$/, ""); + return `${whole.toString()}.${trimmedFractionalPart}`; + } + } + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation() { + const out = Number(this.toString()); + if (Number.isNaN(out)) + throw new Error("Conversion to number failed"); + return out; + } + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const sum = this.data.atomics.add(new bn_js_1.default(b.atomics)); + return new Decimal(sum.toString(), this.fractionalDigits); + } + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const difference = this.data.atomics.sub(new bn_js_1.default(b.atomics)); + if (difference.ltn(0)) + throw new Error("Difference must not be negative"); + return new Decimal(difference.toString(), this.fractionalDigits); + } + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b) { + const product = this.data.atomics.mul(new bn_js_1.default(b.toString())); + return new Decimal(product.toString(), this.fractionalDigits); + } + equals(b) { + return Decimal.compare(this, b) === 0; + } + isLessThan(b) { + return Decimal.compare(this, b) < 0; + } + isLessThanOrEqual(b) { + return Decimal.compare(this, b) <= 0; + } + isGreaterThan(b) { + return Decimal.compare(this, b) > 0; + } + isGreaterThanOrEqual(b) { + return Decimal.compare(this, b) >= 0; + } +} +exports.Decimal = Decimal; +//# sourceMappingURL=decimal.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js.map new file mode 100644 index 00000000..6f3c1272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/decimal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.d.ts new file mode 100644 index 00000000..b888136f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.d.ts @@ -0,0 +1,2 @@ +export { Decimal } from "./decimal"; +export { Int53, Uint32, Uint53, Uint64 } from "./integers"; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js new file mode 100644 index 00000000..1f812f63 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Uint32 = exports.Int53 = exports.Decimal = void 0; +var decimal_1 = require("./decimal"); +Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return decimal_1.Decimal; } }); +var integers_1 = require("./integers"); +Object.defineProperty(exports, "Int53", { enumerable: true, get: function () { return integers_1.Int53; } }); +Object.defineProperty(exports, "Uint32", { enumerable: true, get: function () { return integers_1.Uint32; } }); +Object.defineProperty(exports, "Uint53", { enumerable: true, get: function () { return integers_1.Uint53; } }); +Object.defineProperty(exports, "Uint64", { enumerable: true, get: function () { return integers_1.Uint64; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js.map new file mode 100644 index 00000000..5a0926b2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAA2D;AAAlD,iGAAA,KAAK,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.d.ts new file mode 100644 index 00000000..6f2e1c09 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.d.ts @@ -0,0 +1,66 @@ +/** Internal interface to ensure all integer types can be used equally */ +interface Integer { + readonly toNumber: () => number; + readonly toBigInt: () => bigint; + readonly toString: () => string; +} +interface WithByteConverters { + readonly toBytesBigEndian: () => Uint8Array; + readonly toBytesLittleEndian: () => Uint8Array; +} +export declare class Uint32 implements Integer, WithByteConverters { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes: ArrayLike): Uint32; + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint32; + static fromString(str: string): Uint32; + protected readonly data: number; + constructor(input: number); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Int53 implements Integer { + static fromString(str: string): Int53; + protected readonly data: number; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint53 implements Integer { + static fromString(str: string): Uint53; + protected readonly data: Int53; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint64 implements Integer, WithByteConverters { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes: ArrayLike): Uint64; + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint64; + static fromString(str: string): Uint64; + static fromNumber(input: number): Uint64; + private readonly data; + private constructor(); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toString(): string; + toBigInt(): bigint; + toNumber(): number; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js new file mode 100644 index 00000000..282b44b4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js @@ -0,0 +1,214 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Int53 = exports.Uint32 = void 0; +/* eslint-disable no-bitwise */ +const bn_js_1 = __importDefault(require("bn.js")); +const uint64MaxValue = new bn_js_1.default("18446744073709551615", 10, "be"); +class Uint32 { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes) { + return Uint32.fromBytes(bytes); + } + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 4) { + throw new Error("Invalid input length. Expected 4 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? bytes : Array.from(bytes).reverse(); + // Use mulitiplication instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint32(beBytes[0] * 2 ** 24 + beBytes[1] * 2 ** 16 + beBytes[2] * 2 ** 8 + beBytes[3]); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint32(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < 0 || input > 4294967295) { + throw new Error("Input not in uint32 range: " + input.toString()); + } + this.data = input; + } + toBytesBigEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 24) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 0) & 0xff, + ]); + } + toBytesLittleEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 0) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 24) & 0xff, + ]); + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint32 = Uint32; +class Int53 { + static fromString(str) { + if (!str.match(/^-?[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Int53(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < Number.MIN_SAFE_INTEGER || input > Number.MAX_SAFE_INTEGER) { + throw new Error("Input not in int53 range: " + input.toString()); + } + this.data = input; + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Int53 = Int53; +class Uint53 { + static fromString(str) { + const signed = Int53.fromString(str); + return new Uint53(signed.toNumber()); + } + constructor(input) { + const signed = new Int53(input); + if (signed.toNumber() < 0) { + throw new Error("Input is negative"); + } + this.data = signed; + } + toNumber() { + return this.data.toNumber(); + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint53 = Uint53; +class Uint64 { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes) { + return Uint64.fromBytes(bytes); + } + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 8) { + throw new Error("Invalid input length. Expected 8 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? Array.from(bytes) : Array.from(bytes).reverse(); + return new Uint64(new bn_js_1.default(beBytes)); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint64(new bn_js_1.default(str, 10, "be")); + } + static fromNumber(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + let bigint; + try { + bigint = new bn_js_1.default(input); + } + catch { + throw new Error("Input is not a safe integer"); + } + return new Uint64(bigint); + } + constructor(data) { + if (data.isNeg()) { + throw new Error("Input is negative"); + } + if (data.gt(uint64MaxValue)) { + throw new Error("Input exceeds uint64 range"); + } + this.data = data; + } + toBytesBigEndian() { + return Uint8Array.from(this.data.toArray("be", 8)); + } + toBytesLittleEndian() { + return Uint8Array.from(this.data.toArray("le", 8)); + } + toString() { + return this.data.toString(10); + } + toBigInt() { + return BigInt(this.toString()); + } + toNumber() { + return this.data.toNumber(); + } +} +exports.Uint64 = Uint64; +// Assign classes to unused variables in order to verify static interface conformance at compile time. +// Workaround for https://github.com/microsoft/TypeScript/issues/33892 +const _int53Class = Int53; +const _uint53Class = Uint53; +const _uint32Class = Uint32; +const _uint64Class = Uint64; +//# sourceMappingURL=integers.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js.map new file mode 100644 index 00000000..2be4045e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/build/integers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"integers.js","sourceRoot":"","sources":["../src/integers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/package.json b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/package.json new file mode 100644 index 00000000..6058cc82 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/math/package.json @@ -0,0 +1,81 @@ +{ + "name": "@cosmjs/math", + "version": "0.31.0", + "description": "Math helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/math" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "bn.js": "^5.2.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/README.md b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/README.md new file mode 100644 index 00000000..984aca5d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/README.md @@ -0,0 +1,12 @@ +# @cosmjs/utils + +[![npm version](https://img.shields.io/npm/v/@cosmjs/utils.svg)](https://www.npmjs.com/package/@cosmjs/utils) + +Utility functions independent of blockchain applications. Primarily used for +testing but stuff like `sleep` can also be useful at runtime. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.d.ts new file mode 100644 index 00000000..b2017871 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.d.ts @@ -0,0 +1,18 @@ +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentEquals(a: ArrayLike, b: ArrayLike): boolean; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentStartsWith(a: ArrayLike, b: ArrayLike): boolean; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js new file mode 100644 index 00000000..15114cdd --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentEquals(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentEquals = arrayContentEquals; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentStartsWith(a, b) { + if (a.length < b.length) + return false; + for (let i = 0; i < b.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentStartsWith = arrayContentStartsWith; +//# sourceMappingURL=arrays.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js.map new file mode 100644 index 00000000..eaa47f8e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/arrays.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,gDASC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,wDASC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.d.ts new file mode 100644 index 00000000..428d5b48 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.d.ts @@ -0,0 +1,3 @@ +export declare function assert(condition: any, msg?: string): asserts condition; +export declare function assertDefined(value: T | undefined, msg?: string): asserts value is T; +export declare function assertDefinedAndNotNull(value: T | undefined | null, msg?: string): asserts value is T; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js new file mode 100644 index 00000000..e517bde3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = void 0; +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || "condition is not truthy"); + } +} +exports.assert = assert; +function assertDefined(value, msg) { + if (value === undefined) { + throw new Error(msg ?? "value is undefined"); + } +} +exports.assertDefined = assertDefined; +function assertDefinedAndNotNull(value, msg) { + if (value === undefined || value === null) { + throw new Error(msg ?? "value is undefined or null"); + } +} +exports.assertDefinedAndNotNull = assertDefinedAndNotNull; +//# sourceMappingURL=assert.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js.map new file mode 100644 index 00000000..1c0c6128 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/assert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAC7E,SAAgB,MAAM,CAAC,SAAc,EAAE,GAAY;IACjD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;KACnD;AACH,CAAC;AAJD,wBAIC;AAED,SAAgB,aAAa,CAAI,KAAoB,EAAE,GAAY;IACjE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;KAC9C;AACH,CAAC;AAJD,sCAIC;AAED,SAAgB,uBAAuB,CAAI,KAA2B,EAAE,GAAY;IAClF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;KACtD;AACH,CAAC;AAJD,0DAIC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.d.ts new file mode 100644 index 00000000..62434818 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.d.ts @@ -0,0 +1,4 @@ +export { arrayContentEquals, arrayContentStartsWith } from "./arrays"; +export { assert, assertDefined, assertDefinedAndNotNull } from "./assert"; +export { sleep } from "./sleep"; +export { isDefined, isNonNullObject, isUint8Array } from "./typechecks"; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js new file mode 100644 index 00000000..8888737f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isUint8Array = exports.isNonNullObject = exports.isDefined = exports.sleep = exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +var arrays_1 = require("./arrays"); +Object.defineProperty(exports, "arrayContentEquals", { enumerable: true, get: function () { return arrays_1.arrayContentEquals; } }); +Object.defineProperty(exports, "arrayContentStartsWith", { enumerable: true, get: function () { return arrays_1.arrayContentStartsWith; } }); +var assert_1 = require("./assert"); +Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } }); +Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return assert_1.assertDefined; } }); +Object.defineProperty(exports, "assertDefinedAndNotNull", { enumerable: true, get: function () { return assert_1.assertDefinedAndNotNull; } }); +var sleep_1 = require("./sleep"); +Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return sleep_1.sleep; } }); +var typechecks_1 = require("./typechecks"); +Object.defineProperty(exports, "isDefined", { enumerable: true, get: function () { return typechecks_1.isDefined; } }); +Object.defineProperty(exports, "isNonNullObject", { enumerable: true, get: function () { return typechecks_1.isNonNullObject; } }); +Object.defineProperty(exports, "isUint8Array", { enumerable: true, get: function () { return typechecks_1.isUint8Array; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js.map new file mode 100644 index 00000000..1bfe43e1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AAA7D,4GAAA,kBAAkB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACnD,mCAA0E;AAAjE,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,iHAAA,uBAAuB,OAAA;AACvD,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAAwE;AAA/D,uGAAA,SAAS,OAAA;AAAE,6GAAA,eAAe,OAAA;AAAE,0GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.d.ts new file mode 100644 index 00000000..deb121ba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.d.ts @@ -0,0 +1 @@ +export declare function sleep(ms: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js new file mode 100644 index 00000000..a7863375 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = void 0; +async function sleep(ms) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} +exports.sleep = sleep; +//# sourceMappingURL=sleep.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js.map new file mode 100644 index 00000000..2df3fd52 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/sleep.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.d.ts b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.d.ts new file mode 100644 index 00000000..d33cb9b7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.d.ts @@ -0,0 +1,20 @@ +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +export declare function isNonNullObject(data: unknown): data is object; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +export declare function isUint8Array(data: unknown): data is Uint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +export declare function isDefined(value: X | undefined): value is X; diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js new file mode 100644 index 00000000..08eb5b95 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isDefined = exports.isUint8Array = exports.isNonNullObject = void 0; +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +// eslint-disable-next-line @typescript-eslint/ban-types +function isNonNullObject(data) { + return typeof data === "object" && data !== null; +} +exports.isNonNullObject = isNonNullObject; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +function isUint8Array(data) { + if (!isNonNullObject(data)) + return false; + // Avoid instanceof check which is unreliable in some JS environments + // https://medium.com/@simonwarta/limitations-of-the-instanceof-operator-f4bcdbe7a400 + // Use check that was discussed in https://github.com/crypto-browserify/pbkdf2/pull/81 + if (Object.prototype.toString.call(data) !== "[object Uint8Array]") + return false; + if (typeof Buffer !== "undefined" && typeof Buffer.isBuffer !== "undefined") { + // Buffer.isBuffer is available at runtime + if (Buffer.isBuffer(data)) + return false; + } + return true; +} +exports.isUint8Array = isUint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +function isDefined(value) { + return value !== undefined; +} +exports.isDefined = isDefined; +//# sourceMappingURL=typechecks.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js.map b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js.map new file mode 100644 index 00000000..b037e9af --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/build/typechecks.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typechecks.js","sourceRoot":"","sources":["../src/typechecks.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,wDAAwD;AACxD,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,qEAAqE;IACrE,qFAAqF;IAErF,sFAAsF;IACtF,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAEjF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3E,0CAA0C;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,oCAeC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAI,KAAoB;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/package.json b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/package.json new file mode 100644 index 00000000..a8b55379 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/stargate/node_modules/@cosmjs/utils/package.json @@ -0,0 +1,78 @@ +{ + "name": "@cosmjs/utils", + "version": "0.31.0", + "description": "Utility tools, primarily for testing code", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/utils" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "test-node": "yarn node jasmine-testrunner.js", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.d.ts new file mode 100644 index 00000000..89ccad75 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.d.ts @@ -0,0 +1,19 @@ +/** + * Takes an integer value from the Tendermint RPC API and + * returns it as number. + * + * Only works within the safe integer range. + */ +export declare function apiToSmallInt(input: string | number): number; +/** + * Takes an integer value from the Tendermint RPC API and + * returns it as BigInt. + * + * This supports the full uint64 and int64 ranges. + */ +export declare function apiToBigInt(input: string): bigint; +/** + * Takes an integer in the safe integer range and returns + * a string representation to be used in the Tendermint RPC API. + */ +export declare function smallIntToApi(num: number): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js new file mode 100644 index 00000000..f9ea8405 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.smallIntToApi = exports.apiToBigInt = exports.apiToSmallInt = void 0; +const math_1 = require("@cosmjs/math"); +const encodings_1 = require("./tendermint34/encodings"); +/** + * Takes an integer value from the Tendermint RPC API and + * returns it as number. + * + * Only works within the safe integer range. + */ +function apiToSmallInt(input) { + const asInt = typeof input === "number" ? new math_1.Int53(input) : math_1.Int53.fromString(input); + return asInt.toNumber(); +} +exports.apiToSmallInt = apiToSmallInt; +/** + * Takes an integer value from the Tendermint RPC API and + * returns it as BigInt. + * + * This supports the full uint64 and int64 ranges. + */ +function apiToBigInt(input) { + (0, encodings_1.assertString)(input); // Runtime check on top of TypeScript just to be safe for semi-trusted API types + if (!input.match(/^-?[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return BigInt(input); +} +exports.apiToBigInt = apiToBigInt; +/** + * Takes an integer in the safe integer range and returns + * a string representation to be used in the Tendermint RPC API. + */ +function smallIntToApi(num) { + return new math_1.Int53(num).toString(); +} +exports.smallIntToApi = smallIntToApi; +//# sourceMappingURL=inthelpers.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js.map new file mode 100644 index 00000000..6f5d5f08 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/inthelpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"inthelpers.js","sourceRoot":"","sources":["../src/inthelpers.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,wDAAwD;AAExD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAsB;IAClD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrF,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAHD,sCAGC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAA,wBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,gFAAgF;IACrG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAND,kCAMC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,YAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnC,CAAC;AAFD,sCAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.d.ts new file mode 100644 index 00000000..fb85d2e0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.d.ts @@ -0,0 +1,6 @@ +/** + * Helper to work around missing CORS support in Tendermint (https://github.com/tendermint/tendermint/pull/2800) + * + * For some reason, fetch does not complain about missing server-side CORS support. + */ +export declare function http(method: "POST", url: string, headers: Record | undefined, request?: any): Promise; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js new file mode 100644 index 00000000..8c728172 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js @@ -0,0 +1,58 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.http = void 0; +const axios_1 = __importDefault(require("axios")); +function filterBadStatus(res) { + if (res.status >= 400) { + throw new Error(`Bad status on response: ${res.status}`); + } + return res; +} +/** + * Node.js 18 comes with exprimental fetch support (https://nodejs.org/de/blog/announcements/v18-release-announce/). + * This is nice, but the implementation does not yet work wekk for us. We + * can just stick with axios on those systems for now. + */ +// eslint-disable-next-line @typescript-eslint/ban-types +function isExperimental(nodeJsFunc) { + // This works because we get this info in node 18: + // + // > fetch.toString() + // 'async function fetch(input, init = undefined) {\n' + + // " emitExperimentalWarning('The Fetch API');\n" + + // ' return lazyUndici().fetch(input, init);\n' + + // ' }' + return nodeJsFunc.toString().includes("emitExperimentalWarning"); +} +/** + * Helper to work around missing CORS support in Tendermint (https://github.com/tendermint/tendermint/pull/2800) + * + * For some reason, fetch does not complain about missing server-side CORS support. + */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +async function http(method, url, headers, request) { + if (typeof fetch === "function" && !isExperimental(fetch)) { + const settings = { + method: method, + body: request ? JSON.stringify(request) : undefined, + headers: { + // eslint-disable-next-line @typescript-eslint/naming-convention + "Content-Type": "application/json", + ...headers, + }, + }; + return fetch(url, settings) + .then(filterBadStatus) + .then((res) => res.json()); + } + else { + return axios_1.default + .request({ url: url, method: method, data: request, headers: headers }) + .then((res) => res.data); + } +} +exports.http = http; +//# sourceMappingURL=http.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js.map new file mode 100644 index 00000000..76082472 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/http.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/rpcclients/http.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAM1B,SAAS,eAAe,CAAC,GAAQ;IAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;KAC1D;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,wDAAwD;AACxD,SAAS,cAAc,CAAC,UAAoB;IAC1C,kDAAkD;IAClD,EAAE;IACF,qBAAqB;IACrB,wDAAwD;IACxD,sDAAsD;IACtD,oDAAoD;IACpD,QAAQ;IACR,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,6EAA6E;AACtE,KAAK,UAAU,IAAI,CACxB,MAAc,EACd,GAAW,EACX,OAA2C,EAC3C,OAAa;IAEb,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;QACzD,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACnD,OAAO,EAAE;gBACP,gEAAgE;gBAChE,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;SACF,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC;aACxB,IAAI,CAAC,eAAe,CAAC;aACrB,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;KACnC;SAAM;QACL,OAAO,eAAK;aACT,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aACtE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B;AACH,CAAC;AAxBD,oBAwBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.d.ts new file mode 100644 index 00000000..194998a2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.d.ts @@ -0,0 +1,25 @@ +import { JsonRpcRequest, JsonRpcSuccessResponse } from "@cosmjs/json-rpc"; +import { HttpEndpoint } from "./httpclient"; +import { RpcClient } from "./rpcclient"; +export interface HttpBatchClientOptions { + /** Interval for dispatching batches (in milliseconds) */ + dispatchInterval: number; + /** Max number of items sent in one request */ + batchSizeLimit: number; +} +export declare class HttpBatchClient implements RpcClient { + protected readonly url: string; + protected readonly headers: Record | undefined; + protected readonly options: HttpBatchClientOptions; + private timer?; + private readonly queue; + constructor(endpoint: string | HttpEndpoint, options?: Partial); + disconnect(): void; + execute(request: JsonRpcRequest): Promise; + private validate; + /** + * This is called in an interval where promise rejections cannot be handled. + * So this is not async and HTTP errors need to be handled by the queued promises. + */ + private tick; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js new file mode 100644 index 00000000..4bbdbb47 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js @@ -0,0 +1,90 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpBatchClient = void 0; +const json_rpc_1 = require("@cosmjs/json-rpc"); +const http_1 = require("./http"); +const rpcclient_1 = require("./rpcclient"); +// Those values are private and can change any time. +// Does a user need to know them? I don't think so. You either set +// a custom value or leave the option field unset. +const defaultHttpBatchClientOptions = { + dispatchInterval: 20, + batchSizeLimit: 20, +}; +class HttpBatchClient { + constructor(endpoint, options = {}) { + this.queue = []; + this.options = { + batchSizeLimit: options.batchSizeLimit ?? defaultHttpBatchClientOptions.batchSizeLimit, + dispatchInterval: options.dispatchInterval ?? defaultHttpBatchClientOptions.dispatchInterval, + }; + if (typeof endpoint === "string") { + // accept host.name:port and assume http protocol + this.url = (0, rpcclient_1.hasProtocol)(endpoint) ? endpoint : "http://" + endpoint; + } + else { + this.url = endpoint.url; + this.headers = endpoint.headers; + } + this.timer = setInterval(() => this.tick(), options.dispatchInterval); + this.validate(); + } + disconnect() { + this.timer && clearInterval(this.timer); + this.timer = undefined; + } + async execute(request) { + return new Promise((resolve, reject) => { + this.queue.push({ request, resolve, reject }); + if (this.queue.length >= this.options.batchSizeLimit) { + // this train is full, let's go + this.tick(); + } + }); + } + validate() { + if (!this.options.batchSizeLimit || + !Number.isSafeInteger(this.options.batchSizeLimit) || + this.options.batchSizeLimit < 1) { + throw new Error("batchSizeLimit must be a safe integer >= 1"); + } + } + /** + * This is called in an interval where promise rejections cannot be handled. + * So this is not async and HTTP errors need to be handled by the queued promises. + */ + tick() { + // Avoid race conditions + const batch = this.queue.splice(0, this.options.batchSizeLimit); + if (!batch.length) + return; + const requests = batch.map((s) => s.request); + const requestIds = requests.map((request) => request.id); + (0, http_1.http)("POST", this.url, this.headers, requests).then((raw) => { + // Requests with a single entry return as an object + const arr = Array.isArray(raw) ? raw : [raw]; + arr.forEach((el) => { + const req = batch.find((s) => s.request.id === el.id); + if (!req) + return; + const { reject, resolve } = req; + const response = (0, json_rpc_1.parseJsonRpcResponse)(el); + if ((0, json_rpc_1.isJsonRpcErrorResponse)(response)) { + reject(new Error(JSON.stringify(response.error))); + } + else { + resolve(response); + } + }); + }, (error) => { + for (const requestId of requestIds) { + const req = batch.find((s) => s.request.id === requestId); + if (!req) + return; + req.reject(error); + } + }); + } +} +exports.HttpBatchClient = HttpBatchClient; +//# sourceMappingURL=httpbatchclient.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js.map new file mode 100644 index 00000000..0c28a2d5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/rpcclients/httpbatchclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"httpbatchclient.js","sourceRoot":"","sources":["../../src/rpcclients/httpbatchclient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.d.ts new file mode 100644 index 00000000..a1233be5 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.d.ts @@ -0,0 +1,3 @@ +import { Adaptor } from "./types"; +export { Decoder, Encoder, Params, Responses } from "./types"; +export declare const adaptor37: Adaptor; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js new file mode 100644 index 00000000..59e55ac0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.adaptor37 = void 0; +const hasher_1 = require("../hasher"); +const requests_1 = require("./requests"); +const responses_1 = require("./responses"); +exports.adaptor37 = { + params: requests_1.Params, + responses: responses_1.Responses, + hashTx: hasher_1.hashTx, + hashBlock: hasher_1.hashBlock, +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js.map new file mode 100644 index 00000000..c334dc9c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tendermint37/adaptor/index.ts"],"names":[],"mappings":";;;AAAA,sCAA8C;AAC9C,yCAAoC;AACpC,2CAAwC;AAK3B,QAAA,SAAS,GAAY;IAChC,MAAM,EAAE,iBAAM;IACd,SAAS,EAAE,qBAAS;IACpB,MAAM,EAAE,eAAM;IACd,SAAS,EAAE,kBAAS;CACrB,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.d.ts new file mode 100644 index 00000000..0ad1e193 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.d.ts @@ -0,0 +1,20 @@ +import { JsonRpcRequest } from "@cosmjs/json-rpc"; +import * as requests from "../requests"; +export declare class Params { + static encodeAbciInfo(req: requests.AbciInfoRequest): JsonRpcRequest; + static encodeAbciQuery(req: requests.AbciQueryRequest): JsonRpcRequest; + static encodeBlock(req: requests.BlockRequest): JsonRpcRequest; + static encodeBlockchain(req: requests.BlockchainRequest): JsonRpcRequest; + static encodeBlockResults(req: requests.BlockResultsRequest): JsonRpcRequest; + static encodeBlockSearch(req: requests.BlockSearchRequest): JsonRpcRequest; + static encodeBroadcastTx(req: requests.BroadcastTxRequest): JsonRpcRequest; + static encodeCommit(req: requests.CommitRequest): JsonRpcRequest; + static encodeGenesis(req: requests.GenesisRequest): JsonRpcRequest; + static encodeHealth(req: requests.HealthRequest): JsonRpcRequest; + static encodeNumUnconfirmedTxs(req: requests.NumUnconfirmedTxsRequest): JsonRpcRequest; + static encodeStatus(req: requests.StatusRequest): JsonRpcRequest; + static encodeSubscribe(req: requests.SubscribeRequest): JsonRpcRequest; + static encodeTx(req: requests.TxRequest): JsonRpcRequest; + static encodeTxSearch(req: requests.TxSearchRequest): JsonRpcRequest; + static encodeValidators(req: requests.ValidatorsRequest): JsonRpcRequest; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js new file mode 100644 index 00000000..c7236775 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js @@ -0,0 +1,141 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Params = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const inthelpers_1 = require("../../inthelpers"); +const jsonrpc_1 = require("../../jsonrpc"); +const encodings_1 = require("../encodings"); +const requests = __importStar(require("../requests")); +function encodeHeightParam(param) { + return { + height: (0, encodings_1.may)(inthelpers_1.smallIntToApi, param.height), + }; +} +function encodeBlockchainRequestParams(param) { + return { + minHeight: (0, encodings_1.may)(inthelpers_1.smallIntToApi, param.minHeight), + maxHeight: (0, encodings_1.may)(inthelpers_1.smallIntToApi, param.maxHeight), + }; +} +function encodeBlockSearchParams(params) { + return { + query: params.query, + page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.page), + per_page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.per_page), + order_by: params.order_by, + }; +} +function encodeAbciQueryParams(params) { + return { + path: (0, encodings_1.assertNotEmpty)(params.path), + data: (0, encoding_1.toHex)(params.data), + height: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.height), + prove: params.prove, + }; +} +function encodeBroadcastTxParams(params) { + return { + tx: (0, encoding_1.toBase64)((0, encodings_1.assertNotEmpty)(params.tx)), + }; +} +function encodeTxParams(params) { + return { + hash: (0, encoding_1.toBase64)((0, encodings_1.assertNotEmpty)(params.hash)), + prove: params.prove, + }; +} +function encodeTxSearchParams(params) { + return { + query: params.query, + prove: params.prove, + page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.page), + per_page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.per_page), + order_by: params.order_by, + }; +} +function encodeValidatorsParams(params) { + return { + height: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.height), + page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.page), + per_page: (0, encodings_1.may)(inthelpers_1.smallIntToApi, params.per_page), + }; +} +class Params { + static encodeAbciInfo(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method); + } + static encodeAbciQuery(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeAbciQueryParams(req.params)); + } + static encodeBlock(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeHeightParam(req.params)); + } + static encodeBlockchain(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeBlockchainRequestParams(req.params)); + } + static encodeBlockResults(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeHeightParam(req.params)); + } + static encodeBlockSearch(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeBlockSearchParams(req.params)); + } + static encodeBroadcastTx(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeBroadcastTxParams(req.params)); + } + static encodeCommit(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeHeightParam(req.params)); + } + static encodeGenesis(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method); + } + static encodeHealth(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method); + } + static encodeNumUnconfirmedTxs(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method); + } + static encodeStatus(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method); + } + static encodeSubscribe(req) { + const eventTag = { key: "tm.event", value: req.query.type }; + const query = requests.buildQuery({ tags: [eventTag], raw: req.query.raw }); + return (0, jsonrpc_1.createJsonRpcRequest)("subscribe", { query: query }); + } + static encodeTx(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeTxParams(req.params)); + } + // TODO: encode params for query string??? + static encodeTxSearch(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeTxSearchParams(req.params)); + } + static encodeValidators(req) { + return (0, jsonrpc_1.createJsonRpcRequest)(req.method, encodeValidatorsParams(req.params)); + } +} +exports.Params = Params; +//# sourceMappingURL=requests.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js.map new file mode 100644 index 00000000..e3c37733 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/requests.js.map @@ -0,0 +1 @@ +{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../src/tendermint37/adaptor/requests.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.d.ts new file mode 100644 index 00000000..d4dfc4b4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.d.ts @@ -0,0 +1,84 @@ +import { JsonRpcSuccessResponse } from "@cosmjs/json-rpc"; +import { SubscriptionEvent } from "../../rpcclients"; +import * as responses from "../responses"; +export interface RpcProofOp { + readonly type: string; + /** base64 encoded */ + readonly key: string; + /** base64 encoded */ + readonly data: string; +} +export interface RpcQueryProof { + readonly ops: readonly RpcProofOp[]; +} +/** + * EventAttribute from Tendermint. In 0.35 the type of key and value was changed + * from bytes to string, such that no base64 encoding is used anymore. + */ +interface RpcEventAttribute { + readonly key: string; + readonly value?: string; +} +interface RpcEvent { + readonly type: string; + /** Can be omitted (see https://github.com/cosmos/cosmjs/pull/1198) */ + readonly attributes?: readonly RpcEventAttribute[]; +} +export declare function decodeEvent(event: RpcEvent): responses.Event; +type RpcPubkey = { + readonly type: string; + /** base64 encoded */ + readonly value: string; +} | { + readonly Sum: { + readonly type: string; + readonly value: { + /** base64 encoded */ + [algorithm: string]: string; + }; + }; +}; +interface RpcValidatorUpdate { + readonly pub_key: RpcPubkey; + readonly power?: string; +} +export declare function decodeValidatorUpdate(data: RpcValidatorUpdate): responses.ValidatorUpdate; +interface RpcValidatorGenesis { + /** hex-encoded */ + readonly address: string; + readonly pub_key: RpcPubkey; + readonly power: string; + readonly name?: string; +} +export declare function decodeValidatorGenesis(data: RpcValidatorGenesis): responses.Validator; +interface RpcValidatorInfo { + /** hex encoded */ + readonly address: string; + readonly pub_key: RpcPubkey; + readonly voting_power: string; + readonly proposer_priority?: string; +} +export declare function decodeValidatorInfo(data: RpcValidatorInfo): responses.Validator; +export declare class Responses { + static decodeAbciInfo(response: JsonRpcSuccessResponse): responses.AbciInfoResponse; + static decodeAbciQuery(response: JsonRpcSuccessResponse): responses.AbciQueryResponse; + static decodeBlock(response: JsonRpcSuccessResponse): responses.BlockResponse; + static decodeBlockResults(response: JsonRpcSuccessResponse): responses.BlockResultsResponse; + static decodeBlockSearch(response: JsonRpcSuccessResponse): responses.BlockSearchResponse; + static decodeBlockchain(response: JsonRpcSuccessResponse): responses.BlockchainResponse; + static decodeBroadcastTxSync(response: JsonRpcSuccessResponse): responses.BroadcastTxSyncResponse; + static decodeBroadcastTxAsync(response: JsonRpcSuccessResponse): responses.BroadcastTxAsyncResponse; + static decodeBroadcastTxCommit(response: JsonRpcSuccessResponse): responses.BroadcastTxCommitResponse; + static decodeCommit(response: JsonRpcSuccessResponse): responses.CommitResponse; + static decodeGenesis(response: JsonRpcSuccessResponse): responses.GenesisResponse; + static decodeHealth(): responses.HealthResponse; + static decodeNumUnconfirmedTxs(response: JsonRpcSuccessResponse): responses.NumUnconfirmedTxsResponse; + static decodeStatus(response: JsonRpcSuccessResponse): responses.StatusResponse; + static decodeNewBlockEvent(event: SubscriptionEvent): responses.NewBlockEvent; + static decodeNewBlockHeaderEvent(event: SubscriptionEvent): responses.NewBlockHeaderEvent; + static decodeTxEvent(event: SubscriptionEvent): responses.TxEvent; + static decodeTx(response: JsonRpcSuccessResponse): responses.TxResponse; + static decodeTxSearch(response: JsonRpcSuccessResponse): responses.TxSearchResponse; + static decodeValidators(response: JsonRpcSuccessResponse): responses.ValidatorsResponse; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js new file mode 100644 index 00000000..0fa3d283 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js @@ -0,0 +1,437 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Responses = exports.decodeValidatorInfo = exports.decodeValidatorGenesis = exports.decodeValidatorUpdate = exports.decodeEvent = void 0; +/* eslint-disable @typescript-eslint/naming-convention */ +const encoding_1 = require("@cosmjs/encoding"); +const utils_1 = require("@cosmjs/utils"); +const dates_1 = require("../../dates"); +const inthelpers_1 = require("../../inthelpers"); +const types_1 = require("../../types"); +const encodings_1 = require("../encodings"); +const hasher_1 = require("../hasher"); +function decodeAbciInfo(data) { + return { + data: data.data, + lastBlockHeight: (0, encodings_1.may)(inthelpers_1.apiToSmallInt, data.last_block_height), + lastBlockAppHash: (0, encodings_1.may)(encoding_1.fromBase64, data.last_block_app_hash), + }; +} +function decodeQueryProof(data) { + return { + ops: data.ops.map((op) => ({ + type: op.type, + key: (0, encoding_1.fromBase64)(op.key), + data: (0, encoding_1.fromBase64)(op.data), + })), + }; +} +function decodeAbciQuery(data) { + return { + key: (0, encoding_1.fromBase64)((0, encodings_1.assertString)(data.key ?? "")), + value: (0, encoding_1.fromBase64)((0, encodings_1.assertString)(data.value ?? "")), + proof: (0, encodings_1.may)(decodeQueryProof, data.proofOps), + height: (0, encodings_1.may)(inthelpers_1.apiToSmallInt, data.height), + code: (0, encodings_1.may)(inthelpers_1.apiToSmallInt, data.code), + codespace: (0, encodings_1.assertString)(data.codespace ?? ""), + index: (0, encodings_1.may)(inthelpers_1.apiToSmallInt, data.index), + log: data.log, + info: (0, encodings_1.assertString)(data.info ?? ""), + }; +} +function decodeEventAttribute(attribute) { + return { + key: (0, encodings_1.assertNotEmpty)(attribute.key), + value: attribute.value ?? "", + }; +} +function decodeAttributes(attributes) { + return (0, encodings_1.assertArray)(attributes).map(decodeEventAttribute); +} +function decodeEvent(event) { + return { + type: event.type, + attributes: event.attributes ? decodeAttributes(event.attributes) : [], + }; +} +exports.decodeEvent = decodeEvent; +function decodeEvents(events) { + return (0, encodings_1.assertArray)(events).map(decodeEvent); +} +function decodeTxData(data) { + return { + code: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNumber)(data.code ?? 0)), + codespace: data.codespace, + log: data.log, + data: (0, encodings_1.may)(encoding_1.fromBase64, data.data), + events: data.events ? decodeEvents(data.events) : [], + gasWanted: (0, inthelpers_1.apiToSmallInt)(data.gas_wanted ?? "0"), + gasUsed: (0, inthelpers_1.apiToSmallInt)(data.gas_used ?? "0"), + }; +} +function decodePubkey(data) { + if ("Sum" in data) { + // we don't need to check type because we're checking algorithm + const [[algorithm, value]] = Object.entries(data.Sum.value); + (0, utils_1.assert)(algorithm === "ed25519" || algorithm === "secp256k1", `unknown pubkey type: ${algorithm}`); + return { + algorithm, + data: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(value)), + }; + } + else { + switch (data.type) { + // go-amino special code + case "tendermint/PubKeyEd25519": + return { + algorithm: "ed25519", + data: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.value)), + }; + case "tendermint/PubKeySecp256k1": + return { + algorithm: "secp256k1", + data: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.value)), + }; + default: + throw new Error(`unknown pubkey type: ${data.type}`); + } + } +} +/** + * Note: we do not parse block.time_iota_ms for now because of this CHANGELOG entry + * + * > Add time_iota_ms to block's consensus parameters (not exposed to the application) + * https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md#v0310 + */ +function decodeBlockParams(data) { + return { + maxBytes: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.max_bytes)), + maxGas: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.max_gas)), + }; +} +function decodeEvidenceParams(data) { + return { + maxAgeNumBlocks: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.max_age_num_blocks)), + maxAgeDuration: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.max_age_duration)), + }; +} +function decodeConsensusParams(data) { + return { + block: decodeBlockParams((0, encodings_1.assertObject)(data.block)), + evidence: decodeEvidenceParams((0, encodings_1.assertObject)(data.evidence)), + }; +} +function decodeValidatorUpdate(data) { + return { + pubkey: decodePubkey((0, encodings_1.assertObject)(data.pub_key)), + votingPower: (0, inthelpers_1.apiToBigInt)(data.power ?? "0"), + }; +} +exports.decodeValidatorUpdate = decodeValidatorUpdate; +function decodeBlockResults(data) { + return { + height: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.height)), + results: (data.txs_results || []).map(decodeTxData), + validatorUpdates: (data.validator_updates || []).map(decodeValidatorUpdate), + consensusUpdates: (0, encodings_1.may)(decodeConsensusParams, data.consensus_param_updates), + beginBlockEvents: decodeEvents(data.begin_block_events || []), + endBlockEvents: decodeEvents(data.end_block_events || []), + }; +} +function decodeBlockId(data) { + return { + hash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.hash)), + parts: { + total: (0, encodings_1.assertNotEmpty)(data.parts.total), + hash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.parts.hash)), + }, + }; +} +function decodeBlockVersion(data) { + return { + block: (0, inthelpers_1.apiToSmallInt)(data.block), + app: (0, inthelpers_1.apiToSmallInt)(data.app ?? 0), + }; +} +function decodeHeader(data) { + return { + version: decodeBlockVersion(data.version), + chainId: (0, encodings_1.assertNotEmpty)(data.chain_id), + height: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.height)), + time: (0, dates_1.fromRfc3339WithNanoseconds)((0, encodings_1.assertNotEmpty)(data.time)), + // When there is no last block ID (i.e. this block's height is 1), we get an empty structure like this: + // { hash: '', parts: { total: 0, hash: '' } } + lastBlockId: data.last_block_id.hash ? decodeBlockId(data.last_block_id) : null, + lastCommitHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.last_commit_hash)), + dataHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.data_hash)), + validatorsHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.validators_hash)), + nextValidatorsHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.next_validators_hash)), + consensusHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.consensus_hash)), + appHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.app_hash)), + lastResultsHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.last_results_hash)), + evidenceHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.evidence_hash)), + proposerAddress: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.proposer_address)), + }; +} +function decodeBlockMeta(data) { + return { + blockId: decodeBlockId(data.block_id), + blockSize: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.block_size)), + header: decodeHeader(data.header), + numTxs: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.num_txs)), + }; +} +function decodeBlockchain(data) { + return { + lastHeight: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.last_height)), + blockMetas: (0, encodings_1.assertArray)(data.block_metas).map(decodeBlockMeta), + }; +} +function decodeBroadcastTxSync(data) { + return { + ...decodeTxData(data), + hash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.hash)), + }; +} +function decodeBroadcastTxCommit(data) { + return { + height: (0, inthelpers_1.apiToSmallInt)(data.height), + hash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.hash)), + checkTx: decodeTxData((0, encodings_1.assertObject)(data.check_tx)), + deliverTx: (0, encodings_1.may)(decodeTxData, data.deliver_tx), + }; +} +function decodeBlockIdFlag(blockIdFlag) { + (0, utils_1.assert)(blockIdFlag in types_1.BlockIdFlag); + return blockIdFlag; +} +/** + * In some cases a timestamp is optional and set to the value 0 in Go. + * This can lead to strings like "0001-01-01T00:00:00Z" (see https://github.com/cosmos/cosmjs/issues/704#issuecomment-797122415). + * This decoder tries to clean up such encoding from the API and turn them + * into undefined values. + */ +function decodeOptionalTime(timestamp) { + const nonZeroTime = timestamp && !timestamp.startsWith("0001-01-01"); + return nonZeroTime ? (0, dates_1.fromRfc3339WithNanoseconds)(timestamp) : undefined; +} +function decodeCommitSignature(data) { + return { + blockIdFlag: decodeBlockIdFlag(data.block_id_flag), + validatorAddress: data.validator_address ? (0, encoding_1.fromHex)(data.validator_address) : undefined, + timestamp: decodeOptionalTime(data.timestamp), + signature: data.signature ? (0, encoding_1.fromBase64)(data.signature) : undefined, + }; +} +function decodeCommit(data) { + return { + blockId: decodeBlockId((0, encodings_1.assertObject)(data.block_id)), + height: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.height)), + round: (0, inthelpers_1.apiToSmallInt)(data.round), + signatures: (0, encodings_1.assertArray)(data.signatures).map(decodeCommitSignature), + }; +} +function decodeCommitResponse(data) { + return { + canonical: (0, encodings_1.assertBoolean)(data.canonical), + header: decodeHeader(data.signed_header.header), + commit: decodeCommit(data.signed_header.commit), + }; +} +function decodeValidatorGenesis(data) { + return { + address: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.address)), + pubkey: decodePubkey((0, encodings_1.assertObject)(data.pub_key)), + votingPower: (0, inthelpers_1.apiToBigInt)((0, encodings_1.assertNotEmpty)(data.power)), + }; +} +exports.decodeValidatorGenesis = decodeValidatorGenesis; +function decodeGenesis(data) { + return { + genesisTime: (0, dates_1.fromRfc3339WithNanoseconds)((0, encodings_1.assertNotEmpty)(data.genesis_time)), + chainId: (0, encodings_1.assertNotEmpty)(data.chain_id), + consensusParams: decodeConsensusParams(data.consensus_params), + validators: data.validators ? (0, encodings_1.assertArray)(data.validators).map(decodeValidatorGenesis) : [], + appHash: (0, encoding_1.fromHex)((0, encodings_1.assertSet)(data.app_hash)), + appState: data.app_state, + }; +} +function decodeValidatorInfo(data) { + return { + pubkey: decodePubkey((0, encodings_1.assertObject)(data.pub_key)), + votingPower: (0, inthelpers_1.apiToBigInt)((0, encodings_1.assertNotEmpty)(data.voting_power)), + address: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.address)), + proposerPriority: data.proposer_priority ? (0, inthelpers_1.apiToSmallInt)(data.proposer_priority) : undefined, + }; +} +exports.decodeValidatorInfo = decodeValidatorInfo; +function decodeNodeInfo(data) { + return { + id: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.id)), + listenAddr: (0, encodings_1.assertNotEmpty)(data.listen_addr), + network: (0, encodings_1.assertNotEmpty)(data.network), + version: (0, encodings_1.assertString)(data.version), + channels: (0, encodings_1.assertNotEmpty)(data.channels), + moniker: (0, encodings_1.assertNotEmpty)(data.moniker), + other: (0, encodings_1.dictionaryToStringMap)(data.other), + protocolVersion: { + app: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.protocol_version.app)), + block: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.protocol_version.block)), + p2p: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.protocol_version.p2p)), + }, + }; +} +function decodeSyncInfo(data) { + return { + latestBlockHash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.latest_block_hash)), + latestAppHash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.latest_app_hash)), + latestBlockTime: (0, dates_1.fromRfc3339WithNanoseconds)((0, encodings_1.assertNotEmpty)(data.latest_block_time)), + latestBlockHeight: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.latest_block_height)), + catchingUp: (0, encodings_1.assertBoolean)(data.catching_up), + }; +} +function decodeStatus(data) { + return { + nodeInfo: decodeNodeInfo(data.node_info), + syncInfo: decodeSyncInfo(data.sync_info), + validatorInfo: decodeValidatorInfo(data.validator_info), + }; +} +function decodeTxProof(data) { + return { + data: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.data)), + rootHash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.root_hash)), + proof: { + total: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.proof.total)), + index: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.proof.index)), + leafHash: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.proof.leaf_hash)), + aunts: (0, encodings_1.assertArray)(data.proof.aunts).map(encoding_1.fromBase64), + }, + }; +} +function decodeTxResponse(data) { + return { + tx: (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.tx)), + result: decodeTxData((0, encodings_1.assertObject)(data.tx_result)), + height: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.height)), + index: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNumber)(data.index)), + hash: (0, encoding_1.fromHex)((0, encodings_1.assertNotEmpty)(data.hash)), + proof: (0, encodings_1.may)(decodeTxProof, data.proof), + }; +} +function decodeTxSearch(data) { + return { + totalCount: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.total_count)), + txs: (0, encodings_1.assertArray)(data.txs).map(decodeTxResponse), + }; +} +function decodeTxEvent(data) { + const tx = (0, encoding_1.fromBase64)((0, encodings_1.assertNotEmpty)(data.tx)); + return { + tx: tx, + hash: (0, hasher_1.hashTx)(tx), + result: decodeTxData(data.result), + height: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.height)), + }; +} +function decodeValidators(data) { + return { + blockHeight: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.block_height)), + validators: (0, encodings_1.assertArray)(data.validators).map(decodeValidatorInfo), + count: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.count)), + total: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.total)), + }; +} +function decodeBlock(data) { + return { + header: decodeHeader((0, encodings_1.assertObject)(data.header)), + // For the block at height 1, last commit is not set. This is represented in an empty object like this: + // { height: '0', round: 0, block_id: { hash: '', parts: [Object] }, signatures: [] } + lastCommit: data.last_commit.block_id.hash ? decodeCommit((0, encodings_1.assertObject)(data.last_commit)) : null, + txs: data.data.txs ? (0, encodings_1.assertArray)(data.data.txs).map(encoding_1.fromBase64) : [], + // Lift up .evidence.evidence to just .evidence + // See https://github.com/tendermint/tendermint/issues/7697 + evidence: data.evidence?.evidence ?? [], + }; +} +function decodeBlockResponse(data) { + return { + blockId: decodeBlockId(data.block_id), + block: decodeBlock(data.block), + }; +} +function decodeBlockSearch(data) { + return { + totalCount: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.total_count)), + blocks: (0, encodings_1.assertArray)(data.blocks).map(decodeBlockResponse), + }; +} +function decodeNumUnconfirmedTxs(data) { + return { + total: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.total)), + totalBytes: (0, inthelpers_1.apiToSmallInt)((0, encodings_1.assertNotEmpty)(data.total_bytes)), + }; +} +class Responses { + static decodeAbciInfo(response) { + return decodeAbciInfo((0, encodings_1.assertObject)(response.result.response)); + } + static decodeAbciQuery(response) { + return decodeAbciQuery((0, encodings_1.assertObject)(response.result.response)); + } + static decodeBlock(response) { + return decodeBlockResponse(response.result); + } + static decodeBlockResults(response) { + return decodeBlockResults(response.result); + } + static decodeBlockSearch(response) { + return decodeBlockSearch(response.result); + } + static decodeBlockchain(response) { + return decodeBlockchain(response.result); + } + static decodeBroadcastTxSync(response) { + return decodeBroadcastTxSync(response.result); + } + static decodeBroadcastTxAsync(response) { + return Responses.decodeBroadcastTxSync(response); + } + static decodeBroadcastTxCommit(response) { + return decodeBroadcastTxCommit(response.result); + } + static decodeCommit(response) { + return decodeCommitResponse(response.result); + } + static decodeGenesis(response) { + return decodeGenesis((0, encodings_1.assertObject)(response.result.genesis)); + } + static decodeHealth() { + return null; + } + static decodeNumUnconfirmedTxs(response) { + return decodeNumUnconfirmedTxs(response.result); + } + static decodeStatus(response) { + return decodeStatus(response.result); + } + static decodeNewBlockEvent(event) { + return decodeBlock(event.data.value.block); + } + static decodeNewBlockHeaderEvent(event) { + return decodeHeader(event.data.value.header); + } + static decodeTxEvent(event) { + return decodeTxEvent(event.data.value.TxResult); + } + static decodeTx(response) { + return decodeTxResponse(response.result); + } + static decodeTxSearch(response) { + return decodeTxSearch(response.result); + } + static decodeValidators(response) { + return decodeValidators(response.result); + } +} +exports.Responses = Responses; +//# sourceMappingURL=responses.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js.map new file mode 100644 index 00000000..71d763d8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/responses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/tendermint37/adaptor/responses.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.d.ts new file mode 100644 index 00000000..88fe129c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.d.ts @@ -0,0 +1,52 @@ +import { JsonRpcRequest, JsonRpcSuccessResponse } from "@cosmjs/json-rpc"; +import { SubscriptionEvent } from "../../rpcclients"; +import * as requests from "../requests"; +import * as responses from "../responses"; +export interface Adaptor { + readonly params: Params; + readonly responses: Responses; + readonly hashTx: (tx: Uint8Array) => Uint8Array; + readonly hashBlock: (header: responses.Header) => Uint8Array; +} +export type Encoder = (req: T) => JsonRpcRequest; +export type Decoder = (res: JsonRpcSuccessResponse) => T; +export interface Params { + readonly encodeAbciInfo: (req: requests.AbciInfoRequest) => JsonRpcRequest; + readonly encodeAbciQuery: (req: requests.AbciQueryRequest) => JsonRpcRequest; + readonly encodeBlock: (req: requests.BlockRequest) => JsonRpcRequest; + readonly encodeBlockchain: (req: requests.BlockchainRequest) => JsonRpcRequest; + readonly encodeBlockResults: (req: requests.BlockResultsRequest) => JsonRpcRequest; + readonly encodeBlockSearch: (req: requests.BlockSearchRequest) => JsonRpcRequest; + readonly encodeBroadcastTx: (req: requests.BroadcastTxRequest) => JsonRpcRequest; + readonly encodeCommit: (req: requests.CommitRequest) => JsonRpcRequest; + readonly encodeGenesis: (req: requests.GenesisRequest) => JsonRpcRequest; + readonly encodeHealth: (req: requests.HealthRequest) => JsonRpcRequest; + readonly encodeNumUnconfirmedTxs: (req: requests.NumUnconfirmedTxsRequest) => JsonRpcRequest; + readonly encodeStatus: (req: requests.StatusRequest) => JsonRpcRequest; + readonly encodeSubscribe: (req: requests.SubscribeRequest) => JsonRpcRequest; + readonly encodeTx: (req: requests.TxRequest) => JsonRpcRequest; + readonly encodeTxSearch: (req: requests.TxSearchRequest) => JsonRpcRequest; + readonly encodeValidators: (req: requests.ValidatorsRequest) => JsonRpcRequest; +} +export interface Responses { + readonly decodeAbciInfo: (response: JsonRpcSuccessResponse) => responses.AbciInfoResponse; + readonly decodeAbciQuery: (response: JsonRpcSuccessResponse) => responses.AbciQueryResponse; + readonly decodeBlock: (response: JsonRpcSuccessResponse) => responses.BlockResponse; + readonly decodeBlockResults: (response: JsonRpcSuccessResponse) => responses.BlockResultsResponse; + readonly decodeBlockSearch: (response: JsonRpcSuccessResponse) => responses.BlockSearchResponse; + readonly decodeBlockchain: (response: JsonRpcSuccessResponse) => responses.BlockchainResponse; + readonly decodeBroadcastTxSync: (response: JsonRpcSuccessResponse) => responses.BroadcastTxSyncResponse; + readonly decodeBroadcastTxAsync: (response: JsonRpcSuccessResponse) => responses.BroadcastTxAsyncResponse; + readonly decodeBroadcastTxCommit: (response: JsonRpcSuccessResponse) => responses.BroadcastTxCommitResponse; + readonly decodeCommit: (response: JsonRpcSuccessResponse) => responses.CommitResponse; + readonly decodeGenesis: (response: JsonRpcSuccessResponse) => responses.GenesisResponse; + readonly decodeHealth: (response: JsonRpcSuccessResponse) => responses.HealthResponse; + readonly decodeNumUnconfirmedTxs: (response: JsonRpcSuccessResponse) => responses.NumUnconfirmedTxsResponse; + readonly decodeStatus: (response: JsonRpcSuccessResponse) => responses.StatusResponse; + readonly decodeTx: (response: JsonRpcSuccessResponse) => responses.TxResponse; + readonly decodeTxSearch: (response: JsonRpcSuccessResponse) => responses.TxSearchResponse; + readonly decodeValidators: (response: JsonRpcSuccessResponse) => responses.ValidatorsResponse; + readonly decodeNewBlockEvent: (response: SubscriptionEvent) => responses.NewBlockEvent; + readonly decodeNewBlockHeaderEvent: (response: SubscriptionEvent) => responses.NewBlockHeaderEvent; + readonly decodeTxEvent: (response: SubscriptionEvent) => responses.TxEvent; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js new file mode 100644 index 00000000..11e638d1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js.map new file mode 100644 index 00000000..78876aff --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/adaptor/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tendermint37/adaptor/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.d.ts new file mode 100644 index 00000000..5a95a99a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.d.ts @@ -0,0 +1,61 @@ +import { ReadonlyDateWithNanoseconds } from "../dates"; +import { BlockId, Version } from "./responses"; +/** + * A runtime checker that ensures a given value is set (i.e. not undefined or null) + * + * This is used when you want to verify that data at runtime matches the expected type. + */ +export declare function assertSet(value: T): T; +/** + * A runtime checker that ensures a given value is a boolean + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +export declare function assertBoolean(value: boolean): boolean; +/** + * A runtime checker that ensures a given value is a string. + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +export declare function assertString(value: string): string; +/** + * A runtime checker that ensures a given value is a number + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +export declare function assertNumber(value: number): number; +/** + * A runtime checker that ensures a given value is an array + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +export declare function assertArray(value: readonly T[]): readonly T[]; +/** + * A runtime checker that ensures a given value is an object in the sense of JSON + * (an unordered collection of key–value pairs where the keys are strings) + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +export declare function assertObject(value: T): T; +/** + * Throws an error if value matches the empty value for the + * given type (array/string of length 0, number of value 0, ...) + * + * Otherwise returns the value. + * + * This implies assertSet + */ +export declare function assertNotEmpty(value: T): T; +export declare function may(transform: (val: T) => U, value: T | null | undefined): U | undefined; +export declare function dictionaryToStringMap(obj: Record): Map; +export declare function encodeString(s: string): Uint8Array; +export declare function encodeUvarint(n: number): Uint8Array; +export declare function encodeTime(time: ReadonlyDateWithNanoseconds): Uint8Array; +export declare function encodeBytes(bytes: Uint8Array): Uint8Array; +export declare function encodeVersion(version: Version): Uint8Array; +export declare function encodeBlockId(blockId: BlockId): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js new file mode 100644 index 00000000..65010d3e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js @@ -0,0 +1,191 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeBlockId = exports.encodeVersion = exports.encodeBytes = exports.encodeTime = exports.encodeUvarint = exports.encodeString = exports.dictionaryToStringMap = exports.may = exports.assertNotEmpty = exports.assertObject = exports.assertArray = exports.assertNumber = exports.assertString = exports.assertBoolean = exports.assertSet = void 0; +const encoding_1 = require("@cosmjs/encoding"); +/** + * A runtime checker that ensures a given value is set (i.e. not undefined or null) + * + * This is used when you want to verify that data at runtime matches the expected type. + */ +function assertSet(value) { + if (value === undefined) { + throw new Error("Value must not be undefined"); + } + if (value === null) { + throw new Error("Value must not be null"); + } + return value; +} +exports.assertSet = assertSet; +/** + * A runtime checker that ensures a given value is a boolean + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +function assertBoolean(value) { + assertSet(value); + if (typeof value !== "boolean") { + throw new Error("Value must be a boolean"); + } + return value; +} +exports.assertBoolean = assertBoolean; +/** + * A runtime checker that ensures a given value is a string. + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +function assertString(value) { + assertSet(value); + if (typeof value !== "string") { + throw new Error("Value must be a string"); + } + return value; +} +exports.assertString = assertString; +/** + * A runtime checker that ensures a given value is a number + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +function assertNumber(value) { + assertSet(value); + if (typeof value !== "number") { + throw new Error("Value must be a number"); + } + return value; +} +exports.assertNumber = assertNumber; +/** + * A runtime checker that ensures a given value is an array + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +function assertArray(value) { + assertSet(value); + if (!Array.isArray(value)) { + throw new Error("Value must be a an array"); + } + return value; +} +exports.assertArray = assertArray; +/** + * A runtime checker that ensures a given value is an object in the sense of JSON + * (an unordered collection of key–value pairs where the keys are strings) + * + * This is used when you want to verify that data at runtime matches the expected type. + * This implies assertSet. + */ +function assertObject(value) { + assertSet(value); + if (typeof value !== "object") { + throw new Error("Value must be an object"); + } + // Exclude special kind of objects like Array, Date or Uint8Array + // Object.prototype.toString() returns a specified value: + // http://www.ecma-international.org/ecma-262/7.0/index.html#sec-object.prototype.tostring + if (Object.prototype.toString.call(value) !== "[object Object]") { + throw new Error("Value must be a simple object"); + } + return value; +} +exports.assertObject = assertObject; +/** + * Throws an error if value matches the empty value for the + * given type (array/string of length 0, number of value 0, ...) + * + * Otherwise returns the value. + * + * This implies assertSet + */ +function assertNotEmpty(value) { + assertSet(value); + if (typeof value === "number" && value === 0) { + throw new Error("must provide a non-zero value"); + } + else if (value.length === 0) { + throw new Error("must provide a non-empty value"); + } + return value; +} +exports.assertNotEmpty = assertNotEmpty; +// may will run the transform if value is defined, otherwise returns undefined +function may(transform, value) { + return value === undefined || value === null ? undefined : transform(value); +} +exports.may = may; +function dictionaryToStringMap(obj) { + const out = new Map(); + for (const key of Object.keys(obj)) { + const value = obj[key]; + if (typeof value !== "string") { + throw new Error("Found dictionary value of type other than string"); + } + out.set(key, value); + } + return out; +} +exports.dictionaryToStringMap = dictionaryToStringMap; +// Encodings needed for hashing block headers +// Several of these functions are inspired by https://github.com/nomic-io/js-tendermint/blob/tendermint-0.30/src/ +// See https://github.com/tendermint/go-amino/blob/v0.15.0/encoder.go#L193-L195 +function encodeString(s) { + const utf8 = (0, encoding_1.toUtf8)(s); + return Uint8Array.from([utf8.length, ...utf8]); +} +exports.encodeString = encodeString; +// See https://github.com/tendermint/go-amino/blob/v0.15.0/encoder.go#L79-L87 +function encodeUvarint(n) { + return n >= 0x80 + ? // eslint-disable-next-line no-bitwise + Uint8Array.from([(n & 0xff) | 0x80, ...encodeUvarint(n >> 7)]) + : // eslint-disable-next-line no-bitwise + Uint8Array.from([n & 0xff]); +} +exports.encodeUvarint = encodeUvarint; +// See https://github.com/tendermint/go-amino/blob/v0.15.0/encoder.go#L134-L178 +function encodeTime(time) { + const milliseconds = time.getTime(); + const seconds = Math.floor(milliseconds / 1000); + const secondsArray = seconds ? [0x08, ...encodeUvarint(seconds)] : new Uint8Array(); + const nanoseconds = (time.nanoseconds || 0) + (milliseconds % 1000) * 1e6; + const nanosecondsArray = nanoseconds ? [0x10, ...encodeUvarint(nanoseconds)] : new Uint8Array(); + return Uint8Array.from([...secondsArray, ...nanosecondsArray]); +} +exports.encodeTime = encodeTime; +// See https://github.com/tendermint/go-amino/blob/v0.15.0/encoder.go#L180-L187 +function encodeBytes(bytes) { + // Since we're only dealing with short byte arrays we don't need a full VarBuffer implementation yet + if (bytes.length >= 0x80) + throw new Error("Not implemented for byte arrays of length 128 or more"); + return bytes.length ? Uint8Array.from([bytes.length, ...bytes]) : new Uint8Array(); +} +exports.encodeBytes = encodeBytes; +function encodeVersion(version) { + const blockArray = version.block + ? Uint8Array.from([0x08, ...encodeUvarint(version.block)]) + : new Uint8Array(); + const appArray = version.app ? Uint8Array.from([0x10, ...encodeUvarint(version.app)]) : new Uint8Array(); + return Uint8Array.from([...blockArray, ...appArray]); +} +exports.encodeVersion = encodeVersion; +function encodeBlockId(blockId) { + return Uint8Array.from([ + 0x0a, + blockId.hash.length, + ...blockId.hash, + 0x12, + blockId.parts.hash.length + 4, + 0x08, + blockId.parts.total, + 0x12, + blockId.parts.hash.length, + ...blockId.parts.hash, + ]); +} +exports.encodeBlockId = encodeBlockId; +//# sourceMappingURL=encodings.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js.map new file mode 100644 index 00000000..a51b240e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/encodings.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodings.js","sourceRoot":"","sources":["../../src/tendermint37/encodings.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAK1C;;;;GAIG;AACH,SAAgB,SAAS,CAAI,KAAQ;IACnC,IAAK,KAAiB,KAAK,SAAS,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;IAED,IAAK,KAAiB,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,8BAUC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,OAAQ,KAAiB,KAAK,SAAS,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,sCAMC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,OAAQ,KAAiB,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,oCAMC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,OAAQ,KAAiB,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,oCAMC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAI,KAAmB;IAChD,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAgB,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,kCAMC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAI,KAAQ;IACtC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,OAAQ,KAAiB,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,iEAAiE;IACjE,yDAAyD;IACzD,0FAA0F;IAC1F,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAdD,oCAcC;AAMD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAI,KAAQ;IACxC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;SAAM,IAAK,KAAyB,CAAC,MAAM,KAAK,CAAC,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,wCASC;AAED,8EAA8E;AAC9E,SAAgB,GAAG,CAAO,SAAwB,EAAE,KAA2B;IAC7E,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAFD,kBAEC;AAED,SAAgB,qBAAqB,CAAC,GAA4B;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KACrB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAVD,sDAUC;AAED,6CAA6C;AAC7C,iHAAiH;AAEjH,+EAA+E;AAC/E,SAAgB,YAAY,CAAC,CAAS;IACpC,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,CAAC,CAAC,CAAC;IACvB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAHD,oCAGC;AAED,6EAA6E;AAC7E,SAAgB,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,IAAI,IAAI;QACd,CAAC,CAAC,sCAAsC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,sCAAsC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAND,sCAMC;AAED,+EAA+E;AAC/E,SAAgB,UAAU,CAAC,IAAiC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IACpF,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1E,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IAChG,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;AACjE,CAAC;AAPD,gCAOC;AAED,+EAA+E;AAC/E,SAAgB,WAAW,CAAC,KAAiB;IAC3C,oGAAoG;IACpG,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;AACrF,CAAC;AAJD,kCAIC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK;QAC9B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IACzG,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACvD,CAAC;AAND,sCAMC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC;QACrB,IAAI;QACJ,OAAO,CAAC,IAAI,CAAC,MAAM;QACnB,GAAG,OAAO,CAAC,IAAI;QACf,IAAI;QACJ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC7B,IAAI;QACJ,OAAO,CAAC,KAAK,CAAC,KAAK;QACnB,IAAI;QACJ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI;KACtB,CAAC,CAAC;AACL,CAAC;AAbD,sCAaC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.d.ts new file mode 100644 index 00000000..ecb48c7b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.d.ts @@ -0,0 +1,3 @@ +import { Header } from "./responses"; +export declare function hashTx(tx: Uint8Array): Uint8Array; +export declare function hashBlock(header: Header): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js new file mode 100644 index 00000000..993269d0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js @@ -0,0 +1,68 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashBlock = exports.hashTx = void 0; +const crypto_1 = require("@cosmjs/crypto"); +const encodings_1 = require("./encodings"); +// hash is sha256 +// https://github.com/tendermint/tendermint/blob/master/UPGRADING.md#v0260 +function hashTx(tx) { + return (0, crypto_1.sha256)(tx); +} +exports.hashTx = hashTx; +function getSplitPoint(n) { + if (n < 1) + throw new Error("Cannot split an empty tree"); + const largestPowerOf2 = 2 ** Math.floor(Math.log2(n)); + return largestPowerOf2 < n ? largestPowerOf2 : largestPowerOf2 / 2; +} +function hashLeaf(leaf) { + const hash = new crypto_1.Sha256(Uint8Array.from([0])); + hash.update(leaf); + return hash.digest(); +} +function hashInner(left, right) { + const hash = new crypto_1.Sha256(Uint8Array.from([1])); + hash.update(left); + hash.update(right); + return hash.digest(); +} +// See https://github.com/tendermint/tendermint/blob/v0.31.8/docs/spec/blockchain/encoding.md#merkleroot +// Note: the hashes input may not actually be hashes, especially before a recursive call +function hashTree(hashes) { + switch (hashes.length) { + case 0: + throw new Error("Cannot hash empty tree"); + case 1: + return hashLeaf(hashes[0]); + default: { + const slicePoint = getSplitPoint(hashes.length); + const left = hashTree(hashes.slice(0, slicePoint)); + const right = hashTree(hashes.slice(slicePoint)); + return hashInner(left, right); + } + } +} +function hashBlock(header) { + if (!header.lastBlockId) { + throw new Error("Hashing a block header with no last block ID (i.e. header at height 1) is not supported. If you need this, contributions are welcome. Please add documentation and test vectors for this case."); + } + const encodedFields = [ + (0, encodings_1.encodeVersion)(header.version), + (0, encodings_1.encodeString)(header.chainId), + (0, encodings_1.encodeUvarint)(header.height), + (0, encodings_1.encodeTime)(header.time), + (0, encodings_1.encodeBlockId)(header.lastBlockId), + (0, encodings_1.encodeBytes)(header.lastCommitHash), + (0, encodings_1.encodeBytes)(header.dataHash), + (0, encodings_1.encodeBytes)(header.validatorsHash), + (0, encodings_1.encodeBytes)(header.nextValidatorsHash), + (0, encodings_1.encodeBytes)(header.consensusHash), + (0, encodings_1.encodeBytes)(header.appHash), + (0, encodings_1.encodeBytes)(header.lastResultsHash), + (0, encodings_1.encodeBytes)(header.evidenceHash), + (0, encodings_1.encodeBytes)(header.proposerAddress), + ]; + return hashTree(encodedFields); +} +exports.hashBlock = hashBlock; +//# sourceMappingURL=hasher.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js.map new file mode 100644 index 00000000..73a6a9cd --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/hasher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/tendermint37/hasher.ts"],"names":[],"mappings":";;;AAAA,2CAAgD;AAEhD,2CAOqB;AAGrB,iBAAiB;AACjB,0EAA0E;AAC1E,SAAgB,MAAM,CAAC,EAAc;IACnC,OAAO,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAFD,wBAEC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAgB;IAChC,MAAM,IAAI,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,IAAgB,EAAE,KAAiB;IACpD,MAAM,IAAI,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,wGAAwG;AACxG,wFAAwF;AACxF,SAAS,QAAQ,CAAC,MAA6B;IAC7C,QAAQ,MAAM,CAAC,MAAM,EAAE;QACrB,KAAK,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,KAAK,CAAC;YACJ,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC;YACP,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC/B;KACF;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc;IACtC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,MAAM,IAAI,KAAK,CACb,gMAAgM,CACjM,CAAC;KACH;IAED,MAAM,aAAa,GAA0B;QAC3C,IAAA,yBAAa,EAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,IAAA,wBAAY,EAAC,MAAM,CAAC,OAAO,CAAC;QAC5B,IAAA,yBAAa,EAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAA,sBAAU,EAAC,MAAM,CAAC,IAAI,CAAC;QACvB,IAAA,yBAAa,EAAC,MAAM,CAAC,WAAW,CAAC;QAEjC,IAAA,uBAAW,EAAC,MAAM,CAAC,cAAc,CAAC;QAClC,IAAA,uBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,IAAA,uBAAW,EAAC,MAAM,CAAC,cAAc,CAAC;QAClC,IAAA,uBAAW,EAAC,MAAM,CAAC,kBAAkB,CAAC;QACtC,IAAA,uBAAW,EAAC,MAAM,CAAC,aAAa,CAAC;QACjC,IAAA,uBAAW,EAAC,MAAM,CAAC,OAAO,CAAC;QAC3B,IAAA,uBAAW,EAAC,MAAM,CAAC,eAAe,CAAC;QACnC,IAAA,uBAAW,EAAC,MAAM,CAAC,YAAY,CAAC;QAChC,IAAA,uBAAW,EAAC,MAAM,CAAC,eAAe,CAAC;KACpC,CAAC;IACF,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAzBD,8BAyBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.d.ts new file mode 100644 index 00000000..eb613004 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.d.ts @@ -0,0 +1,3 @@ +export { AbciInfoRequest, AbciQueryParams, AbciQueryRequest, BlockchainRequest, BlockRequest, BlockResultsRequest, BlockSearchParams, BlockSearchRequest, BroadcastTxParams, BroadcastTxRequest, CommitRequest, GenesisRequest, HealthRequest, Method, NumUnconfirmedTxsRequest, QueryTag, Request, StatusRequest, SubscriptionEventType, TxParams, TxRequest, TxSearchParams, TxSearchRequest, ValidatorsParams, ValidatorsRequest, } from "./requests"; +export { AbciInfoResponse, AbciQueryResponse, EventAttribute as Attribute, Block, BlockchainResponse, BlockGossipParams, BlockId, BlockMeta, BlockParams, BlockResponse, BlockResultsResponse, BlockSearchResponse, BroadcastTxAsyncResponse, BroadcastTxCommitResponse, broadcastTxCommitSuccess, BroadcastTxSyncResponse, broadcastTxSyncSuccess, Commit, CommitResponse, ConsensusParams, Event, Evidence, EvidenceParams, GenesisResponse, Header, HealthResponse, NewBlockEvent, NewBlockHeaderEvent, NodeInfo, NumUnconfirmedTxsResponse, ProofOp, QueryProof, Response, StatusResponse, SyncInfo, TxData, TxEvent, TxProof, TxResponse, TxSearchResponse, TxSizeParams, Validator, ValidatorsResponse, Version, Vote, VoteType, } from "./responses"; +export { Tendermint37Client } from "./tendermint37client"; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js new file mode 100644 index 00000000..ac2e5171 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js @@ -0,0 +1,15 @@ +"use strict"; +// Note: all exports in this module are publicly available via +// `import { tendermint37 } from "@cosmjs/tendermint-rpc"` +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tendermint37Client = exports.VoteType = exports.broadcastTxSyncSuccess = exports.broadcastTxCommitSuccess = exports.SubscriptionEventType = exports.Method = void 0; +var requests_1 = require("./requests"); +Object.defineProperty(exports, "Method", { enumerable: true, get: function () { return requests_1.Method; } }); +Object.defineProperty(exports, "SubscriptionEventType", { enumerable: true, get: function () { return requests_1.SubscriptionEventType; } }); +var responses_1 = require("./responses"); +Object.defineProperty(exports, "broadcastTxCommitSuccess", { enumerable: true, get: function () { return responses_1.broadcastTxCommitSuccess; } }); +Object.defineProperty(exports, "broadcastTxSyncSuccess", { enumerable: true, get: function () { return responses_1.broadcastTxSyncSuccess; } }); +Object.defineProperty(exports, "VoteType", { enumerable: true, get: function () { return responses_1.VoteType; } }); +var tendermint37client_1 = require("./tendermint37client"); +Object.defineProperty(exports, "Tendermint37Client", { enumerable: true, get: function () { return tendermint37client_1.Tendermint37Client; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js.map new file mode 100644 index 00000000..1d26c884 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tendermint37/index.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,0DAA0D;;;AAE1D,uCA0BoB;AAZlB,kGAAA,MAAM,OAAA;AAKN,iHAAA,qBAAqB,OAAA;AAQvB,yCA+CqB;AAhCnB,qHAAA,wBAAwB,OAAA;AAExB,mHAAA,sBAAsB,OAAA;AA6BtB,qGAAA,QAAQ,OAAA;AAEV,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.d.ts new file mode 100644 index 00000000..84f08581 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.d.ts @@ -0,0 +1,156 @@ +/** + * RPC methods as documented in https://docs.tendermint.com/master/rpc/ + * + * Enum raw value must match the spelling in the "shell" example call (snake_case) + */ +export declare enum Method { + AbciInfo = "abci_info", + AbciQuery = "abci_query", + Block = "block", + /** Get block headers for minHeight <= height <= maxHeight. */ + Blockchain = "blockchain", + BlockResults = "block_results", + BlockSearch = "block_search", + BroadcastTxAsync = "broadcast_tx_async", + BroadcastTxSync = "broadcast_tx_sync", + BroadcastTxCommit = "broadcast_tx_commit", + Commit = "commit", + Genesis = "genesis", + Health = "health", + NumUnconfirmedTxs = "num_unconfirmed_txs", + Status = "status", + Subscribe = "subscribe", + Tx = "tx", + TxSearch = "tx_search", + Validators = "validators", + Unsubscribe = "unsubscribe" +} +export type Request = AbciInfoRequest | AbciQueryRequest | BlockRequest | BlockSearchRequest | BlockchainRequest | BlockResultsRequest | BroadcastTxRequest | CommitRequest | GenesisRequest | HealthRequest | NumUnconfirmedTxsRequest | StatusRequest | TxRequest | TxSearchRequest | ValidatorsRequest; +/** + * Raw values must match the tendermint event name + * + * @see https://godoc.org/github.com/tendermint/tendermint/types#pkg-constants + */ +export declare enum SubscriptionEventType { + NewBlock = "NewBlock", + NewBlockHeader = "NewBlockHeader", + Tx = "Tx" +} +export interface AbciInfoRequest { + readonly method: Method.AbciInfo; +} +export interface AbciQueryRequest { + readonly method: Method.AbciQuery; + readonly params: AbciQueryParams; +} +export interface AbciQueryParams { + readonly path: string; + readonly data: Uint8Array; + readonly height?: number; + /** + * A flag that defines if proofs are included in the response or not. + * + * Internally this is mapped to the old inverse name `trusted` for Tendermint < 0.26. + * Starting with Tendermint 0.26, the default value changed from true to false. + */ + readonly prove?: boolean; +} +export interface BlockRequest { + readonly method: Method.Block; + readonly params: { + readonly height?: number; + }; +} +export interface BlockchainRequest { + readonly method: Method.Blockchain; + readonly params: BlockchainRequestParams; +} +export interface BlockchainRequestParams { + readonly minHeight?: number; + readonly maxHeight?: number; +} +export interface BlockResultsRequest { + readonly method: Method.BlockResults; + readonly params: { + readonly height?: number; + }; +} +export interface BlockSearchRequest { + readonly method: Method.BlockSearch; + readonly params: BlockSearchParams; +} +export interface BlockSearchParams { + readonly query: string; + readonly page?: number; + readonly per_page?: number; + readonly order_by?: string; +} +export interface BroadcastTxRequest { + readonly method: Method.BroadcastTxAsync | Method.BroadcastTxSync | Method.BroadcastTxCommit; + readonly params: BroadcastTxParams; +} +export interface BroadcastTxParams { + readonly tx: Uint8Array; +} +export interface CommitRequest { + readonly method: Method.Commit; + readonly params: { + readonly height?: number; + }; +} +export interface GenesisRequest { + readonly method: Method.Genesis; +} +export interface HealthRequest { + readonly method: Method.Health; +} +export interface NumUnconfirmedTxsRequest { + readonly method: Method.NumUnconfirmedTxs; +} +export interface StatusRequest { + readonly method: Method.Status; +} +export interface SubscribeRequest { + readonly method: Method.Subscribe; + readonly query: { + readonly type: SubscriptionEventType; + readonly raw?: string; + }; +} +export interface QueryTag { + readonly key: string; + readonly value: string; +} +export interface TxRequest { + readonly method: Method.Tx; + readonly params: TxParams; +} +export interface TxParams { + readonly hash: Uint8Array; + readonly prove?: boolean; +} +export interface TxSearchRequest { + readonly method: Method.TxSearch; + readonly params: TxSearchParams; +} +export interface TxSearchParams { + readonly query: string; + readonly prove?: boolean; + readonly page?: number; + readonly per_page?: number; + readonly order_by?: string; +} +export interface ValidatorsRequest { + readonly method: Method.Validators; + readonly params: ValidatorsParams; +} +export interface ValidatorsParams { + readonly height?: number; + readonly page?: number; + readonly per_page?: number; +} +export interface BuildQueryComponents { + readonly tags?: readonly QueryTag[]; + readonly raw?: string; +} +export declare function buildQuery(components: BuildQueryComponents): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js new file mode 100644 index 00000000..b1aeb4ab --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js @@ -0,0 +1,51 @@ +"use strict"; +/* eslint-disable @typescript-eslint/naming-convention */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.buildQuery = exports.SubscriptionEventType = exports.Method = void 0; +/** + * RPC methods as documented in https://docs.tendermint.com/master/rpc/ + * + * Enum raw value must match the spelling in the "shell" example call (snake_case) + */ +var Method; +(function (Method) { + Method["AbciInfo"] = "abci_info"; + Method["AbciQuery"] = "abci_query"; + Method["Block"] = "block"; + /** Get block headers for minHeight <= height <= maxHeight. */ + Method["Blockchain"] = "blockchain"; + Method["BlockResults"] = "block_results"; + Method["BlockSearch"] = "block_search"; + Method["BroadcastTxAsync"] = "broadcast_tx_async"; + Method["BroadcastTxSync"] = "broadcast_tx_sync"; + Method["BroadcastTxCommit"] = "broadcast_tx_commit"; + Method["Commit"] = "commit"; + Method["Genesis"] = "genesis"; + Method["Health"] = "health"; + Method["NumUnconfirmedTxs"] = "num_unconfirmed_txs"; + Method["Status"] = "status"; + Method["Subscribe"] = "subscribe"; + Method["Tx"] = "tx"; + Method["TxSearch"] = "tx_search"; + Method["Validators"] = "validators"; + Method["Unsubscribe"] = "unsubscribe"; +})(Method = exports.Method || (exports.Method = {})); +/** + * Raw values must match the tendermint event name + * + * @see https://godoc.org/github.com/tendermint/tendermint/types#pkg-constants + */ +var SubscriptionEventType; +(function (SubscriptionEventType) { + SubscriptionEventType["NewBlock"] = "NewBlock"; + SubscriptionEventType["NewBlockHeader"] = "NewBlockHeader"; + SubscriptionEventType["Tx"] = "Tx"; +})(SubscriptionEventType = exports.SubscriptionEventType || (exports.SubscriptionEventType = {})); +function buildQuery(components) { + const tags = components.tags ? components.tags : []; + const tagComponents = tags.map((tag) => `${tag.key}='${tag.value}'`); + const rawComponents = components.raw ? [components.raw] : []; + return [...tagComponents, ...rawComponents].join(" AND "); +} +exports.buildQuery = buildQuery; +//# sourceMappingURL=requests.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js.map new file mode 100644 index 00000000..6c71b7d2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/requests.js.map @@ -0,0 +1 @@ +{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/tendermint37/requests.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAEzD;;;;GAIG;AACH,IAAY,MAqBX;AArBD,WAAY,MAAM;IAChB,gCAAsB,CAAA;IACtB,kCAAwB,CAAA;IACxB,yBAAe,CAAA;IACf,8DAA8D;IAC9D,mCAAyB,CAAA;IACzB,wCAA8B,CAAA;IAC9B,sCAA4B,CAAA;IAC5B,iDAAuC,CAAA;IACvC,+CAAqC,CAAA;IACrC,mDAAyC,CAAA;IACzC,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,2BAAiB,CAAA;IACjB,mDAAyC,CAAA;IACzC,2BAAiB,CAAA;IACjB,iCAAuB,CAAA;IACvB,mBAAS,CAAA;IACT,gCAAsB,CAAA;IACtB,mCAAyB,CAAA;IACzB,qCAA2B,CAAA;AAC7B,CAAC,EArBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAqBjB;AAmBD;;;;GAIG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,8CAAqB,CAAA;IACrB,0DAAiC,CAAA;IACjC,kCAAS,CAAA;AACX,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC;AAiJD,SAAgB,UAAU,CAAC,UAAgC;IACzD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAND,gCAMC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.d.ts new file mode 100644 index 00000000..25f4c31b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.d.ts @@ -0,0 +1,307 @@ +import { ReadonlyDate } from "readonly-date"; +import { ReadonlyDateWithNanoseconds } from "../dates"; +import { CommitSignature, ValidatorPubkey } from "../types"; +export type Response = AbciInfoResponse | AbciQueryResponse | BlockResponse | BlockResultsResponse | BlockSearchResponse | BlockchainResponse | BroadcastTxAsyncResponse | BroadcastTxSyncResponse | BroadcastTxCommitResponse | CommitResponse | GenesisResponse | HealthResponse | NumUnconfirmedTxsResponse | StatusResponse | TxResponse | TxSearchResponse | ValidatorsResponse; +export interface AbciInfoResponse { + readonly data?: string; + readonly lastBlockHeight?: number; + readonly lastBlockAppHash?: Uint8Array; +} +export interface ProofOp { + readonly type: string; + readonly key: Uint8Array; + readonly data: Uint8Array; +} +export interface QueryProof { + readonly ops: readonly ProofOp[]; +} +export interface AbciQueryResponse { + readonly key: Uint8Array; + readonly value: Uint8Array; + readonly proof?: QueryProof; + readonly height?: number; + readonly index?: number; + readonly code?: number; + readonly codespace: string; + readonly log?: string; + readonly info: string; +} +export interface BlockResponse { + readonly blockId: BlockId; + readonly block: Block; +} +export interface BlockResultsResponse { + readonly height: number; + readonly results: readonly TxData[]; + readonly validatorUpdates: readonly ValidatorUpdate[]; + readonly consensusUpdates?: ConsensusParams; + readonly beginBlockEvents: readonly Event[]; + readonly endBlockEvents: readonly Event[]; +} +export interface BlockSearchResponse { + readonly blocks: readonly BlockResponse[]; + readonly totalCount: number; +} +export interface BlockchainResponse { + readonly lastHeight: number; + readonly blockMetas: readonly BlockMeta[]; +} +/** + * No transaction data in here because RPC method BroadcastTxAsync "returns right away, with no response" + */ +export interface BroadcastTxAsyncResponse { + readonly hash: Uint8Array; +} +export interface BroadcastTxSyncResponse extends TxData { + readonly hash: Uint8Array; +} +/** + * Returns true iff transaction made it successfully into the transaction pool + */ +export declare function broadcastTxSyncSuccess(res: BroadcastTxSyncResponse): boolean; +export interface BroadcastTxCommitResponse { + readonly height: number; + readonly hash: Uint8Array; + readonly checkTx: TxData; + readonly deliverTx?: TxData; +} +/** + * Returns true iff transaction made it successfully into a block + * (i.e. success in `check_tx` and `deliver_tx` field) + */ +export declare function broadcastTxCommitSuccess(response: BroadcastTxCommitResponse): boolean; +export interface CommitResponse { + readonly header: Header; + readonly commit: Commit; + readonly canonical: boolean; +} +export interface GenesisResponse { + readonly genesisTime: ReadonlyDate; + readonly chainId: string; + readonly consensusParams: ConsensusParams; + readonly validators: readonly Validator[]; + readonly appHash: Uint8Array; + readonly appState: Record | undefined; +} +export type HealthResponse = null; +export interface NumUnconfirmedTxsResponse { + readonly total: number; + readonly totalBytes: number; +} +export interface StatusResponse { + readonly nodeInfo: NodeInfo; + readonly syncInfo: SyncInfo; + readonly validatorInfo: Validator; +} +/** + * A transaction from RPC calls like search. + * + * Try to keep this compatible to TxEvent + */ +export interface TxResponse { + readonly tx: Uint8Array; + readonly hash: Uint8Array; + readonly height: number; + readonly index: number; + readonly result: TxData; + readonly proof?: TxProof; +} +export interface TxSearchResponse { + readonly txs: readonly TxResponse[]; + readonly totalCount: number; +} +export interface ValidatorsResponse { + readonly blockHeight: number; + readonly validators: readonly Validator[]; + readonly count: number; + readonly total: number; +} +export interface NewBlockEvent extends Block { +} +export interface NewBlockHeaderEvent extends Header { +} +export interface TxEvent { + readonly tx: Uint8Array; + readonly hash: Uint8Array; + readonly height: number; + readonly result: TxData; +} +/** + * An event attribute. + * + * In 0.35 the type of key and value was changed + * from bytes to string, such that no base64 encoding is used anymore. + */ +export interface EventAttribute { + readonly key: string; + readonly value: string; +} +export interface Event { + readonly type: string; + readonly attributes: readonly EventAttribute[]; +} +export interface TxData { + readonly code: number; + readonly codespace?: string; + readonly log?: string; + readonly data?: Uint8Array; + readonly events: readonly Event[]; + readonly gasWanted: number; + readonly gasUsed: number; +} +export interface TxProof { + readonly data: Uint8Array; + readonly rootHash: Uint8Array; + readonly proof: { + readonly total: number; + readonly index: number; + readonly leafHash: Uint8Array; + readonly aunts: readonly Uint8Array[]; + }; +} +export interface BlockMeta { + readonly blockId: BlockId; + readonly blockSize: number; + readonly header: Header; + readonly numTxs: number; +} +export interface BlockId { + readonly hash: Uint8Array; + readonly parts: { + readonly total: number; + readonly hash: Uint8Array; + }; +} +export interface Block { + readonly header: Header; + /** + * For the block at height 1, last commit is not set. + */ + readonly lastCommit: Commit | null; + readonly txs: readonly Uint8Array[]; + readonly evidence: readonly Evidence[]; +} +/** + * We lost track on how the evidence structure actually looks like. + * This is any now and passed to the caller untouched. + * + * See also https://github.com/cosmos/cosmjs/issues/980. + */ +export type Evidence = any; +export interface Commit { + readonly blockId: BlockId; + readonly height: number; + readonly round: number; + readonly signatures: readonly CommitSignature[]; +} +/** + * raw values from https://github.com/tendermint/tendermint/blob/dfa9a9a30a666132425b29454e90a472aa579a48/types/vote.go#L44 + */ +export declare enum VoteType { + PreVote = 1, + PreCommit = 2 +} +export interface Vote { + readonly type: VoteType; + readonly validatorAddress: Uint8Array; + readonly validatorIndex: number; + readonly height: number; + readonly round: number; + readonly timestamp: ReadonlyDate; + readonly blockId: BlockId; + readonly signature: Uint8Array; +} +export interface Version { + readonly block: number; + readonly app: number; +} +export interface Header { + readonly version: Version; + readonly chainId: string; + readonly height: number; + readonly time: ReadonlyDateWithNanoseconds; + /** + * Block ID of the previous block. This can be `null` when the currect block is height 1. + */ + readonly lastBlockId: BlockId | null; + /** + * Hashes of block data. + * + * This is `sha256("")` for height 1 🤷‍ + */ + readonly lastCommitHash: Uint8Array; + /** + * This is `sha256("")` as long as there is no data 🤷‍ + */ + readonly dataHash: Uint8Array; + readonly validatorsHash: Uint8Array; + readonly nextValidatorsHash: Uint8Array; + readonly consensusHash: Uint8Array; + /** + * This can be an empty string for height 1 and turn into "0000000000000000" later on 🤷‍ + */ + readonly appHash: Uint8Array; + /** + * This is `sha256("")` as long as there is no data 🤷‍ + */ + readonly lastResultsHash: Uint8Array; + /** + * This is `sha256("")` as long as there is no data 🤷‍ + */ + readonly evidenceHash: Uint8Array; + readonly proposerAddress: Uint8Array; +} +export interface NodeInfo { + readonly id: Uint8Array; + /** IP and port */ + readonly listenAddr: string; + readonly network: string; + /** + * The Tendermint version. Can be empty (see https://github.com/cosmos/cosmos-sdk/issues/7963). + */ + readonly version: string; + readonly channels: string; + readonly moniker: string; + readonly other: Map; + readonly protocolVersion: { + readonly p2p: number; + readonly block: number; + readonly app: number; + }; +} +export interface SyncInfo { + readonly latestBlockHash: Uint8Array; + readonly latestAppHash: Uint8Array; + readonly latestBlockHeight: number; + readonly latestBlockTime: ReadonlyDate; + readonly catchingUp: boolean; +} +export interface Validator { + readonly address: Uint8Array; + readonly pubkey?: ValidatorPubkey; + readonly votingPower: bigint; + readonly proposerPriority?: number; +} +export interface ValidatorUpdate { + readonly pubkey: ValidatorPubkey; + readonly votingPower: bigint; +} +export interface ConsensusParams { + readonly block: BlockParams; + readonly evidence: EvidenceParams; +} +export interface BlockParams { + readonly maxBytes: number; + readonly maxGas: number; +} +export interface TxSizeParams { + readonly maxBytes: number; + readonly maxGas: number; +} +export interface BlockGossipParams { + readonly blockPartSizeBytes: number; +} +export interface EvidenceParams { + readonly maxAgeNumBlocks: number; + readonly maxAgeDuration: number; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js new file mode 100644 index 00000000..30bf4e78 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VoteType = exports.broadcastTxCommitSuccess = exports.broadcastTxSyncSuccess = void 0; +/** + * Returns true iff transaction made it successfully into the transaction pool + */ +function broadcastTxSyncSuccess(res) { + // code must be 0 on success + return res.code === 0; +} +exports.broadcastTxSyncSuccess = broadcastTxSyncSuccess; +/** + * Returns true iff transaction made it successfully into a block + * (i.e. success in `check_tx` and `deliver_tx` field) + */ +function broadcastTxCommitSuccess(response) { + // code must be 0 on success + // deliverTx may be present but empty on failure + return response.checkTx.code === 0 && !!response.deliverTx && response.deliverTx.code === 0; +} +exports.broadcastTxCommitSuccess = broadcastTxCommitSuccess; +/** + * raw values from https://github.com/tendermint/tendermint/blob/dfa9a9a30a666132425b29454e90a472aa579a48/types/vote.go#L44 + */ +var VoteType; +(function (VoteType) { + VoteType[VoteType["PreVote"] = 1] = "PreVote"; + VoteType[VoteType["PreCommit"] = 2] = "PreCommit"; +})(VoteType = exports.VoteType || (exports.VoteType = {})); +//# sourceMappingURL=responses.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js.map new file mode 100644 index 00000000..e9a42cc9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/responses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/tendermint37/responses.ts"],"names":[],"mappings":";;;AAuFA;;GAEG;AACH,SAAgB,sBAAsB,CAAC,GAA4B;IACjE,4BAA4B;IAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;AACxB,CAAC;AAHD,wDAGC;AASD;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,QAAmC;IAC1E,4BAA4B;IAC5B,gDAAgD;IAChD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;AAC9F,CAAC;AAJD,4DAIC;AAoJD;;GAEG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,iDAAa,CAAA;AACf,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.d.ts new file mode 100644 index 00000000..37521687 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.d.ts @@ -0,0 +1,89 @@ +import { Stream } from "xstream"; +import { HttpEndpoint, RpcClient } from "../rpcclients"; +import * as requests from "./requests"; +import * as responses from "./responses"; +export declare class Tendermint37Client { + /** + * Creates a new Tendermint client for the given endpoint. + * + * Uses HTTP when the URL schema is http or https. Uses WebSockets otherwise. + */ + static connect(endpoint: string | HttpEndpoint): Promise; + /** + * Creates a new Tendermint client given an RPC client. + */ + static create(rpcClient: RpcClient): Promise; + private static detectVersion; + private readonly client; + private readonly p; + private readonly r; + /** + * Use `Tendermint37Client.connect` or `Tendermint37Client.create` to create an instance. + */ + private constructor(); + disconnect(): void; + abciInfo(): Promise; + abciQuery(params: requests.AbciQueryParams): Promise; + block(height?: number): Promise; + blockResults(height?: number): Promise; + /** + * Search for events that are in a block. + * + * NOTE + * This method will error on any node that is running a Tendermint version lower than 0.34.9. + * + * @see https://docs.tendermint.com/master/rpc/#/Info/block_search + */ + blockSearch(params: requests.BlockSearchParams): Promise; + blockSearchAll(params: requests.BlockSearchParams): Promise; + /** + * Queries block headers filtered by minHeight <= height <= maxHeight. + * + * @param minHeight The minimum height to be included in the result. Defaults to 0. + * @param maxHeight The maximum height to be included in the result. Defaults to infinity. + */ + blockchain(minHeight?: number, maxHeight?: number): Promise; + /** + * Broadcast transaction to mempool and wait for response + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_sync + */ + broadcastTxSync(params: requests.BroadcastTxParams): Promise; + /** + * Broadcast transaction to mempool and do not wait for result + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_async + */ + broadcastTxAsync(params: requests.BroadcastTxParams): Promise; + /** + * Broadcast transaction to mempool and wait for block + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_commit + */ + broadcastTxCommit(params: requests.BroadcastTxParams): Promise; + commit(height?: number): Promise; + genesis(): Promise; + health(): Promise; + numUnconfirmedTxs(): Promise; + status(): Promise; + subscribeNewBlock(): Stream; + subscribeNewBlockHeader(): Stream; + subscribeTx(query?: string): Stream; + /** + * Get a single transaction by hash + * + * @see https://docs.tendermint.com/master/rpc/#/Info/tx + */ + tx(params: requests.TxParams): Promise; + /** + * Search for transactions that are in a block + * + * @see https://docs.tendermint.com/master/rpc/#/Info/tx_search + */ + txSearch(params: requests.TxSearchParams): Promise; + txSearchAll(params: requests.TxSearchParams): Promise; + validators(params: requests.ValidatorsParams): Promise; + validatorsAll(height?: number): Promise; + private doCall; + private subscribe; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js new file mode 100644 index 00000000..8f78cc68 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js @@ -0,0 +1,325 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Tendermint37Client = void 0; +const jsonrpc_1 = require("../jsonrpc"); +const rpcclients_1 = require("../rpcclients"); +const adaptor_1 = require("./adaptor"); +const requests = __importStar(require("./requests")); +class Tendermint37Client { + /** + * Creates a new Tendermint client for the given endpoint. + * + * Uses HTTP when the URL schema is http or https. Uses WebSockets otherwise. + */ + static async connect(endpoint) { + let rpcClient; + if (typeof endpoint === "object") { + rpcClient = new rpcclients_1.HttpClient(endpoint); + } + else { + const useHttp = endpoint.startsWith("http://") || endpoint.startsWith("https://"); + rpcClient = useHttp ? new rpcclients_1.HttpClient(endpoint) : new rpcclients_1.WebsocketClient(endpoint); + } + // For some very strange reason I don't understand, tests start to fail on some systems + // (our CI) when skipping the status call before doing other queries. Sleeping a little + // while did not help. Thus we query the version as a way to say "hi" to the backend, + // even in cases where we don't use the result. + const _version = await this.detectVersion(rpcClient); + return Tendermint37Client.create(rpcClient); + } + /** + * Creates a new Tendermint client given an RPC client. + */ + static async create(rpcClient) { + return new Tendermint37Client(rpcClient); + } + static async detectVersion(client) { + const req = (0, jsonrpc_1.createJsonRpcRequest)(requests.Method.Status); + const response = await client.execute(req); + const result = response.result; + if (!result || !result.node_info) { + throw new Error("Unrecognized format for status response"); + } + const version = result.node_info.version; + if (typeof version !== "string") { + throw new Error("Unrecognized version format: must be string"); + } + return version; + } + /** + * Use `Tendermint37Client.connect` or `Tendermint37Client.create` to create an instance. + */ + constructor(client) { + this.client = client; + this.p = adaptor_1.adaptor37.params; + this.r = adaptor_1.adaptor37.responses; + } + disconnect() { + this.client.disconnect(); + } + async abciInfo() { + const query = { method: requests.Method.AbciInfo }; + return this.doCall(query, this.p.encodeAbciInfo, this.r.decodeAbciInfo); + } + async abciQuery(params) { + const query = { params: params, method: requests.Method.AbciQuery }; + return this.doCall(query, this.p.encodeAbciQuery, this.r.decodeAbciQuery); + } + async block(height) { + const query = { method: requests.Method.Block, params: { height: height } }; + return this.doCall(query, this.p.encodeBlock, this.r.decodeBlock); + } + async blockResults(height) { + const query = { + method: requests.Method.BlockResults, + params: { height: height }, + }; + return this.doCall(query, this.p.encodeBlockResults, this.r.decodeBlockResults); + } + /** + * Search for events that are in a block. + * + * NOTE + * This method will error on any node that is running a Tendermint version lower than 0.34.9. + * + * @see https://docs.tendermint.com/master/rpc/#/Info/block_search + */ + async blockSearch(params) { + const query = { params: params, method: requests.Method.BlockSearch }; + const resp = await this.doCall(query, this.p.encodeBlockSearch, this.r.decodeBlockSearch); + return { + ...resp, + // make sure we sort by height, as tendermint may be sorting by string value of the height + blocks: [...resp.blocks].sort((a, b) => a.block.header.height - b.block.header.height), + }; + } + // this should paginate through all blockSearch options to ensure it returns all results. + // starts with page 1 or whatever was provided (eg. to start on page 7) + // + // NOTE + // This method will error on any node that is running a Tendermint version lower than 0.34.9. + async blockSearchAll(params) { + let page = params.page || 1; + const blocks = []; + let done = false; + while (!done) { + const resp = await this.blockSearch({ ...params, page: page }); + blocks.push(...resp.blocks); + if (blocks.length < resp.totalCount) { + page++; + } + else { + done = true; + } + } + // make sure we sort by height, as tendermint may be sorting by string value of the height + // and the earlier items may be in a higher page than the later items + blocks.sort((a, b) => a.block.header.height - b.block.header.height); + return { + totalCount: blocks.length, + blocks: blocks, + }; + } + /** + * Queries block headers filtered by minHeight <= height <= maxHeight. + * + * @param minHeight The minimum height to be included in the result. Defaults to 0. + * @param maxHeight The maximum height to be included in the result. Defaults to infinity. + */ + async blockchain(minHeight, maxHeight) { + const query = { + method: requests.Method.Blockchain, + params: { + minHeight: minHeight, + maxHeight: maxHeight, + }, + }; + return this.doCall(query, this.p.encodeBlockchain, this.r.decodeBlockchain); + } + /** + * Broadcast transaction to mempool and wait for response + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_sync + */ + async broadcastTxSync(params) { + const query = { params: params, method: requests.Method.BroadcastTxSync }; + return this.doCall(query, this.p.encodeBroadcastTx, this.r.decodeBroadcastTxSync); + } + /** + * Broadcast transaction to mempool and do not wait for result + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_async + */ + async broadcastTxAsync(params) { + const query = { params: params, method: requests.Method.BroadcastTxAsync }; + return this.doCall(query, this.p.encodeBroadcastTx, this.r.decodeBroadcastTxAsync); + } + /** + * Broadcast transaction to mempool and wait for block + * + * @see https://docs.tendermint.com/master/rpc/#/Tx/broadcast_tx_commit + */ + async broadcastTxCommit(params) { + const query = { params: params, method: requests.Method.BroadcastTxCommit }; + return this.doCall(query, this.p.encodeBroadcastTx, this.r.decodeBroadcastTxCommit); + } + async commit(height) { + const query = { method: requests.Method.Commit, params: { height: height } }; + return this.doCall(query, this.p.encodeCommit, this.r.decodeCommit); + } + async genesis() { + const query = { method: requests.Method.Genesis }; + return this.doCall(query, this.p.encodeGenesis, this.r.decodeGenesis); + } + async health() { + const query = { method: requests.Method.Health }; + return this.doCall(query, this.p.encodeHealth, this.r.decodeHealth); + } + async numUnconfirmedTxs() { + const query = { method: requests.Method.NumUnconfirmedTxs }; + return this.doCall(query, this.p.encodeNumUnconfirmedTxs, this.r.decodeNumUnconfirmedTxs); + } + async status() { + const query = { method: requests.Method.Status }; + return this.doCall(query, this.p.encodeStatus, this.r.decodeStatus); + } + subscribeNewBlock() { + const request = { + method: requests.Method.Subscribe, + query: { type: requests.SubscriptionEventType.NewBlock }, + }; + return this.subscribe(request, this.r.decodeNewBlockEvent); + } + subscribeNewBlockHeader() { + const request = { + method: requests.Method.Subscribe, + query: { type: requests.SubscriptionEventType.NewBlockHeader }, + }; + return this.subscribe(request, this.r.decodeNewBlockHeaderEvent); + } + subscribeTx(query) { + const request = { + method: requests.Method.Subscribe, + query: { + type: requests.SubscriptionEventType.Tx, + raw: query, + }, + }; + return this.subscribe(request, this.r.decodeTxEvent); + } + /** + * Get a single transaction by hash + * + * @see https://docs.tendermint.com/master/rpc/#/Info/tx + */ + async tx(params) { + const query = { params: params, method: requests.Method.Tx }; + return this.doCall(query, this.p.encodeTx, this.r.decodeTx); + } + /** + * Search for transactions that are in a block + * + * @see https://docs.tendermint.com/master/rpc/#/Info/tx_search + */ + async txSearch(params) { + const query = { params: params, method: requests.Method.TxSearch }; + return this.doCall(query, this.p.encodeTxSearch, this.r.decodeTxSearch); + } + // this should paginate through all txSearch options to ensure it returns all results. + // starts with page 1 or whatever was provided (eg. to start on page 7) + async txSearchAll(params) { + let page = params.page || 1; + const txs = []; + let done = false; + while (!done) { + const resp = await this.txSearch({ ...params, page: page }); + txs.push(...resp.txs); + if (txs.length < resp.totalCount) { + page++; + } + else { + done = true; + } + } + return { + totalCount: txs.length, + txs: txs, + }; + } + async validators(params) { + const query = { + method: requests.Method.Validators, + params: params, + }; + return this.doCall(query, this.p.encodeValidators, this.r.decodeValidators); + } + async validatorsAll(height) { + const validators = []; + let page = 1; + let done = false; + let blockHeight = height; + while (!done) { + const response = await this.validators({ + per_page: 50, + height: blockHeight, + page: page, + }); + validators.push(...response.validators); + blockHeight = blockHeight || response.blockHeight; + if (validators.length < response.total) { + page++; + } + else { + done = true; + } + } + return { + // NOTE: Default value is for type safety but this should always be set + blockHeight: blockHeight ?? 0, + count: validators.length, + total: validators.length, + validators: validators, + }; + } + // doCall is a helper to handle the encode/call/decode logic + async doCall(request, encode, decode) { + const req = encode(request); + const result = await this.client.execute(req); + return decode(result); + } + subscribe(request, decode) { + if (!(0, rpcclients_1.instanceOfRpcStreamingClient)(this.client)) { + throw new Error("This RPC client type cannot subscribe to events"); + } + const req = this.p.encodeSubscribe(request); + const eventStream = this.client.listen(req); + return eventStream.map((event) => { + return decode(event); + }); + } +} +exports.Tendermint37Client = Tendermint37Client; +//# sourceMappingURL=tendermint37client.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js.map new file mode 100644 index 00000000..54b17115 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermint37/tendermint37client.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tendermint37client.js","sourceRoot":"","sources":["../../src/tendermint37/tendermint37client.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.d.ts new file mode 100644 index 00000000..e68f6b48 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.d.ts @@ -0,0 +1,6 @@ +import { Tendermint34Client } from "./tendermint34"; +import { Tendermint37Client } from "./tendermint37"; +/** A TendermintClient is either a Tendermint34Client or a Tendermint37Client */ +export type TendermintClient = Tendermint34Client | Tendermint37Client; +export declare function isTendermint34Client(client: TendermintClient): client is Tendermint34Client; +export declare function isTendermint37Client(client: TendermintClient): client is Tendermint37Client; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js new file mode 100644 index 00000000..38570c40 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isTendermint37Client = exports.isTendermint34Client = void 0; +const tendermint34_1 = require("./tendermint34"); +const tendermint37_1 = require("./tendermint37"); +function isTendermint34Client(client) { + return client instanceof tendermint34_1.Tendermint34Client; +} +exports.isTendermint34Client = isTendermint34Client; +function isTendermint37Client(client) { + return client instanceof tendermint37_1.Tendermint37Client; +} +exports.isTendermint37Client = isTendermint37Client; +//# sourceMappingURL=tendermintclient.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js.map new file mode 100644 index 00000000..a26bcd59 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/build/tendermintclient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tendermintclient.js","sourceRoot":"","sources":["../src/tendermintclient.ts"],"names":[],"mappings":";;;AAAA,iDAAoD;AACpD,iDAAoD;AAKpD,SAAgB,oBAAoB,CAAC,MAAwB;IAC3D,OAAO,MAAM,YAAY,iCAAkB,CAAC;AAC9C,CAAC;AAFD,oDAEC;AAED,SAAgB,oBAAoB,CAAC,MAAwB;IAC3D,OAAO,MAAM,YAAY,iCAAkB,CAAC;AAC9C,CAAC;AAFD,oDAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/README.md b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/README.md new file mode 100644 index 00000000..d8820186 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/README.md @@ -0,0 +1,15 @@ +# @cosmjs/crypto + +[![npm version](https://img.shields.io/npm/v/@cosmjs/crypto.svg)](https://www.npmjs.com/package/@cosmjs/crypto) + +This package contains low-level cryptographic functionality used in other +@cosmjs libraries. Little of it is implemented here, but mainly it is a curation +of external libraries along with correctness tests. We add type safety, some +more checks, and a simple API to these libraries. This can also be freely +imported outside of CosmJS based applications. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.d.ts new file mode 100644 index 00000000..b5cb7e22 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.d.ts @@ -0,0 +1,29 @@ +export declare function entropyToMnemonic(entropy: Uint8Array): string; +export declare function mnemonicToEntropy(mnemonic: string): Uint8Array; +export declare class EnglishMnemonic { + static readonly wordlist: readonly string[]; + private static readonly mnemonicMatcher; + private readonly data; + constructor(mnemonic: string); + toString(): string; +} +export declare class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy: Uint8Array): EnglishMnemonic; + static decode(mnemonic: EnglishMnemonic): Uint8Array; + static mnemonicToSeed(mnemonic: EnglishMnemonic, password?: string): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js new file mode 100644 index 00000000..5a5a2079 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js @@ -0,0 +1,2186 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bip39 = exports.EnglishMnemonic = exports.mnemonicToEntropy = exports.entropyToMnemonic = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const pbkdf2_1 = require("./pbkdf2"); +const sha_1 = require("./sha"); +const wordlist = [ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo", +]; +function bytesToBitstring(bytes) { + return Array.from(bytes) + .map((byte) => byte.toString(2).padStart(8, "0")) + .join(""); +} +function deriveChecksumBits(entropy) { + const entropyLengthBits = entropy.length * 8; // "ENT" (in bits) + const checksumLengthBits = entropyLengthBits / 32; // "CS" (in bits) + const hash = (0, sha_1.sha256)(entropy); + return bytesToBitstring(hash).slice(0, checksumLengthBits); +} +function bitstringToByte(bin) { + return parseInt(bin, 2); +} +const allowedEntropyLengths = [16, 20, 24, 28, 32]; +const allowedWordLengths = [12, 15, 18, 21, 24]; +function entropyToMnemonic(entropy) { + if (allowedEntropyLengths.indexOf(entropy.length) === -1) { + throw new Error("invalid input length"); + } + const entropyBits = bytesToBitstring(entropy); + const checksumBits = deriveChecksumBits(entropy); + const bits = entropyBits + checksumBits; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const chunks = bits.match(/(.{11})/g); + const words = chunks.map((binary) => { + const index = bitstringToByte(binary); + return wordlist[index]; + }); + return words.join(" "); +} +exports.entropyToMnemonic = entropyToMnemonic; +const invalidNumberOfWorks = "Invalid number of words"; +const wordNotInWordlist = "Found word that is not in the wordlist"; +const invalidEntropy = "Invalid entropy"; +const invalidChecksum = "Invalid mnemonic checksum"; +function normalize(str) { + return str.normalize("NFKD"); +} +function mnemonicToEntropy(mnemonic) { + const words = normalize(mnemonic).split(" "); + if (!allowedWordLengths.includes(words.length)) { + throw new Error(invalidNumberOfWorks); + } + // convert word indices to 11 bit binary strings + const bits = words + .map((word) => { + const index = wordlist.indexOf(word); + if (index === -1) { + throw new Error(wordNotInWordlist); + } + return index.toString(2).padStart(11, "0"); + }) + .join(""); + // split the binary string into ENT/CS + const dividerIndex = Math.floor(bits.length / 33) * 32; + const entropyBits = bits.slice(0, dividerIndex); + const checksumBits = bits.slice(dividerIndex); + // calculate the checksum and compare + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const entropyBytes = entropyBits.match(/(.{1,8})/g).map(bitstringToByte); + if (entropyBytes.length < 16 || entropyBytes.length > 32 || entropyBytes.length % 4 !== 0) { + throw new Error(invalidEntropy); + } + const entropy = Uint8Array.from(entropyBytes); + const newChecksum = deriveChecksumBits(entropy); + if (newChecksum !== checksumBits) { + throw new Error(invalidChecksum); + } + return entropy; +} +exports.mnemonicToEntropy = mnemonicToEntropy; +class EnglishMnemonic { + constructor(mnemonic) { + if (!EnglishMnemonic.mnemonicMatcher.test(mnemonic)) { + throw new Error("Invalid mnemonic format"); + } + const words = mnemonic.split(" "); + const allowedWordsLengths = [12, 15, 18, 21, 24]; + if (allowedWordsLengths.indexOf(words.length) === -1) { + throw new Error(`Invalid word count in mnemonic (allowed: ${allowedWordsLengths} got: ${words.length})`); + } + for (const word of words) { + if (EnglishMnemonic.wordlist.indexOf(word) === -1) { + throw new Error("Mnemonic contains invalid word"); + } + } + // Throws with informative error message if mnemonic is not valid + mnemonicToEntropy(mnemonic); + this.data = mnemonic; + } + toString() { + return this.data; + } +} +exports.EnglishMnemonic = EnglishMnemonic; +EnglishMnemonic.wordlist = wordlist; +// list of space separated lower case words (1 or more) +EnglishMnemonic.mnemonicMatcher = /^[a-z]+( [a-z]+)*$/; +class Bip39 { + /** + * Encodes raw entropy of length 16, 20, 24, 28 or 32 bytes as an English mnemonic between 12 and 24 words. + * + * | Entropy | Words | + * |--------------------|-------| + * | 128 bit (16 bytes) | 12 | + * | 160 bit (20 bytes) | 15 | + * | 192 bit (24 bytes) | 18 | + * | 224 bit (28 bytes) | 21 | + * | 256 bit (32 bytes) | 24 | + * + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#generating-the-mnemonic + * @param entropy The entropy to be encoded. This must be cryptographically secure. + */ + static encode(entropy) { + return new EnglishMnemonic(entropyToMnemonic(entropy)); + } + static decode(mnemonic) { + return mnemonicToEntropy(mnemonic.toString()); + } + static async mnemonicToSeed(mnemonic, password) { + const mnemonicBytes = (0, encoding_1.toUtf8)(normalize(mnemonic.toString())); + const salt = "mnemonic" + (password ? normalize(password) : ""); + const saltBytes = (0, encoding_1.toUtf8)(salt); + return (0, pbkdf2_1.pbkdf2Sha512)(mnemonicBytes, saltBytes, 2048, 64); + } +} +exports.Bip39 = Bip39; +//# sourceMappingURL=bip39.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js.map new file mode 100644 index 00000000..f88d8c57 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/bip39.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bip39.js","sourceRoot":"","sources":["../src/bip39.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.d.ts new file mode 100644 index 00000000..00c136c6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.d.ts @@ -0,0 +1,5 @@ +export interface HashFunction { + readonly blockSize: number; + readonly update: (_: Uint8Array) => HashFunction; + readonly digest: () => Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js new file mode 100644 index 00000000..6032c199 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=hash.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js.map new file mode 100644 index 00000000..1159d990 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.d.ts new file mode 100644 index 00000000..a2f35d9d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.d.ts @@ -0,0 +1,11 @@ +import { HashFunction } from "./hash"; +export declare class Hmac implements HashFunction { + readonly blockSize: number; + private readonly messageHasher; + private readonly oKeyPad; + private readonly iKeyPad; + private readonly hash; + constructor(hashFunctionConstructor: new () => H, originalKey: Uint8Array); + update(data: Uint8Array): Hmac; + digest(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js new file mode 100644 index 00000000..2c68480b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Hmac = void 0; +class Hmac { + constructor(hashFunctionConstructor, originalKey) { + // This implementation is based on https://en.wikipedia.org/wiki/HMAC#Implementation + // with the addition of incremental hashing support. Thus part of the algorithm + // is in the constructor and the rest in digest(). + const blockSize = new hashFunctionConstructor().blockSize; + this.hash = (data) => new hashFunctionConstructor().update(data).digest(); + let key = originalKey; + if (key.length > blockSize) { + key = this.hash(key); + } + if (key.length < blockSize) { + const zeroPadding = new Uint8Array(blockSize - key.length); + key = new Uint8Array([...key, ...zeroPadding]); + } + // eslint-disable-next-line no-bitwise + this.oKeyPad = key.map((keyByte) => keyByte ^ 0x5c); + // eslint-disable-next-line no-bitwise + this.iKeyPad = key.map((keyByte) => keyByte ^ 0x36); + this.messageHasher = new hashFunctionConstructor(); + this.blockSize = blockSize; + this.update(this.iKeyPad); + } + update(data) { + this.messageHasher.update(data); + return this; + } + digest() { + const innerHash = this.messageHasher.digest(); + return this.hash(new Uint8Array([...this.oKeyPad, ...innerHash])); + } +} +exports.Hmac = Hmac; +//# sourceMappingURL=hmac.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js.map new file mode 100644 index 00000000..aae9e272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/hmac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../src/hmac.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IAQf,YAAmB,uBAAoC,EAAE,WAAuB;QAC9E,oFAAoF;QACpF,+EAA+E;QAC/E,kDAAkD;QAElD,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC,SAAS,CAAC;QAE1D,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAE1E,IAAI,GAAG,GAAG,WAAW,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;SAChD;QAED,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA9CD,oBA8CC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.d.ts new file mode 100644 index 00000000..65ab90f3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.d.ts @@ -0,0 +1,11 @@ +export { Bip39, EnglishMnemonic } from "./bip39"; +export { HashFunction } from "./hash"; +export { Hmac } from "./hmac"; +export { Keccak256, keccak256 } from "./keccak"; +export { Argon2id, Argon2idOptions, Ed25519, Ed25519Keypair, isArgon2idOptions, xchacha20NonceLength, Xchacha20poly1305Ietf, } from "./libsodium"; +export { Random } from "./random"; +export { Ripemd160, ripemd160 } from "./ripemd"; +export { Secp256k1, Secp256k1Keypair } from "./secp256k1"; +export { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export { Sha256, sha256, Sha512, sha512 } from "./sha"; +export { HdPath, pathToString, Slip10, Slip10Curve, slip10CurveFromString, Slip10RawIndex, Slip10Result, stringToPath, } from "./slip10"; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js new file mode 100644 index 00000000..efe4954e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = exports.Slip10 = exports.pathToString = exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = exports.Secp256k1Signature = exports.ExtendedSecp256k1Signature = exports.Secp256k1 = exports.ripemd160 = exports.Ripemd160 = exports.Random = exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.isArgon2idOptions = exports.Ed25519Keypair = exports.Ed25519 = exports.Argon2id = exports.keccak256 = exports.Keccak256 = exports.Hmac = exports.EnglishMnemonic = exports.Bip39 = void 0; +var bip39_1 = require("./bip39"); +Object.defineProperty(exports, "Bip39", { enumerable: true, get: function () { return bip39_1.Bip39; } }); +Object.defineProperty(exports, "EnglishMnemonic", { enumerable: true, get: function () { return bip39_1.EnglishMnemonic; } }); +var hmac_1 = require("./hmac"); +Object.defineProperty(exports, "Hmac", { enumerable: true, get: function () { return hmac_1.Hmac; } }); +var keccak_1 = require("./keccak"); +Object.defineProperty(exports, "Keccak256", { enumerable: true, get: function () { return keccak_1.Keccak256; } }); +Object.defineProperty(exports, "keccak256", { enumerable: true, get: function () { return keccak_1.keccak256; } }); +var libsodium_1 = require("./libsodium"); +Object.defineProperty(exports, "Argon2id", { enumerable: true, get: function () { return libsodium_1.Argon2id; } }); +Object.defineProperty(exports, "Ed25519", { enumerable: true, get: function () { return libsodium_1.Ed25519; } }); +Object.defineProperty(exports, "Ed25519Keypair", { enumerable: true, get: function () { return libsodium_1.Ed25519Keypair; } }); +Object.defineProperty(exports, "isArgon2idOptions", { enumerable: true, get: function () { return libsodium_1.isArgon2idOptions; } }); +Object.defineProperty(exports, "xchacha20NonceLength", { enumerable: true, get: function () { return libsodium_1.xchacha20NonceLength; } }); +Object.defineProperty(exports, "Xchacha20poly1305Ietf", { enumerable: true, get: function () { return libsodium_1.Xchacha20poly1305Ietf; } }); +var random_1 = require("./random"); +Object.defineProperty(exports, "Random", { enumerable: true, get: function () { return random_1.Random; } }); +var ripemd_1 = require("./ripemd"); +Object.defineProperty(exports, "Ripemd160", { enumerable: true, get: function () { return ripemd_1.Ripemd160; } }); +Object.defineProperty(exports, "ripemd160", { enumerable: true, get: function () { return ripemd_1.ripemd160; } }); +var secp256k1_1 = require("./secp256k1"); +Object.defineProperty(exports, "Secp256k1", { enumerable: true, get: function () { return secp256k1_1.Secp256k1; } }); +var secp256k1signature_1 = require("./secp256k1signature"); +Object.defineProperty(exports, "ExtendedSecp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.ExtendedSecp256k1Signature; } }); +Object.defineProperty(exports, "Secp256k1Signature", { enumerable: true, get: function () { return secp256k1signature_1.Secp256k1Signature; } }); +var sha_1 = require("./sha"); +Object.defineProperty(exports, "Sha256", { enumerable: true, get: function () { return sha_1.Sha256; } }); +Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha_1.sha256; } }); +Object.defineProperty(exports, "Sha512", { enumerable: true, get: function () { return sha_1.Sha512; } }); +Object.defineProperty(exports, "sha512", { enumerable: true, get: function () { return sha_1.sha512; } }); +var slip10_1 = require("./slip10"); +Object.defineProperty(exports, "pathToString", { enumerable: true, get: function () { return slip10_1.pathToString; } }); +Object.defineProperty(exports, "Slip10", { enumerable: true, get: function () { return slip10_1.Slip10; } }); +Object.defineProperty(exports, "Slip10Curve", { enumerable: true, get: function () { return slip10_1.Slip10Curve; } }); +Object.defineProperty(exports, "slip10CurveFromString", { enumerable: true, get: function () { return slip10_1.slip10CurveFromString; } }); +Object.defineProperty(exports, "Slip10RawIndex", { enumerable: true, get: function () { return slip10_1.Slip10RawIndex; } }); +Object.defineProperty(exports, "stringToPath", { enumerable: true, get: function () { return slip10_1.stringToPath; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js.map new file mode 100644 index 00000000..4da9657e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAAxC,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAQqB;AAPnB,qGAAA,QAAQ,OAAA;AAER,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AAEvB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAgD;AAAvC,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC7B,yCAA0D;AAAjD,sGAAA,SAAS,OAAA;AAClB,2DAAsF;AAA7E,gIAAA,0BAA0B,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AACvD,6BAAuD;AAA9C,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,6FAAA,MAAM,OAAA;AACvC,mCASkB;AAPhB,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,qGAAA,WAAW,OAAA;AACX,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AAEd,sGAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.d.ts new file mode 100644 index 00000000..9177b27c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Keccak256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Keccak256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +export declare function keccak256(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js new file mode 100644 index 00000000..a652e615 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.keccak256 = exports.Keccak256 = void 0; +const sha3_1 = require("@noble/hashes/sha3"); +const utils_1 = require("./utils"); +class Keccak256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha3_1.keccak_256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Keccak256 = Keccak256; +/** Convenience function equivalent to `new Keccak256(data).digest()` */ +function keccak256(data) { + return new Keccak256(data).digest(); +} +exports.keccak256 = keccak256; +//# sourceMappingURL=keccak.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js.map new file mode 100644 index 00000000..3f5af6ef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/keccak.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keccak.js","sourceRoot":"","sources":["../src/keccak.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,iBAAU,CAAC,MAAM,EAAE,CAAC;QAG1C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.d.ts new file mode 100644 index 00000000..1dcb7c4a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.d.ts @@ -0,0 +1,52 @@ +export interface Argon2idOptions { + /** Output length in bytes */ + readonly outputLength: number; + /** + * An integer between 1 and 4294967295 representing the computational difficulty. + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly opsLimit: number; + /** + * Memory limit measured in KiB (like argon2 command line tool) + * + * Note: only approximately 16 MiB of memory are available using the non-sumo version of libsodium.js + * + * @see https://libsodium.gitbook.io/doc/password_hashing/default_phf#key-derivation + */ + readonly memLimitKib: number; +} +export declare function isArgon2idOptions(thing: unknown): thing is Argon2idOptions; +export declare class Argon2id { + static execute(password: string, salt: Uint8Array, options: Argon2idOptions): Promise; +} +export declare class Ed25519Keypair { + static fromLibsodiumPrivkey(libsodiumPrivkey: Uint8Array): Ed25519Keypair; + readonly privkey: Uint8Array; + readonly pubkey: Uint8Array; + constructor(privkey: Uint8Array, pubkey: Uint8Array); + toLibsodiumPrivkey(): Uint8Array; +} +export declare class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static makeKeypair(seed: Uint8Array): Promise; + static createSignature(message: Uint8Array, keyPair: Ed25519Keypair): Promise; + static verifySignature(signature: Uint8Array, message: Uint8Array, pubkey: Uint8Array): Promise; +} +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +export declare const xchacha20NonceLength = 24; +export declare class Xchacha20poly1305Ietf { + static encrypt(message: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; + static decrypt(ciphertext: Uint8Array, key: Uint8Array, nonce: Uint8Array): Promise; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js new file mode 100644 index 00000000..401ba569 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js @@ -0,0 +1,98 @@ +"use strict"; +// Keep all classes requiring libsodium-js in one file as having multiple +// requiring of the libsodium-wrappers module currently crashes browsers +// +// libsodium.js API: https://gist.github.com/webmaster128/b2dbe6d54d36dd168c9fabf441b9b09c +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Xchacha20poly1305Ietf = exports.xchacha20NonceLength = exports.Ed25519 = exports.Ed25519Keypair = exports.Argon2id = exports.isArgon2idOptions = void 0; +const utils_1 = require("@cosmjs/utils"); +// Using crypto_pwhash requires sumo. Once we migrate to a standalone +// Argon2 implementation, we can use the normal libsodium-wrappers +// again: https://github.com/cosmos/cosmjs/issues/1031 +const libsodium_wrappers_sumo_1 = __importDefault(require("libsodium-wrappers-sumo")); +function isArgon2idOptions(thing) { + if (!(0, utils_1.isNonNullObject)(thing)) + return false; + if (typeof thing.outputLength !== "number") + return false; + if (typeof thing.opsLimit !== "number") + return false; + if (typeof thing.memLimitKib !== "number") + return false; + return true; +} +exports.isArgon2idOptions = isArgon2idOptions; +class Argon2id { + static async execute(password, salt, options) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_pwhash(options.outputLength, password, salt, // libsodium only supports 16 byte salts and will throw when you don't respect that + options.opsLimit, options.memLimitKib * 1024, libsodium_wrappers_sumo_1.default.crypto_pwhash_ALG_ARGON2ID13); + } +} +exports.Argon2id = Argon2id; +class Ed25519Keypair { + // a libsodium privkey has the format ` + ` + static fromLibsodiumPrivkey(libsodiumPrivkey) { + if (libsodiumPrivkey.length !== 64) { + throw new Error(`Unexpected key length ${libsodiumPrivkey.length}. Must be 64.`); + } + return new Ed25519Keypair(libsodiumPrivkey.slice(0, 32), libsodiumPrivkey.slice(32, 64)); + } + constructor(privkey, pubkey) { + this.privkey = privkey; + this.pubkey = pubkey; + } + toLibsodiumPrivkey() { + return new Uint8Array([...this.privkey, ...this.pubkey]); + } +} +exports.Ed25519Keypair = Ed25519Keypair; +class Ed25519 { + /** + * Generates a keypair deterministically from a given 32 bytes seed. + * + * This seed equals the Ed25519 private key. + * For implementation details see crypto_sign_seed_keypair in + * https://download.libsodium.org/doc/public-key_cryptography/public-key_signatures.html + * and diagram on https://blog.mozilla.org/warner/2011/11/29/ed25519-keys/ + */ + static async makeKeypair(seed) { + await libsodium_wrappers_sumo_1.default.ready; + const keypair = libsodium_wrappers_sumo_1.default.crypto_sign_seed_keypair(seed); + return Ed25519Keypair.fromLibsodiumPrivkey(keypair.privateKey); + } + static async createSignature(message, keyPair) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_detached(message, keyPair.toLibsodiumPrivkey()); + } + static async verifySignature(signature, message, pubkey) { + await libsodium_wrappers_sumo_1.default.ready; + return libsodium_wrappers_sumo_1.default.crypto_sign_verify_detached(signature, message, pubkey); + } +} +exports.Ed25519 = Ed25519; +/** + * Nonce length in bytes for all flavours of XChaCha20. + * + * @see https://libsodium.gitbook.io/doc/advanced/stream_ciphers/xchacha20#notes + */ +exports.xchacha20NonceLength = 24; +class Xchacha20poly1305Ietf { + static async encrypt(message, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_encrypt(message, additionalData, null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + nonce, key); + } + static async decrypt(ciphertext, key, nonce) { + await libsodium_wrappers_sumo_1.default.ready; + const additionalData = null; + return libsodium_wrappers_sumo_1.default.crypto_aead_xchacha20poly1305_ietf_decrypt(null, // secret nonce: unused and should be null (https://download.libsodium.org/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction) + ciphertext, additionalData, nonce, key); + } +} +exports.Xchacha20poly1305Ietf = Xchacha20poly1305Ietf; +//# sourceMappingURL=libsodium.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js.map new file mode 100644 index 00000000..c77815ae --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/libsodium.js.map @@ -0,0 +1 @@ +{"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../src/libsodium.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts new file mode 100644 index 00000000..cf062c34 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.d.ts @@ -0,0 +1,20 @@ +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +export declare function getNodeCrypto(): Promise; +export declare function getSubtle(): Promise; +export declare function pbkdf2Sha512Subtle(subtle: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +export declare function pbkdf2Sha512NodeCrypto(nodeCrypto: any, secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +export declare function pbkdf2Sha512Noble(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +export declare function pbkdf2Sha512(secret: Uint8Array, salt: Uint8Array, iterations: number, keylen: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js new file mode 100644 index 00000000..23a00d1e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js @@ -0,0 +1,129 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pbkdf2Sha512 = exports.pbkdf2Sha512Noble = exports.pbkdf2Sha512NodeCrypto = exports.pbkdf2Sha512Subtle = exports.getSubtle = exports.getNodeCrypto = void 0; +const utils_1 = require("@cosmjs/utils"); +const pbkdf2_1 = require("@noble/hashes/pbkdf2"); +const sha512_1 = require("@noble/hashes/sha512"); +/** + * Returns the Node.js crypto module when available and `undefined` + * otherwise. + * + * Detects an unimplemented fallback module from Webpack 5 and returns + * `undefined` in that case. + */ +async function getNodeCrypto() { + try { + const nodeCrypto = await Promise.resolve().then(() => __importStar(require("crypto"))); + // We get `Object{default: Object{}}` as a fallback when using + // `crypto: false` in Webpack 5, which we interprete as unavailable. + if (typeof nodeCrypto === "object" && Object.keys(nodeCrypto).length <= 1) { + return undefined; + } + return nodeCrypto; + } + catch { + return undefined; + } +} +exports.getNodeCrypto = getNodeCrypto; +async function getSubtle() { + // From Node.js 15 onwards, webcrypto is available in globalThis. + // In version 15 and 16 this was stored under the webcrypto key. + // With Node.js 17 it was moved to the same locations where browsers + // make it available. + // Loading `require("crypto")` here seems unnecessary since it only + // causes issues with bundlers and does not increase compatibility. + // Browsers and Node.js 17+ + let subtle = globalThis?.crypto?.subtle; + // Node.js 15+ + if (!subtle) + subtle = globalThis?.crypto?.webcrypto?.subtle; + return subtle; +} +exports.getSubtle = getSubtle; +async function pbkdf2Sha512Subtle( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +subtle, secret, salt, iterations, keylen) { + (0, utils_1.assert)(subtle, "Argument subtle is falsy"); + (0, utils_1.assert)(typeof subtle === "object", "Argument subtle is not of type object"); + (0, utils_1.assert)(typeof subtle.importKey === "function", "subtle.importKey is not a function"); + (0, utils_1.assert)(typeof subtle.deriveBits === "function", "subtle.deriveBits is not a function"); + return subtle.importKey("raw", secret, { name: "PBKDF2" }, false, ["deriveBits"]).then((key) => subtle + .deriveBits({ + name: "PBKDF2", + salt: salt, + iterations: iterations, + hash: { name: "SHA-512" }, + }, key, keylen * 8) + .then((buffer) => new Uint8Array(buffer))); +} +exports.pbkdf2Sha512Subtle = pbkdf2Sha512Subtle; +/** + * Implements pbkdf2-sha512 using the Node.js crypro module (`import "crypto"`). + * This does not use subtle from [Crypto](https://developer.mozilla.org/en-US/docs/Web/API/Crypto). + */ +async function pbkdf2Sha512NodeCrypto( +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +nodeCrypto, secret, salt, iterations, keylen) { + (0, utils_1.assert)(nodeCrypto, "Argument nodeCrypto is falsy"); + (0, utils_1.assert)(typeof nodeCrypto === "object", "Argument nodeCrypto is not of type object"); + (0, utils_1.assert)(typeof nodeCrypto.pbkdf2 === "function", "nodeCrypto.pbkdf2 is not a function"); + return new Promise((resolve, reject) => { + nodeCrypto.pbkdf2(secret, salt, iterations, keylen, "sha512", (error, result) => { + if (error) { + reject(error); + } + else { + resolve(Uint8Array.from(result)); + } + }); + }); +} +exports.pbkdf2Sha512NodeCrypto = pbkdf2Sha512NodeCrypto; +async function pbkdf2Sha512Noble(secret, salt, iterations, keylen) { + return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, secret, salt, { c: iterations, dkLen: keylen }); +} +exports.pbkdf2Sha512Noble = pbkdf2Sha512Noble; +/** + * A pbkdf2 implementation for BIP39. This is not exported at package level and thus a private API. + */ +async function pbkdf2Sha512(secret, salt, iterations, keylen) { + const subtle = await getSubtle(); + if (subtle) { + return pbkdf2Sha512Subtle(subtle, secret, salt, iterations, keylen); + } + else { + const nodeCrypto = await getNodeCrypto(); + if (nodeCrypto) { + return pbkdf2Sha512NodeCrypto(nodeCrypto, secret, salt, iterations, keylen); + } + else { + return pbkdf2Sha512Noble(secret, salt, iterations, keylen); + } + } +} +exports.pbkdf2Sha512 = pbkdf2Sha512; +//# sourceMappingURL=pbkdf2.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js.map new file mode 100644 index 00000000..b4b0b8c0 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/pbkdf2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../src/pbkdf2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.d.ts new file mode 100644 index 00000000..71ac08a7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.d.ts @@ -0,0 +1,6 @@ +export declare class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count: number): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js new file mode 100644 index 00000000..26ca2488 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Random = void 0; +class Random { + /** + * Returns `count` cryptographically secure random bytes + */ + static getBytes(count) { + try { + const globalObject = typeof window === "object" ? window : self; + const cryptoApi = typeof globalObject.crypto !== "undefined" ? globalObject.crypto : globalObject.msCrypto; + const out = new Uint8Array(count); + cryptoApi.getRandomValues(out); + return out; + } + catch { + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const crypto = require("crypto"); + return new Uint8Array([...crypto.randomBytes(count)]); + } + catch { + throw new Error("No secure random number generator found"); + } + } + } +} +exports.Random = Random; +//# sourceMappingURL=random.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js.map new file mode 100644 index 00000000..5dde5cf6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/random.js.map @@ -0,0 +1 @@ +{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IACjB;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,IAAI;YACF,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,SAAS,GACb,OAAO,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YAE3F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;SACZ;QAAC,MAAM;YACN,IAAI;gBACF,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvD;YAAC,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;CACF;AAvBD,wBAuBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.d.ts new file mode 100644 index 00000000..8bd6acac --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.d.ts @@ -0,0 +1,10 @@ +import { HashFunction } from "./hash"; +export declare class Ripemd160 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Ripemd160; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +export declare function ripemd160(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js new file mode 100644 index 00000000..f8240a8d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = exports.Ripemd160 = void 0; +const ripemd160_1 = require("@noble/hashes/ripemd160"); +const utils_1 = require("./utils"); +class Ripemd160 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = ripemd160_1.ripemd160.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Ripemd160 = Ripemd160; +/** Convenience function equivalent to `new Ripemd160(data).digest()` */ +function ripemd160(data) { + return new Ripemd160(data).digest(); +} +exports.ripemd160 = ripemd160; +//# sourceMappingURL=ripemd.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js.map new file mode 100644 index 00000000..2849280b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/ripemd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd.js","sourceRoot":"","sources":["../src/ripemd.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,mCAA2C;AAE3C,MAAa,SAAS;IAKpB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,qBAAc,CAAC,MAAM,EAAE,CAAC;QAG9C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,8BAmBC;AAED,wEAAwE;AACxE,SAAgB,SAAS,CAAC,IAAgB;IACxC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACtC,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.d.ts new file mode 100644 index 00000000..a86f5196 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.d.ts @@ -0,0 +1,45 @@ +import { ExtendedSecp256k1Signature, Secp256k1Signature } from "./secp256k1signature"; +export interface Secp256k1Keypair { + /** A 32 byte private key */ + readonly pubkey: Uint8Array; + /** + * A raw secp256k1 public key. + * + * The type itself does not give you any guarantee if this is + * compressed or uncompressed. If you are unsure where the data + * is coming from, use `Secp256k1.compressPubkey` or + * `Secp256k1.uncompressPubkey` (both idempotent) before processing it. + */ + readonly privkey: Uint8Array; +} +export declare class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static makeKeypair(privkey: Uint8Array): Promise; + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static createSignature(messageHash: Uint8Array, privkey: Uint8Array): Promise; + static verifySignature(signature: Secp256k1Signature, messageHash: Uint8Array, pubkey: Uint8Array): Promise; + static recoverPubkey(signature: ExtendedSecp256k1Signature, messageHash: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey: Uint8Array): Uint8Array; + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey: Uint8Array): Uint8Array; + static trimRecoveryByte(signature: Uint8Array): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js new file mode 100644 index 00000000..b045aafc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js @@ -0,0 +1,142 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Secp256k1 = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const secp256k1signature_1 = require("./secp256k1signature"); +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +const secp256k1N = new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", "hex"); +class Secp256k1 { + /** + * Takes a 32 byte private key and returns a privkey/pubkey pair. + * + * The resulting pubkey is uncompressed. For the use in Cosmos it should + * be compressed first using `Secp256k1.compressPubkey`. + */ + static async makeKeypair(privkey) { + if (privkey.length !== 32) { + // is this check missing in secp256k1.validatePrivateKey? + // https://github.com/bitjson/bitcoin-ts/issues/4 + throw new Error("input data is not a valid secp256k1 private key"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + if (keypair.validate().result !== true) { + throw new Error("input data is not a valid secp256k1 private key"); + } + // range test that is not part of the elliptic implementation + const privkeyAsBigInteger = new bn_js_1.default(privkey); + if (privkeyAsBigInteger.gte(secp256k1N)) { + // not strictly smaller than N + throw new Error("input data is not a valid secp256k1 private key"); + } + const out = { + privkey: (0, encoding_1.fromHex)(keypair.getPrivate("hex")), + // encodes uncompressed as + // - 1-byte prefix "04" + // - 32-byte x coordinate + // - 32-byte y coordinate + pubkey: Uint8Array.from(keypair.getPublic("array")), + }; + return out; + } + /** + * Creates a signature that is + * - deterministic (RFC 6979) + * - lowS signature + * - DER encoded + */ + static async createSignature(messageHash, privkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPrivate(privkey); + // the `canonical` option ensures creation of lowS signature representations + const { r, s, recoveryParam } = keypair.sign(messageHash, { canonical: true }); + if (typeof recoveryParam !== "number") + throw new Error("Recovery param missing"); + return new secp256k1signature_1.ExtendedSecp256k1Signature(Uint8Array.from(r.toArray()), Uint8Array.from(s.toArray()), recoveryParam); + } + static async verifySignature(signature, messageHash, pubkey) { + if (messageHash.length === 0) { + throw new Error("Message hash must not be empty"); + } + if (messageHash.length > 32) { + throw new Error("Message hash length must not exceed 32 bytes"); + } + const keypair = secp256k1.keyFromPublic(pubkey); + // From https://github.com/indutny/elliptic: + // + // Sign the message's hash (input must be an array, or a hex-string) + // + // Signature MUST be either: + // 1) DER-encoded signature as hex-string; or + // 2) DER-encoded signature as buffer; or + // 3) object with two hex-string properties (r and s); or + // 4) object with two buffer properties (r and s) + // + // Uint8Array is not a Buffer, but elliptic seems to be happy with the interface + // common to both types. Uint8Array is not an array of ints but the interface is + // similar + try { + return keypair.verify(messageHash, signature.toDer()); + } + catch (error) { + return false; + } + } + static recoverPubkey(signature, messageHash) { + const signatureForElliptic = { r: (0, encoding_1.toHex)(signature.r()), s: (0, encoding_1.toHex)(signature.s()) }; + const point = secp256k1.recoverPubKey(messageHash, signatureForElliptic, signature.recovery); + const keypair = secp256k1.keyFromPublic(point); + return (0, encoding_1.fromHex)(keypair.getPublic(false, "hex")); + } + /** + * Takes a compressed or uncompressed pubkey and return a compressed one. + * + * This function is idempotent. + */ + static compressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return pubkey; + case 65: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(true, "array")); + default: + throw new Error("Invalid pubkey length"); + } + } + /** + * Takes a compressed or uncompressed pubkey and returns an uncompressed one. + * + * This function is idempotent. + */ + static uncompressPubkey(pubkey) { + switch (pubkey.length) { + case 33: + return Uint8Array.from(secp256k1.keyFromPublic(pubkey).getPublic(false, "array")); + case 65: + return pubkey; + default: + throw new Error("Invalid pubkey length"); + } + } + static trimRecoveryByte(signature) { + switch (signature.length) { + case 64: + return signature; + case 65: + return signature.slice(0, 64); + default: + throw new Error("Invalid signature length"); + } + } +} +exports.Secp256k1 = Secp256k1; +//# sourceMappingURL=secp256k1.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js.map new file mode 100644 index 00000000..6c4ee847 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../src/secp256k1.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts new file mode 100644 index 00000000..8d914b18 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.d.ts @@ -0,0 +1,35 @@ +export declare class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data: Uint8Array): Secp256k1Signature; + static fromDer(data: Uint8Array): Secp256k1Signature; + private readonly data; + constructor(r: Uint8Array, s: Uint8Array); + r(length?: number): Uint8Array; + s(length?: number): Uint8Array; + toFixedLength(): Uint8Array; + toDer(): Uint8Array; +} +/** + * A Secp256k1Signature plus the recovery parameter + */ +export declare class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data: Uint8Array): ExtendedSecp256k1Signature; + readonly recovery: number; + constructor(r: Uint8Array, s: Uint8Array, recovery: number); + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength(): Uint8Array; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js new file mode 100644 index 00000000..32b2c2f6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js @@ -0,0 +1,153 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExtendedSecp256k1Signature = exports.Secp256k1Signature = void 0; +function trimLeadingNullBytes(inData) { + let numberOfLeadingNullBytes = 0; + for (const byte of inData) { + if (byte === 0x00) { + numberOfLeadingNullBytes++; + } + else { + break; + } + } + return inData.slice(numberOfLeadingNullBytes); +} +const derTagInteger = 0x02; +class Secp256k1Signature { + /** + * Takes the pair of integers (r, s) as 2x32 byte of binary data. + * + * Note: This is the format Cosmos SDK uses natively. + * + * @param data a 64 byte value containing integers r and s. + */ + static fromFixedLength(data) { + if (data.length !== 64) { + throw new Error(`Got invalid data length: ${data.length}. Expected 2x 32 bytes for the pair (r, s)`); + } + return new Secp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64))); + } + static fromDer(data) { + let pos = 0; + if (data[pos++] !== 0x30) { + throw new Error("Prefix 0x30 expected"); + } + const bodyLength = data[pos++]; + if (data.length - pos !== bodyLength) { + throw new Error("Data length mismatch detected"); + } + // r + const rTag = data[pos++]; + if (rTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const rLength = data[pos++]; + if (rLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const rData = data.slice(pos, pos + rLength); + pos += rLength; + // s + const sTag = data[pos++]; + if (sTag !== derTagInteger) { + throw new Error("INTEGER tag expected"); + } + const sLength = data[pos++]; + if (sLength >= 0x80) { + throw new Error("Decoding length values above 127 not supported"); + } + const sData = data.slice(pos, pos + sLength); + pos += sLength; + return new Secp256k1Signature( + // r/s data can contain leading 0 bytes to express integers being non-negative in DER + trimLeadingNullBytes(rData), trimLeadingNullBytes(sData)); + } + constructor(r, s) { + if (r.length > 32 || r.length === 0 || r[0] === 0x00) { + throw new Error("Unsigned integer r must be encoded as unpadded big endian."); + } + if (s.length > 32 || s.length === 0 || s[0] === 0x00) { + throw new Error("Unsigned integer s must be encoded as unpadded big endian."); + } + this.data = { + r: r, + s: s, + }; + } + r(length) { + if (length === undefined) { + return this.data.r; + } + else { + const paddingLength = length - this.data.r.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter r"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.r]); + } + } + s(length) { + if (length === undefined) { + return this.data.s; + } + else { + const paddingLength = length - this.data.s.length; + if (paddingLength < 0) { + throw new Error("Length too small to hold parameter s"); + } + const padding = new Uint8Array(paddingLength); + return new Uint8Array([...padding, ...this.data.s]); + } + } + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32)]); + } + toDer() { + // DER supports negative integers but our data is unsigned. Thus we need to prepend + // a leading 0 byte when the higest bit is set to differentiate nagative values + const rEncoded = this.data.r[0] >= 0x80 ? new Uint8Array([0, ...this.data.r]) : this.data.r; + const sEncoded = this.data.s[0] >= 0x80 ? new Uint8Array([0, ...this.data.s]) : this.data.s; + const rLength = rEncoded.length; + const sLength = sEncoded.length; + const data = new Uint8Array([derTagInteger, rLength, ...rEncoded, derTagInteger, sLength, ...sEncoded]); + return new Uint8Array([0x30, data.length, ...data]); + } +} +exports.Secp256k1Signature = Secp256k1Signature; +/** + * A Secp256k1Signature plus the recovery parameter + */ +class ExtendedSecp256k1Signature extends Secp256k1Signature { + /** + * Decode extended signature from the simple fixed length encoding + * described in toFixedLength(). + */ + static fromFixedLength(data) { + if (data.length !== 65) { + throw new Error(`Got invalid data length ${data.length}. Expected 32 + 32 + 1`); + } + return new ExtendedSecp256k1Signature(trimLeadingNullBytes(data.slice(0, 32)), trimLeadingNullBytes(data.slice(32, 64)), data[64]); + } + constructor(r, s, recovery) { + super(r, s); + if (!Number.isInteger(recovery)) { + throw new Error("The recovery parameter must be an integer."); + } + if (recovery < 0 || recovery > 4) { + throw new Error("The recovery parameter must be one of 0, 1, 2, 3."); + } + this.recovery = recovery; + } + /** + * A simple custom encoding that encodes the extended signature as + * r (32 bytes) | s (32 bytes) | recovery param (1 byte) + * where | denotes concatenation of bonary data. + */ + toFixedLength() { + return new Uint8Array([...this.r(32), ...this.s(32), this.recovery]); + } +} +exports.ExtendedSecp256k1Signature = ExtendedSecp256k1Signature; +//# sourceMappingURL=secp256k1signature.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map new file mode 100644 index 00000000..fbd7aa0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/secp256k1signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secp256k1signature.js","sourceRoot":"","sources":["../src/secp256k1signature.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.d.ts new file mode 100644 index 00000000..dbe5bd84 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.d.ts @@ -0,0 +1,19 @@ +import { HashFunction } from "./hash"; +export declare class Sha256 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha256; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha256(data).digest()` */ +export declare function sha256(data: Uint8Array): Uint8Array; +export declare class Sha512 implements HashFunction { + readonly blockSize: number; + private readonly impl; + constructor(firstData?: Uint8Array); + update(data: Uint8Array): Sha512; + digest(): Uint8Array; +} +/** Convenience function equivalent to `new Sha512(data).digest()` */ +export declare function sha512(data: Uint8Array): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js new file mode 100644 index 00000000..0eb21cef --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha512 = exports.Sha512 = exports.sha256 = exports.Sha256 = void 0; +const sha256_1 = require("@noble/hashes/sha256"); +const sha512_1 = require("@noble/hashes/sha512"); +const utils_1 = require("./utils"); +class Sha256 { + constructor(firstData) { + this.blockSize = 512 / 8; + this.impl = sha256_1.sha256.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha256 = Sha256; +/** Convenience function equivalent to `new Sha256(data).digest()` */ +function sha256(data) { + return new Sha256(data).digest(); +} +exports.sha256 = sha256; +class Sha512 { + constructor(firstData) { + this.blockSize = 1024 / 8; + this.impl = sha512_1.sha512.create(); + if (firstData) { + this.update(firstData); + } + } + update(data) { + this.impl.update((0, utils_1.toRealUint8Array)(data)); + return this; + } + digest() { + return this.impl.digest(); + } +} +exports.Sha512 = Sha512; +/** Convenience function equivalent to `new Sha512(data).digest()` */ +function sha512(data) { + return new Sha512(data).digest(); +} +exports.sha512 = sha512; +//# sourceMappingURL=sha.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js.map new file mode 100644 index 00000000..7bfcd3aa --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/sha.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,iDAA6D;AAG7D,mCAA2C;AAE3C,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAEnB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC;AAED,MAAa,MAAM;IAKjB,YAAmB,SAAsB;QAJzB,cAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAEpB,SAAI,GAAG,eAAW,CAAC,MAAM,EAAE,CAAC;QAG3C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAnBD,wBAmBC;AAED,qEAAqE;AACrE,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC;AAFD,wBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.d.ts new file mode 100644 index 00000000..11687600 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.d.ts @@ -0,0 +1,67 @@ +import { Uint32 } from "@cosmjs/math"; +export interface Slip10Result { + readonly chainCode: Uint8Array; + readonly privkey: Uint8Array; +} +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +export declare enum Slip10Curve { + Secp256k1 = "Bitcoin seed", + Ed25519 = "ed25519 seed" +} +/** + * Reverse mapping of Slip10Curve + */ +export declare function slip10CurveFromString(curveString: string): Slip10Curve; +export declare class Slip10RawIndex extends Uint32 { + static hardened(hardenedIndex: number): Slip10RawIndex; + static normal(normalIndex: number): Slip10RawIndex; + isHardened(): boolean; +} +/** + * An array of raw SLIP10 indices. + * + * This can be constructed via string parsing: + * + * ```ts + * import { stringToPath } from "@cosmjs/crypto"; + * + * const path = stringToPath("m/0'/1/2'/2/1000000000"); + * ``` + * + * or manually: + * + * ```ts + * import { HdPath, Slip10RawIndex } from "@cosmjs/crypto"; + * + * // m/0'/1/2'/2/1000000000 + * const path: HdPath = [ + * Slip10RawIndex.hardened(0), + * Slip10RawIndex.normal(1), + * Slip10RawIndex.hardened(2), + * Slip10RawIndex.normal(2), + * Slip10RawIndex.normal(1000000000), + * ]; + * ``` + */ +export type HdPath = readonly Slip10RawIndex[]; +export declare class Slip10 { + static derivePath(curve: Slip10Curve, seed: Uint8Array, path: HdPath): Slip10Result; + private static master; + private static child; + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + private static serializedPoint; + private static childImpl; + private static isZero; + private static isGteN; + private static n; +} +export declare function pathToString(path: HdPath): string; +export declare function stringToPath(input: string): HdPath; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js new file mode 100644 index 00000000..713cfdba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js @@ -0,0 +1,186 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringToPath = exports.pathToString = exports.Slip10 = exports.Slip10RawIndex = exports.slip10CurveFromString = exports.Slip10Curve = void 0; +const encoding_1 = require("@cosmjs/encoding"); +const math_1 = require("@cosmjs/math"); +const bn_js_1 = __importDefault(require("bn.js")); +const elliptic_1 = __importDefault(require("elliptic")); +const hmac_1 = require("./hmac"); +const sha_1 = require("./sha"); +/** + * Raw values must match the curve string in SLIP-0010 master key generation + * + * @see https://github.com/satoshilabs/slips/blob/master/slip-0010.md#master-key-generation + */ +var Slip10Curve; +(function (Slip10Curve) { + Slip10Curve["Secp256k1"] = "Bitcoin seed"; + Slip10Curve["Ed25519"] = "ed25519 seed"; +})(Slip10Curve = exports.Slip10Curve || (exports.Slip10Curve = {})); +/** + * Reverse mapping of Slip10Curve + */ +function slip10CurveFromString(curveString) { + switch (curveString) { + case Slip10Curve.Ed25519: + return Slip10Curve.Ed25519; + case Slip10Curve.Secp256k1: + return Slip10Curve.Secp256k1; + default: + throw new Error(`Unknown curve string: '${curveString}'`); + } +} +exports.slip10CurveFromString = slip10CurveFromString; +class Slip10RawIndex extends math_1.Uint32 { + static hardened(hardenedIndex) { + return new Slip10RawIndex(hardenedIndex + 2 ** 31); + } + static normal(normalIndex) { + return new Slip10RawIndex(normalIndex); + } + isHardened() { + return this.data >= 2 ** 31; + } +} +exports.Slip10RawIndex = Slip10RawIndex; +const secp256k1 = new elliptic_1.default.ec("secp256k1"); +// Universal private key derivation accoring to +// https://github.com/satoshilabs/slips/blob/master/slip-0010.md +class Slip10 { + static derivePath(curve, seed, path) { + let result = this.master(curve, seed); + for (const rawIndex of path) { + result = this.child(curve, result.privkey, result.chainCode, rawIndex); + } + return result; + } + static master(curve, seed) { + const i = new hmac_1.Hmac(sha_1.Sha512, (0, encoding_1.toAscii)(curve)).update(seed).digest(); + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + if (curve !== Slip10Curve.Ed25519 && (this.isZero(il) || this.isGteN(curve, il))) { + return this.master(curve, i); + } + return { + chainCode: ir, + privkey: il, + }; + } + static child(curve, parentPrivkey, parentChainCode, rawIndex) { + let i; + if (rawIndex.isHardened()) { + const payload = new Uint8Array([0x00, ...parentPrivkey, ...rawIndex.toBytesBigEndian()]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(payload).digest(); + } + else { + if (curve === Slip10Curve.Ed25519) { + throw new Error("Normal keys are not allowed with ed25519"); + } + else { + // Step 1 of https://github.com/satoshilabs/slips/blob/master/slip-0010.md#private-parent-key--private-child-key + // Calculate I = HMAC-SHA512(Key = c_par, Data = ser_P(point(k_par)) || ser_32(i)). + // where the functions point() and ser_p() are defined in BIP-0032 + const data = new Uint8Array([ + ...Slip10.serializedPoint(curve, new bn_js_1.default(parentPrivkey)), + ...rawIndex.toBytesBigEndian(), + ]); + i = new hmac_1.Hmac(sha_1.Sha512, parentChainCode).update(data).digest(); + } + } + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i); + } + /** + * Implementation of ser_P(point(k_par)) from BIP-0032 + * + * @see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki + */ + static serializedPoint(curve, p) { + switch (curve) { + case Slip10Curve.Secp256k1: + return (0, encoding_1.fromHex)(secp256k1.g.mul(p).encodeCompressed("hex")); + default: + throw new Error("curve not supported"); + } + } + static childImpl(curve, parentPrivkey, parentChainCode, rawIndex, i) { + // step 2 (of the Private parent key → private child key algorithm) + const il = i.slice(0, 32); + const ir = i.slice(32, 64); + // step 3 + const returnChainCode = ir; + // step 4 + if (curve === Slip10Curve.Ed25519) { + return { + chainCode: returnChainCode, + privkey: il, + }; + } + // step 5 + const n = this.n(curve); + const returnChildKeyAsNumber = new bn_js_1.default(il).add(new bn_js_1.default(parentPrivkey)).mod(n); + const returnChildKey = Uint8Array.from(returnChildKeyAsNumber.toArray("be", 32)); + // step 6 + if (this.isGteN(curve, il) || this.isZero(returnChildKey)) { + const newI = new hmac_1.Hmac(sha_1.Sha512, parentChainCode) + .update(new Uint8Array([0x01, ...ir, ...rawIndex.toBytesBigEndian()])) + .digest(); + return this.childImpl(curve, parentPrivkey, parentChainCode, rawIndex, newI); + } + // step 7 + return { + chainCode: returnChainCode, + privkey: returnChildKey, + }; + } + static isZero(privkey) { + return privkey.every((byte) => byte === 0); + } + static isGteN(curve, privkey) { + const keyAsNumber = new bn_js_1.default(privkey); + return keyAsNumber.gte(this.n(curve)); + } + static n(curve) { + switch (curve) { + case Slip10Curve.Secp256k1: + return new bn_js_1.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16); + default: + throw new Error("curve not supported"); + } + } +} +exports.Slip10 = Slip10; +function pathToString(path) { + return path.reduce((current, component) => { + const componentString = component.isHardened() + ? `${component.toNumber() - 2 ** 31}'` + : component.toString(); + return current + "/" + componentString; + }, "m"); +} +exports.pathToString = pathToString; +function stringToPath(input) { + if (!input.startsWith("m")) + throw new Error("Path string must start with 'm'"); + let rest = input.slice(1); + const out = new Array(); + while (rest) { + const match = rest.match(/^\/([0-9]+)('?)/); + if (!match) + throw new Error("Syntax error while reading path component"); + const [fullMatch, numberString, apostrophe] = match; + const value = math_1.Uint53.fromString(numberString).toNumber(); + if (value >= 2 ** 31) + throw new Error("Component value too high. Must not exceed 2**31-1."); + if (apostrophe) + out.push(Slip10RawIndex.hardened(value)); + else + out.push(Slip10RawIndex.normal(value)); + rest = rest.slice(fullMatch.length); + } + return out; +} +exports.stringToPath = stringToPath; +//# sourceMappingURL=slip10.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js.map new file mode 100644 index 00000000..11c29d7b --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/slip10.js.map @@ -0,0 +1 @@ +{"version":3,"file":"slip10.js","sourceRoot":"","sources":["../src/slip10.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAoD;AACpD,uCAA8C;AAC9C,kDAAuB;AACvB,wDAAgC;AAEhC,iCAA8B;AAC9B,+BAA+B;AAO/B;;;;GAIG;AACH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,uCAAwB,CAAA;AAC1B,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,QAAQ,WAAW,EAAE;QACnB,KAAK,WAAW,CAAC,OAAO;YACtB,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,WAAW,CAAC,SAAS;YACxB,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,GAAG,CAAC,CAAC;KAC7D;AACH,CAAC;AATD,sDASC;AAED,MAAa,cAAe,SAAQ,aAAM;IACjC,MAAM,CAAC,QAAQ,CAAC,aAAqB;QAC1C,OAAO,IAAI,cAAc,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,WAAmB;QACtC,OAAO,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAZD,wCAYC;AA8BD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAE/C,+CAA+C;AAC/C,gEAAgE;AAChE,MAAa,MAAM;IACV,MAAM,CAAC,UAAU,CAAC,KAAkB,EAAE,IAAgB,EAAE,IAAY;QACzE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YAC3B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SACxE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,KAAkB,EAAE,IAAgB;QACxD,MAAM,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3B,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;YAChF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO;YACL,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAClB,KAAkB,EAClB,aAAyB,EACzB,eAA2B,EAC3B,QAAwB;QAExB,IAAI,CAAa,CAAC;QAClB,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;aAAM;YACL,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;iBAAM;gBACL,gHAAgH;gBAChH,mFAAmF;gBACnF,kEAAkE;gBAClE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;oBAC1B,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,eAAE,CAAC,aAAa,CAAC,CAAC;oBACvD,GAAG,QAAQ,CAAC,gBAAgB,EAAE;iBAC/B,CAAC,CAAC;gBACH,CAAC,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;aAC7D;SACF;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,eAAe,CAAC,KAAkB,EAAE,CAAK;QACtD,QAAQ,KAAK,EAAE;YACb,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAA,kBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,MAAM,CAAC,SAAS,CACtB,KAAkB,EAClB,aAAyB,EACzB,eAA2B,EAC3B,QAAwB,EACxB,CAAa;QAEb,mEAAmE;QAEnE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3B,SAAS;QACT,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,SAAS;QACT,IAAI,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE;YACjC,OAAO;gBACL,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QAED,SAAS;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,sBAAsB,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAEjF,SAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACzD,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,YAAM,EAAE,eAAe,CAAC;iBAC3C,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBACrE,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC9E;QAED,SAAS;QACT,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,OAAmB;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,KAAkB,EAAE,OAAmB;QAC3D,MAAM,WAAW,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,CAAC,CAAC,KAAkB;QACjC,QAAQ,KAAK,EAAE;YACb,KAAK,WAAW,CAAC,SAAS;gBACxB,OAAO,IAAI,eAAE,CAAC,kEAAkE,EAAE,EAAE,CAAC,CAAC;YACxF;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;IACH,CAAC;CACF;AA9HD,wBA8HC;AAED,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAU,EAAE;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,EAAE;YAC5C,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;YACtC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,OAAO,GAAG,GAAG,GAAG,eAAe,CAAC;IACzC,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC;AAPD,oCAOC;AAED,SAAgB,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/E,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAkB,CAAC;IACxC,OAAO,IAAI,EAAE;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;QACpD,MAAM,KAAK,GAAG,aAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5F,IAAI,UAAU;YAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;YACpD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACrC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAhBD,oCAgBC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.d.ts new file mode 100644 index 00000000..93de3b0a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.d.ts @@ -0,0 +1 @@ +export declare function toRealUint8Array(data: ArrayLike): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js new file mode 100644 index 00000000..2afcbabc --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRealUint8Array = void 0; +// See https://github.com/paulmillr/noble-hashes/issues/25 for why this is needed +function toRealUint8Array(data) { + if (data instanceof Uint8Array) + return data; + else + return Uint8Array.from(data); +} +exports.toRealUint8Array = toRealUint8Array; +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js.map new file mode 100644 index 00000000..153254de --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/build/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,IAAuB;IACtD,IAAI,IAAI,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;;QACvC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAHD,4CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/package.json b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/package.json new file mode 100644 index 00000000..58930008 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/crypto/package.json @@ -0,0 +1,91 @@ +{ + "name": "@cosmjs/crypto", + "version": "0.31.0", + "description": "Cryptography resources for blockchain projects", + "contributors": [ + "IOV SAS ", + "Simon Warta" + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/crypto" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "@cosmjs/encoding": "^0.31.0", + "@cosmjs/math": "^0.31.0", + "@cosmjs/utils": "^0.31.0", + "@noble/hashes": "^1", + "bn.js": "^5.2.0", + "elliptic": "^6.5.4", + "libsodium-wrappers-sumo": "^0.7.11" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/elliptic": "^6.4.14", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/README.md b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/README.md new file mode 100644 index 00000000..24a42e7f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/README.md @@ -0,0 +1,23 @@ +# @cosmjs/encoding + +[![npm version](https://img.shields.io/npm/v/@cosmjs/encoding.svg)](https://www.npmjs.com/package/@cosmjs/encoding) + +This package is an extension to the JavaScript standard library that is not +bound to blockchain products. It provides basic hex/base64/ascii encoding to +Uint8Array that doesn't rely on Buffer and also provides better error messages +on invalid input. + +## Convert between bech32 and hex addresses + +``` +>> toBech32("tiov", fromHex("1234ABCD0000AA0000FFFF0000AA00001234ABCD")) +'tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea' +>> toHex(fromBech32("tiov1zg62hngqqz4qqq8lluqqp2sqqqfrf27dzrrmea").data) +'1234abcd0000aa0000ffff0000aa00001234abcd' +``` + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.d.ts new file mode 100644 index 00000000..42d32698 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.d.ts @@ -0,0 +1,2 @@ +export declare function toAscii(input: string): Uint8Array; +export declare function fromAscii(data: Uint8Array): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js new file mode 100644 index 00000000..43122441 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromAscii = exports.toAscii = void 0; +function toAscii(input) { + const toNums = (str) => str.split("").map((x) => { + const charCode = x.charCodeAt(0); + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (charCode < 0x20 || charCode > 0x7e) { + throw new Error("Cannot encode character that is out of printable ASCII range: " + charCode); + } + return charCode; + }); + return Uint8Array.from(toNums(input)); +} +exports.toAscii = toAscii; +function fromAscii(data) { + const fromNums = (listOfNumbers) => listOfNumbers.map((x) => { + // 0x00–0x1F control characters + // 0x20–0x7E printable characters + // 0x7F delete character + // 0x80–0xFF out of 7 bit ascii range + if (x < 0x20 || x > 0x7e) { + throw new Error("Cannot decode character that is out of printable ASCII range: " + x); + } + return String.fromCharCode(x); + }); + return fromNums(Array.from(data)).join(""); +} +exports.fromAscii = fromAscii; +//# sourceMappingURL=ascii.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js.map new file mode 100644 index 00000000..34d0ca05 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/ascii.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../src/ascii.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,KAAa;IACnC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAqB,EAAE,CAChD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,QAAQ,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,QAAQ,CAAC,CAAC;SAC9F;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACL,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAdD,0BAcC;AAED,SAAgB,SAAS,CAAC,IAAgB;IACxC,MAAM,QAAQ,GAAG,CAAC,aAAgC,EAAqB,EAAE,CACvE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAS,EAAU,EAAE;QACtC,+BAA+B;QAC/B,iCAAiC;QACjC,wBAAwB;QACxB,qCAAqC;QACrC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,CAAC,CAAC,CAAC;SACvF;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAdD,8BAcC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.d.ts new file mode 100644 index 00000000..3eb3915c --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.d.ts @@ -0,0 +1,2 @@ +export declare function toBase64(data: Uint8Array): string; +export declare function fromBase64(base64String: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js new file mode 100644 index 00000000..72eddd59 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js @@ -0,0 +1,39 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromBase64 = exports.toBase64 = void 0; +const base64js = __importStar(require("base64-js")); +function toBase64(data) { + return base64js.fromByteArray(data); +} +exports.toBase64 = toBase64; +function fromBase64(base64String) { + if (!base64String.match(/^[a-zA-Z0-9+/]*={0,2}$/)) { + throw new Error("Invalid base64 string format"); + } + return base64js.toByteArray(base64String); +} +exports.fromBase64 = fromBase64; +//# sourceMappingURL=base64.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js.map new file mode 100644 index 00000000..4692c803 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/base64.js.map @@ -0,0 +1 @@ +{"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,SAAgB,QAAQ,CAAC,IAAgB;IACvC,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AALD,gCAKC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.d.ts new file mode 100644 index 00000000..cf4222d7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.d.ts @@ -0,0 +1,12 @@ +export declare function toBech32(prefix: string, data: Uint8Array, limit?: number): string; +export declare function fromBech32(address: string, limit?: number): { + readonly prefix: string; + readonly data: Uint8Array; +}; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +export declare function normalizeBech32(address: string): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js new file mode 100644 index 00000000..f463cdcb --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js @@ -0,0 +1,52 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalizeBech32 = exports.fromBech32 = exports.toBech32 = void 0; +const bech32 = __importStar(require("bech32")); +function toBech32(prefix, data, limit) { + const address = bech32.encode(prefix, bech32.toWords(data), limit); + return address; +} +exports.toBech32 = toBech32; +function fromBech32(address, limit = Infinity) { + const decodedAddress = bech32.decode(address, limit); + return { + prefix: decodedAddress.prefix, + data: new Uint8Array(bech32.fromWords(decodedAddress.words)), + }; +} +exports.fromBech32 = fromBech32; +/** + * Takes a bech32 address and returns a normalized (i.e. lower case) representation of it. + * + * The input is validated along the way, which makes this significantly safer than + * using `address.toLowerCase()`. + */ +function normalizeBech32(address) { + const { prefix, data } = fromBech32(address); + return toBech32(prefix, data); +} +exports.normalizeBech32 = normalizeBech32; +//# sourceMappingURL=bech32.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js.map new file mode 100644 index 00000000..d2d53250 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/bech32.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bech32.js","sourceRoot":"","sources":["../src/bech32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,QAAQ,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAc;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,4BAGC;AAED,SAAgB,UAAU,CACxB,OAAe,EACf,KAAK,GAAG,QAAQ;IAEhB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AATD,gCASC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAHD,0CAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.d.ts new file mode 100644 index 00000000..a337851f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.d.ts @@ -0,0 +1,2 @@ +export declare function toHex(data: Uint8Array): string; +export declare function fromHex(hexstring: string): Uint8Array; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js new file mode 100644 index 00000000..8513b590 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromHex = exports.toHex = void 0; +function toHex(data) { + let out = ""; + for (const byte of data) { + out += ("0" + byte.toString(16)).slice(-2); + } + return out; +} +exports.toHex = toHex; +function fromHex(hexstring) { + if (hexstring.length % 2 !== 0) { + throw new Error("hex string length must be a multiple of 2"); + } + const out = new Uint8Array(hexstring.length / 2); + for (let i = 0; i < out.length; i++) { + const j = 2 * i; + const hexByteAsString = hexstring.slice(j, j + 2); + if (!hexByteAsString.match(/[0-9a-f]{2}/i)) { + throw new Error("hex string contains invalid characters"); + } + out[i] = parseInt(hexByteAsString, 16); + } + return out; +} +exports.fromHex = fromHex; +//# sourceMappingURL=hex.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js.map new file mode 100644 index 00000000..1c12ece9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/hex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hex.js","sourceRoot":"","sources":["../src/hex.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,sBAMC;AAED,SAAgB,OAAO,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KACxC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,0BAeC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.d.ts new file mode 100644 index 00000000..a2dc4771 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.d.ts @@ -0,0 +1,6 @@ +export { fromAscii, toAscii } from "./ascii"; +export { fromBase64, toBase64 } from "./base64"; +export { fromBech32, normalizeBech32, toBech32 } from "./bech32"; +export { fromHex, toHex } from "./hex"; +export { fromRfc3339, toRfc3339 } from "./rfc3339"; +export { fromUtf8, toUtf8 } from "./utf8"; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js new file mode 100644 index 00000000..0506f526 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toUtf8 = exports.fromUtf8 = exports.toRfc3339 = exports.fromRfc3339 = exports.toHex = exports.fromHex = exports.toBech32 = exports.normalizeBech32 = exports.fromBech32 = exports.toBase64 = exports.fromBase64 = exports.toAscii = exports.fromAscii = void 0; +var ascii_1 = require("./ascii"); +Object.defineProperty(exports, "fromAscii", { enumerable: true, get: function () { return ascii_1.fromAscii; } }); +Object.defineProperty(exports, "toAscii", { enumerable: true, get: function () { return ascii_1.toAscii; } }); +var base64_1 = require("./base64"); +Object.defineProperty(exports, "fromBase64", { enumerable: true, get: function () { return base64_1.fromBase64; } }); +Object.defineProperty(exports, "toBase64", { enumerable: true, get: function () { return base64_1.toBase64; } }); +var bech32_1 = require("./bech32"); +Object.defineProperty(exports, "fromBech32", { enumerable: true, get: function () { return bech32_1.fromBech32; } }); +Object.defineProperty(exports, "normalizeBech32", { enumerable: true, get: function () { return bech32_1.normalizeBech32; } }); +Object.defineProperty(exports, "toBech32", { enumerable: true, get: function () { return bech32_1.toBech32; } }); +var hex_1 = require("./hex"); +Object.defineProperty(exports, "fromHex", { enumerable: true, get: function () { return hex_1.fromHex; } }); +Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return hex_1.toHex; } }); +var rfc3339_1 = require("./rfc3339"); +Object.defineProperty(exports, "fromRfc3339", { enumerable: true, get: function () { return rfc3339_1.fromRfc3339; } }); +Object.defineProperty(exports, "toRfc3339", { enumerable: true, get: function () { return rfc3339_1.toRfc3339; } }); +var utf8_1 = require("./utf8"); +Object.defineProperty(exports, "fromUtf8", { enumerable: true, get: function () { return utf8_1.fromUtf8; } }); +Object.defineProperty(exports, "toUtf8", { enumerable: true, get: function () { return utf8_1.toUtf8; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js.map new file mode 100644 index 00000000..8ffe3ef1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAApC,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAC3B,mCAAgD;AAAvC,oGAAA,UAAU,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC7B,mCAAiE;AAAxD,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAC9C,6BAAuC;AAA9B,8FAAA,OAAO,OAAA;AAAE,4FAAA,KAAK,OAAA;AACvB,qCAAmD;AAA1C,sGAAA,WAAW,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC/B,+BAA0C;AAAjC,gGAAA,QAAQ,OAAA;AAAE,8FAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.d.ts new file mode 100644 index 00000000..759db985 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.d.ts @@ -0,0 +1,3 @@ +import { ReadonlyDate } from "readonly-date"; +export declare function fromRfc3339(str: string): Date; +export declare function toRfc3339(date: Date | ReadonlyDate): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js new file mode 100644 index 00000000..58cbbfd1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRfc3339 = exports.fromRfc3339 = void 0; +const rfc3339Matcher = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(\.\d{1,9})?((?:[+-]\d{2}:\d{2})|Z)$/; +function padded(integer, length = 2) { + return integer.toString().padStart(length, "0"); +} +function fromRfc3339(str) { + const matches = rfc3339Matcher.exec(str); + if (!matches) { + throw new Error("Date string is not in RFC3339 format"); + } + const year = +matches[1]; + const month = +matches[2]; + const day = +matches[3]; + const hour = +matches[4]; + const minute = +matches[5]; + const second = +matches[6]; + // fractional seconds match either undefined or a string like ".1", ".123456789" + const milliSeconds = matches[7] ? Math.floor(+matches[7] * 1000) : 0; + let tzOffsetSign; + let tzOffsetHours; + let tzOffsetMinutes; + // if timezone is undefined, it must be Z or nothing (otherwise the group would have captured). + if (matches[8] === "Z") { + tzOffsetSign = 1; + tzOffsetHours = 0; + tzOffsetMinutes = 0; + } + else { + tzOffsetSign = matches[8].substring(0, 1) === "-" ? -1 : 1; + tzOffsetHours = +matches[8].substring(1, 3); + tzOffsetMinutes = +matches[8].substring(4, 6); + } + const tzOffset = tzOffsetSign * (tzOffsetHours * 60 + tzOffsetMinutes) * 60; // seconds + const timestamp = Date.UTC(year, month - 1, day, hour, minute, second, milliSeconds) - tzOffset * 1000; + return new Date(timestamp); +} +exports.fromRfc3339 = fromRfc3339; +function toRfc3339(date) { + const year = date.getUTCFullYear(); + const month = padded(date.getUTCMonth() + 1); + const day = padded(date.getUTCDate()); + const hour = padded(date.getUTCHours()); + const minute = padded(date.getUTCMinutes()); + const second = padded(date.getUTCSeconds()); + const ms = padded(date.getUTCMilliseconds(), 3); + return `${year}-${month}-${day}T${hour}:${minute}:${second}.${ms}Z`; +} +exports.toRfc3339 = toRfc3339; +//# sourceMappingURL=rfc3339.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js.map new file mode 100644 index 00000000..595261d6 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/rfc3339.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rfc3339.js","sourceRoot":"","sources":["../src/rfc3339.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.d.ts new file mode 100644 index 00000000..0911143a --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.d.ts @@ -0,0 +1,8 @@ +export declare function toUtf8(str: string): Uint8Array; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +export declare function fromUtf8(data: Uint8Array, lossy?: boolean): string; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js new file mode 100644 index 00000000..39938f26 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromUtf8 = exports.toUtf8 = void 0; +function toUtf8(str) { + return new TextEncoder().encode(str); +} +exports.toUtf8 = toUtf8; +/** + * Takes UTF-8 data and decodes it to a string. + * + * In lossy mode, the replacement character � is used to substitude invalid + * encodings. By default lossy mode is off and invalid data will lead to exceptions. + */ +function fromUtf8(data, lossy = false) { + const fatal = !lossy; + return new TextDecoder("utf-8", { fatal }).decode(data); +} +exports.fromUtf8 = fromUtf8; +//# sourceMappingURL=utf8.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js.map new file mode 100644 index 00000000..dfa3c7c9 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/build/utf8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8.js","sourceRoot":"","sources":["../src/utf8.ts"],"names":[],"mappings":";;;AAUA,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAgB,EAAE,KAAK,GAAG,KAAK;IACtD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;IACrB,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAHD,4BAGC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/package.json b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/package.json new file mode 100644 index 00000000..47ae1770 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/encoding/package.json @@ -0,0 +1,83 @@ +{ + "name": "@cosmjs/encoding", + "version": "0.31.0", + "description": "Encoding helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/encoding" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "base64-js": "^1.3.0", + "bech32": "^1.1.4", + "readonly-date": "^1.0.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/base64-js": "^1.2.5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/README.md b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/README.md new file mode 100644 index 00000000..97776b73 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/README.md @@ -0,0 +1,9 @@ +# @cosmjs/math + +[![npm version](https://img.shields.io/npm/v/@cosmjs/math.svg)](https://www.npmjs.com/package/@cosmjs/math) + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.d.ts new file mode 100644 index 00000000..41c52287 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.d.ts @@ -0,0 +1,66 @@ +import { Uint32, Uint53, Uint64 } from "./integers"; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +export declare class Decimal { + static fromUserInput(input: string, fractionalDigits: number): Decimal; + static fromAtomics(atomics: string, fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits: number): Decimal; + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits: number): Decimal; + private static verifyFractionalDigits; + static compare(a: Decimal, b: Decimal): number; + get atomics(): string; + get fractionalDigits(): number; + private readonly data; + private constructor(); + /** Creates a new instance with the same value */ + private clone; + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor(): Decimal; + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil(): Decimal; + toString(): string; + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation(): number; + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b: Decimal): Decimal; + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b: Decimal): Decimal; + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b: Uint32 | Uint53 | Uint64): Decimal; + equals(b: Decimal): boolean; + isLessThan(b: Decimal): boolean; + isLessThanOrEqual(b: Decimal): boolean; + isGreaterThan(b: Decimal): boolean; + isGreaterThanOrEqual(b: Decimal): boolean; +} diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js new file mode 100644 index 00000000..b69b4ed8 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js @@ -0,0 +1,212 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Decimal = void 0; +const bn_js_1 = __importDefault(require("bn.js")); +// Too large values lead to massive memory usage. Limit to something sensible. +// The largest value we need is 18 (Ether). +const maxFractionalDigits = 100; +/** + * A type for arbitrary precision, non-negative decimals. + * + * Instances of this class are immutable. + */ +class Decimal { + static fromUserInput(input, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + const badCharacter = input.match(/[^0-9.]/); + if (badCharacter) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + throw new Error(`Invalid character at position ${badCharacter.index + 1}`); + } + let whole; + let fractional; + if (input === "") { + whole = "0"; + fractional = ""; + } + else if (input.search(/\./) === -1) { + // integer format, no separator + whole = input; + fractional = ""; + } + else { + const parts = input.split("."); + switch (parts.length) { + case 0: + case 1: + throw new Error("Fewer than two elements in split result. This must not happen here."); + case 2: + if (!parts[1]) + throw new Error("Fractional part missing"); + whole = parts[0]; + fractional = parts[1].replace(/0+$/, ""); + break; + default: + throw new Error("More than one separator found"); + } + } + if (fractional.length > fractionalDigits) { + throw new Error("Got more fractional digits than supported"); + } + const quantity = `${whole}${fractional.padEnd(fractionalDigits, "0")}`; + return new Decimal(quantity, fractionalDigits); + } + static fromAtomics(atomics, fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal(atomics, fractionalDigits); + } + /** + * Creates a Decimal with value 0.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static zero(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("0", fractionalDigits); + } + /** + * Creates a Decimal with value 1.0 and the given number of fractial digits. + * + * Fractional digits are not relevant for the value but needed to be able + * to perform arithmetic operations with other decimals. + */ + static one(fractionalDigits) { + Decimal.verifyFractionalDigits(fractionalDigits); + return new Decimal("1" + "0".repeat(fractionalDigits), fractionalDigits); + } + static verifyFractionalDigits(fractionalDigits) { + if (!Number.isInteger(fractionalDigits)) + throw new Error("Fractional digits is not an integer"); + if (fractionalDigits < 0) + throw new Error("Fractional digits must not be negative"); + if (fractionalDigits > maxFractionalDigits) { + throw new Error(`Fractional digits must not exceed ${maxFractionalDigits}`); + } + } + static compare(a, b) { + if (a.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + return a.data.atomics.cmp(new bn_js_1.default(b.atomics)); + } + get atomics() { + return this.data.atomics.toString(); + } + get fractionalDigits() { + return this.data.fractionalDigits; + } + constructor(atomics, fractionalDigits) { + if (!atomics.match(/^[0-9]+$/)) { + throw new Error("Invalid string format. Only non-negative integers in decimal representation supported."); + } + this.data = { + atomics: new bn_js_1.default(atomics), + fractionalDigits: fractionalDigits, + }; + } + /** Creates a new instance with the same value */ + clone() { + return new Decimal(this.atomics, this.fractionalDigits); + } + /** Returns the greatest decimal <= this which has no fractional part (rounding down) */ + floor() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.mul(factor).toString(), this.fractionalDigits); + } + } + /** Returns the smallest decimal >= this which has no fractional part (rounding up) */ + ceil() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return this.clone(); + } + else { + return Decimal.fromAtomics(whole.addn(1).mul(factor).toString(), this.fractionalDigits); + } + } + toString() { + const factor = new bn_js_1.default(10).pow(new bn_js_1.default(this.data.fractionalDigits)); + const whole = this.data.atomics.div(factor); + const fractional = this.data.atomics.mod(factor); + if (fractional.isZero()) { + return whole.toString(); + } + else { + const fullFractionalPart = fractional.toString().padStart(this.data.fractionalDigits, "0"); + const trimmedFractionalPart = fullFractionalPart.replace(/0+$/, ""); + return `${whole.toString()}.${trimmedFractionalPart}`; + } + } + /** + * Returns an approximation as a float type. Only use this if no + * exact calculation is required. + */ + toFloatApproximation() { + const out = Number(this.toString()); + if (Number.isNaN(out)) + throw new Error("Conversion to number failed"); + return out; + } + /** + * a.plus(b) returns a+b. + * + * Both values need to have the same fractional digits. + */ + plus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const sum = this.data.atomics.add(new bn_js_1.default(b.atomics)); + return new Decimal(sum.toString(), this.fractionalDigits); + } + /** + * a.minus(b) returns a-b. + * + * Both values need to have the same fractional digits. + * The resulting difference needs to be non-negative. + */ + minus(b) { + if (this.fractionalDigits !== b.fractionalDigits) + throw new Error("Fractional digits do not match"); + const difference = this.data.atomics.sub(new bn_js_1.default(b.atomics)); + if (difference.ltn(0)) + throw new Error("Difference must not be negative"); + return new Decimal(difference.toString(), this.fractionalDigits); + } + /** + * a.multiply(b) returns a*b. + * + * We only allow multiplication by unsigned integers to avoid rounding errors. + */ + multiply(b) { + const product = this.data.atomics.mul(new bn_js_1.default(b.toString())); + return new Decimal(product.toString(), this.fractionalDigits); + } + equals(b) { + return Decimal.compare(this, b) === 0; + } + isLessThan(b) { + return Decimal.compare(this, b) < 0; + } + isLessThanOrEqual(b) { + return Decimal.compare(this, b) <= 0; + } + isGreaterThan(b) { + return Decimal.compare(this, b) > 0; + } + isGreaterThanOrEqual(b) { + return Decimal.compare(this, b) >= 0; + } +} +exports.Decimal = Decimal; +//# sourceMappingURL=decimal.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js.map new file mode 100644 index 00000000..6f3c1272 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/decimal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.d.ts new file mode 100644 index 00000000..b888136f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.d.ts @@ -0,0 +1,2 @@ +export { Decimal } from "./decimal"; +export { Int53, Uint32, Uint53, Uint64 } from "./integers"; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js new file mode 100644 index 00000000..1f812f63 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Uint32 = exports.Int53 = exports.Decimal = void 0; +var decimal_1 = require("./decimal"); +Object.defineProperty(exports, "Decimal", { enumerable: true, get: function () { return decimal_1.Decimal; } }); +var integers_1 = require("./integers"); +Object.defineProperty(exports, "Int53", { enumerable: true, get: function () { return integers_1.Int53; } }); +Object.defineProperty(exports, "Uint32", { enumerable: true, get: function () { return integers_1.Uint32; } }); +Object.defineProperty(exports, "Uint53", { enumerable: true, get: function () { return integers_1.Uint53; } }); +Object.defineProperty(exports, "Uint64", { enumerable: true, get: function () { return integers_1.Uint64; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js.map new file mode 100644 index 00000000..5a0926b2 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAA2D;AAAlD,iGAAA,KAAK,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,kGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.d.ts new file mode 100644 index 00000000..6f2e1c09 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.d.ts @@ -0,0 +1,66 @@ +/** Internal interface to ensure all integer types can be used equally */ +interface Integer { + readonly toNumber: () => number; + readonly toBigInt: () => bigint; + readonly toString: () => string; +} +interface WithByteConverters { + readonly toBytesBigEndian: () => Uint8Array; + readonly toBytesLittleEndian: () => Uint8Array; +} +export declare class Uint32 implements Integer, WithByteConverters { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes: ArrayLike): Uint32; + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint32; + static fromString(str: string): Uint32; + protected readonly data: number; + constructor(input: number); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Int53 implements Integer { + static fromString(str: string): Int53; + protected readonly data: number; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint53 implements Integer { + static fromString(str: string): Uint53; + protected readonly data: Int53; + constructor(input: number); + toNumber(): number; + toBigInt(): bigint; + toString(): string; +} +export declare class Uint64 implements Integer, WithByteConverters { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes: ArrayLike): Uint64; + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes: ArrayLike, endianess?: "be" | "le"): Uint64; + static fromString(str: string): Uint64; + static fromNumber(input: number): Uint64; + private readonly data; + private constructor(); + toBytesBigEndian(): Uint8Array; + toBytesLittleEndian(): Uint8Array; + toString(): string; + toBigInt(): bigint; + toNumber(): number; +} +export {}; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js new file mode 100644 index 00000000..282b44b4 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js @@ -0,0 +1,214 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Uint64 = exports.Uint53 = exports.Int53 = exports.Uint32 = void 0; +/* eslint-disable no-bitwise */ +const bn_js_1 = __importDefault(require("bn.js")); +const uint64MaxValue = new bn_js_1.default("18446744073709551615", 10, "be"); +class Uint32 { + /** @deprecated use Uint32.fromBytes */ + static fromBigEndianBytes(bytes) { + return Uint32.fromBytes(bytes); + } + /** + * Creates a Uint32 from a fixed length byte array. + * + * @param bytes a list of exactly 4 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 4) { + throw new Error("Invalid input length. Expected 4 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? bytes : Array.from(bytes).reverse(); + // Use mulitiplication instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint32(beBytes[0] * 2 ** 24 + beBytes[1] * 2 ** 16 + beBytes[2] * 2 ** 8 + beBytes[3]); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint32(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < 0 || input > 4294967295) { + throw new Error("Input not in uint32 range: " + input.toString()); + } + this.data = input; + } + toBytesBigEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 24) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 0) & 0xff, + ]); + } + toBytesLittleEndian() { + // Use division instead of shifting since bitwise operators are defined + // on SIGNED int32 in JavaScript and we don't want to risk surprises + return new Uint8Array([ + Math.floor(this.data / 2 ** 0) & 0xff, + Math.floor(this.data / 2 ** 8) & 0xff, + Math.floor(this.data / 2 ** 16) & 0xff, + Math.floor(this.data / 2 ** 24) & 0xff, + ]); + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint32 = Uint32; +class Int53 { + static fromString(str) { + if (!str.match(/^-?[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Int53(Number.parseInt(str, 10)); + } + constructor(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + if (input < Number.MIN_SAFE_INTEGER || input > Number.MAX_SAFE_INTEGER) { + throw new Error("Input not in int53 range: " + input.toString()); + } + this.data = input; + } + toNumber() { + return this.data; + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Int53 = Int53; +class Uint53 { + static fromString(str) { + const signed = Int53.fromString(str); + return new Uint53(signed.toNumber()); + } + constructor(input) { + const signed = new Int53(input); + if (signed.toNumber() < 0) { + throw new Error("Input is negative"); + } + this.data = signed; + } + toNumber() { + return this.data.toNumber(); + } + toBigInt() { + return BigInt(this.toNumber()); + } + toString() { + return this.data.toString(); + } +} +exports.Uint53 = Uint53; +class Uint64 { + /** @deprecated use Uint64.fromBytes */ + static fromBytesBigEndian(bytes) { + return Uint64.fromBytes(bytes); + } + /** + * Creates a Uint64 from a fixed length byte array. + * + * @param bytes a list of exactly 8 bytes + * @param endianess defaults to big endian + */ + static fromBytes(bytes, endianess = "be") { + if (bytes.length !== 8) { + throw new Error("Invalid input length. Expected 8 bytes."); + } + for (let i = 0; i < bytes.length; ++i) { + if (!Number.isInteger(bytes[i]) || bytes[i] > 255 || bytes[i] < 0) { + throw new Error("Invalid value in byte. Found: " + bytes[i]); + } + } + const beBytes = endianess === "be" ? Array.from(bytes) : Array.from(bytes).reverse(); + return new Uint64(new bn_js_1.default(beBytes)); + } + static fromString(str) { + if (!str.match(/^[0-9]+$/)) { + throw new Error("Invalid string format"); + } + return new Uint64(new bn_js_1.default(str, 10, "be")); + } + static fromNumber(input) { + if (Number.isNaN(input)) { + throw new Error("Input is not a number"); + } + if (!Number.isInteger(input)) { + throw new Error("Input is not an integer"); + } + let bigint; + try { + bigint = new bn_js_1.default(input); + } + catch { + throw new Error("Input is not a safe integer"); + } + return new Uint64(bigint); + } + constructor(data) { + if (data.isNeg()) { + throw new Error("Input is negative"); + } + if (data.gt(uint64MaxValue)) { + throw new Error("Input exceeds uint64 range"); + } + this.data = data; + } + toBytesBigEndian() { + return Uint8Array.from(this.data.toArray("be", 8)); + } + toBytesLittleEndian() { + return Uint8Array.from(this.data.toArray("le", 8)); + } + toString() { + return this.data.toString(10); + } + toBigInt() { + return BigInt(this.toString()); + } + toNumber() { + return this.data.toNumber(); + } +} +exports.Uint64 = Uint64; +// Assign classes to unused variables in order to verify static interface conformance at compile time. +// Workaround for https://github.com/microsoft/TypeScript/issues/33892 +const _int53Class = Int53; +const _uint53Class = Uint53; +const _uint32Class = Uint32; +const _uint64Class = Uint64; +//# sourceMappingURL=integers.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js.map new file mode 100644 index 00000000..2be4045e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/build/integers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"integers.js","sourceRoot":"","sources":["../src/integers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/package.json b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/package.json new file mode 100644 index 00000000..6058cc82 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/math/package.json @@ -0,0 +1,81 @@ +{ + "name": "@cosmjs/math", + "version": "0.31.0", + "description": "Math helpers for blockchain projects", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/math" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "test-node": "yarn node jasmine-testrunner.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js" + }, + "dependencies": { + "bn.js": "^5.2.0" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/bn.js": "^5", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/README.md b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/README.md new file mode 100644 index 00000000..984aca5d --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/README.md @@ -0,0 +1,12 @@ +# @cosmjs/utils + +[![npm version](https://img.shields.io/npm/v/@cosmjs/utils.svg)](https://www.npmjs.com/package/@cosmjs/utils) + +Utility functions independent of blockchain applications. Primarily used for +testing but stuff like `sleep` can also be useful at runtime. + +## License + +This package is part of the cosmjs repository, licensed under the Apache License +2.0 (see [NOTICE](https://github.com/cosmos/cosmjs/blob/main/NOTICE) and +[LICENSE](https://github.com/cosmos/cosmjs/blob/main/LICENSE)). diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.d.ts new file mode 100644 index 00000000..b2017871 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.d.ts @@ -0,0 +1,18 @@ +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentEquals(a: ArrayLike, b: ArrayLike): boolean; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +export declare function arrayContentStartsWith(a: ArrayLike, b: ArrayLike): boolean; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js new file mode 100644 index 00000000..15114cdd --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +/** + * Compares the content of two arrays-like objects for equality. + * + * Equality is defined as having equal length and element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentEquals(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentEquals = arrayContentEquals; +/** + * Checks if `a` starts with the contents of `b`. + * + * This requires equality of the element values, where element equality means `===` returning `true`. + * + * This allows you to compare the content of a Buffer, Uint8Array or number[], ignoring the specific type. + * As a consequence, this returns different results than Jasmine's `toEqual`, which ensures elements have the same type. + */ +function arrayContentStartsWith(a, b) { + if (a.length < b.length) + return false; + for (let i = 0; i < b.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} +exports.arrayContentStartsWith = arrayContentStartsWith; +//# sourceMappingURL=arrays.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js.map new file mode 100644 index 00000000..eaa47f8e --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/arrays.js.map @@ -0,0 +1 @@ +{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,gDASC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;KACjC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AATD,wDASC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.d.ts new file mode 100644 index 00000000..428d5b48 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.d.ts @@ -0,0 +1,3 @@ +export declare function assert(condition: any, msg?: string): asserts condition; +export declare function assertDefined(value: T | undefined, msg?: string): asserts value is T; +export declare function assertDefinedAndNotNull(value: T | undefined | null, msg?: string): asserts value is T; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js new file mode 100644 index 00000000..e517bde3 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = void 0; +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || "condition is not truthy"); + } +} +exports.assert = assert; +function assertDefined(value, msg) { + if (value === undefined) { + throw new Error(msg ?? "value is undefined"); + } +} +exports.assertDefined = assertDefined; +function assertDefinedAndNotNull(value, msg) { + if (value === undefined || value === null) { + throw new Error(msg ?? "value is undefined or null"); + } +} +exports.assertDefinedAndNotNull = assertDefinedAndNotNull; +//# sourceMappingURL=assert.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js.map new file mode 100644 index 00000000..1c0c6128 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/assert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAC7E,SAAgB,MAAM,CAAC,SAAc,EAAE,GAAY;IACjD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;KACnD;AACH,CAAC;AAJD,wBAIC;AAED,SAAgB,aAAa,CAAI,KAAoB,EAAE,GAAY;IACjE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;KAC9C;AACH,CAAC;AAJD,sCAIC;AAED,SAAgB,uBAAuB,CAAI,KAA2B,EAAE,GAAY;IAClF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;KACtD;AACH,CAAC;AAJD,0DAIC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.d.ts new file mode 100644 index 00000000..62434818 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.d.ts @@ -0,0 +1,4 @@ +export { arrayContentEquals, arrayContentStartsWith } from "./arrays"; +export { assert, assertDefined, assertDefinedAndNotNull } from "./assert"; +export { sleep } from "./sleep"; +export { isDefined, isNonNullObject, isUint8Array } from "./typechecks"; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js new file mode 100644 index 00000000..8888737f --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isUint8Array = exports.isNonNullObject = exports.isDefined = exports.sleep = exports.assertDefinedAndNotNull = exports.assertDefined = exports.assert = exports.arrayContentStartsWith = exports.arrayContentEquals = void 0; +var arrays_1 = require("./arrays"); +Object.defineProperty(exports, "arrayContentEquals", { enumerable: true, get: function () { return arrays_1.arrayContentEquals; } }); +Object.defineProperty(exports, "arrayContentStartsWith", { enumerable: true, get: function () { return arrays_1.arrayContentStartsWith; } }); +var assert_1 = require("./assert"); +Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } }); +Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return assert_1.assertDefined; } }); +Object.defineProperty(exports, "assertDefinedAndNotNull", { enumerable: true, get: function () { return assert_1.assertDefinedAndNotNull; } }); +var sleep_1 = require("./sleep"); +Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return sleep_1.sleep; } }); +var typechecks_1 = require("./typechecks"); +Object.defineProperty(exports, "isDefined", { enumerable: true, get: function () { return typechecks_1.isDefined; } }); +Object.defineProperty(exports, "isNonNullObject", { enumerable: true, get: function () { return typechecks_1.isNonNullObject; } }); +Object.defineProperty(exports, "isUint8Array", { enumerable: true, get: function () { return typechecks_1.isUint8Array; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js.map new file mode 100644 index 00000000..1bfe43e1 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AAA7D,4GAAA,kBAAkB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACnD,mCAA0E;AAAjE,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,iHAAA,uBAAuB,OAAA;AACvD,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAAwE;AAA/D,uGAAA,SAAS,OAAA;AAAE,6GAAA,eAAe,OAAA;AAAE,0GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.d.ts new file mode 100644 index 00000000..deb121ba --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.d.ts @@ -0,0 +1 @@ +export declare function sleep(ms: number): Promise; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js new file mode 100644 index 00000000..a7863375 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = void 0; +async function sleep(ms) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} +exports.sleep = sleep; +//# sourceMappingURL=sleep.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js.map new file mode 100644 index 00000000..2df3fd52 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/sleep.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.d.ts b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.d.ts new file mode 100644 index 00000000..d33cb9b7 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.d.ts @@ -0,0 +1,20 @@ +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +export declare function isNonNullObject(data: unknown): data is object; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +export declare function isUint8Array(data: unknown): data is Uint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +export declare function isDefined(value: X | undefined): value is X; diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js new file mode 100644 index 00000000..08eb5b95 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isDefined = exports.isUint8Array = exports.isNonNullObject = void 0; +/** + * Checks if data is a non-null object (i.e. matches the TypeScript object type). + * + * Note: this returns true for arrays, which are objects in JavaScript + * even though array and object are different types in JSON. + * + * @see https://www.typescriptlang.org/docs/handbook/basic-types.html#object + */ +// eslint-disable-next-line @typescript-eslint/ban-types +function isNonNullObject(data) { + return typeof data === "object" && data !== null; +} +exports.isNonNullObject = isNonNullObject; +/** + * Checks if data is an Uint8Array. Note: Buffer is treated as not a Uint8Array + */ +function isUint8Array(data) { + if (!isNonNullObject(data)) + return false; + // Avoid instanceof check which is unreliable in some JS environments + // https://medium.com/@simonwarta/limitations-of-the-instanceof-operator-f4bcdbe7a400 + // Use check that was discussed in https://github.com/crypto-browserify/pbkdf2/pull/81 + if (Object.prototype.toString.call(data) !== "[object Uint8Array]") + return false; + if (typeof Buffer !== "undefined" && typeof Buffer.isBuffer !== "undefined") { + // Buffer.isBuffer is available at runtime + if (Buffer.isBuffer(data)) + return false; + } + return true; +} +exports.isUint8Array = isUint8Array; +/** + * Checks if input is not undefined in a TypeScript-friendly way. + * + * This is convenient to use in e.g. `Array.filter` as it will convert + * the type of a `Array` to `Array`. + */ +function isDefined(value) { + return value !== undefined; +} +exports.isDefined = isDefined; +//# sourceMappingURL=typechecks.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js.map b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js.map new file mode 100644 index 00000000..b037e9af --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/build/typechecks.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typechecks.js","sourceRoot":"","sources":["../src/typechecks.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,wDAAwD;AACxD,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,qEAAqE;IACrE,qFAAqF;IAErF,sFAAsF;IACtF,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAEjF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3E,0CAA0C;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,oCAeC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAI,KAAoB;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAFD,8BAEC"} \ No newline at end of file diff --git a/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/package.json b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/package.json new file mode 100644 index 00000000..a8b55379 --- /dev/null +++ b/ts-client/node_modules/@cosmjs/tendermint-rpc/node_modules/@cosmjs/utils/package.json @@ -0,0 +1,78 @@ +{ + "name": "@cosmjs/utils", + "version": "0.31.0", + "description": "Utility tools, primarily for testing code", + "contributors": [ + "IOV SAS " + ], + "license": "Apache-2.0", + "main": "build/index.js", + "types": "build/index.d.ts", + "files": [ + "build/", + "*.md", + "!*.spec.*", + "!**/testdata/" + ], + "repository": { + "type": "git", + "url": "https://github.com/cosmos/cosmjs/tree/main/packages/utils" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + }, + "scripts": { + "docs": "typedoc --options typedoc.js", + "lint": "eslint --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "lint-fix": "eslint --fix --max-warnings 0 \"./**/*.ts\" \"./*.js\"", + "format": "prettier --write --loglevel warn \"./src/**/*.ts\"", + "format-text": "prettier --write \"./*.md\"", + "build": "rm -rf ./build && tsc", + "build-or-skip": "[ -n \"$SKIP_BUILD\" ] || yarn build", + "test-node": "yarn node jasmine-testrunner.js", + "test": "yarn build-or-skip && yarn test-node", + "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", + "pack-web": "yarn build-or-skip && webpack --mode development --config webpack.web.config.js", + "test-edge": "yarn pack-web && karma start --single-run --browsers Edge", + "test-firefox": "yarn pack-web && karma start --single-run --browsers Firefox", + "test-chrome": "yarn pack-web && karma start --single-run --browsers ChromeHeadless", + "test-safari": "yarn pack-web && karma start --single-run --browsers Safari" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@types/eslint-plugin-prettier": "^3", + "@types/jasmine": "^4", + "@types/karma-firefox-launcher": "^2", + "@types/karma-jasmine": "^4", + "@types/karma-jasmine-html-reporter": "^1", + "@types/node": "^18", + "@typescript-eslint/eslint-plugin": "^5.54.0", + "@typescript-eslint/parser": "^5.54.0", + "buffer": "^6.0.3", + "eslint": "^7.5", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "esm": "^3.2.25", + "glob": "^7.1.6", + "jasmine": "^4", + "jasmine-spec-reporter": "^6", + "karma": "^6.3.14", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.0", + "karma-jasmine": "^5", + "karma-jasmine-html-reporter": "^1.5.4", + "nyc": "^15.1.0", + "prettier": "^2.8.1", + "ses": "^0.11.0", + "source-map-support": "^0.5.19", + "ts-node": "^8", + "typedoc": "^0.23", + "typescript": "~4.9", + "webpack": "^5.76.0", + "webpack-cli": "^4.6.0" + } +} \ No newline at end of file diff --git a/ts-client/node_modules/@keplr-wallet/types/build/secretjs.d.ts b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.d.ts new file mode 100644 index 00000000..d19128d8 --- /dev/null +++ b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.d.ts @@ -0,0 +1,6 @@ +export interface SecretUtils { + getPubkey: () => Promise; + decrypt: (ciphertext: Uint8Array, nonce: Uint8Array) => Promise; + encrypt: (contractCodeHash: string, msg: object) => Promise; + getTxEncryptionKey: (nonce: Uint8Array) => Promise; +} diff --git a/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js new file mode 100644 index 00000000..1204850e --- /dev/null +++ b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=secretjs.js.map \ No newline at end of file diff --git a/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js.map b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js.map new file mode 100644 index 00000000..cedbe3f0 --- /dev/null +++ b/ts-client/node_modules/@keplr-wallet/types/build/secretjs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"secretjs.js","sourceRoot":"","sources":["../src/secretjs.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/@keplr-wallet/types/src/secretjs.ts b/ts-client/node_modules/@keplr-wallet/types/src/secretjs.ts new file mode 100644 index 00000000..1c1c23cd --- /dev/null +++ b/ts-client/node_modules/@keplr-wallet/types/src/secretjs.ts @@ -0,0 +1,10 @@ +export interface SecretUtils { + getPubkey: () => Promise; + decrypt: (ciphertext: Uint8Array, nonce: Uint8Array) => Promise; + encrypt: ( + contractCodeHash: string, + // eslint-disable-next-line @typescript-eslint/ban-types + msg: object + ) => Promise; + getTxEncryptionKey: (nonce: Uint8Array) => Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.d.ts new file mode 100644 index 00000000..fa8d10e6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.d.ts @@ -0,0 +1,95 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.app.runtime.v1alpha1"; +/** Module is the config object for the runtime module. */ +export interface Module { + /** app_name is the name of the app. */ + appName: string; + /** + * begin_blockers specifies the module names of begin blockers + * to call in the order in which they should be called. If this is left empty + * no begin blocker will be registered. + */ + beginBlockers: string[]; + /** + * end_blockers specifies the module names of the end blockers + * to call in the order in which they should be called. If this is left empty + * no end blocker will be registered. + */ + endBlockers: string[]; + /** + * init_genesis specifies the module names of init genesis functions + * to call in the order in which they should be called. If this is left empty + * no init genesis function will be registered. + */ + initGenesis: string[]; + /** + * export_genesis specifies the order in which to export module genesis data. + * If this is left empty, the init_genesis order will be used for export genesis + * if it is specified. + */ + exportGenesis: string[]; + /** + * override_store_keys is an optional list of overrides for the module store keys + * to be used in keeper construction. + */ + overrideStoreKeys: StoreKeyConfig[]; +} +/** + * StoreKeyConfig may be supplied to override the default module store key, which + * is the module name. + */ +export interface StoreKeyConfig { + /** name of the module to override the store key of */ + moduleName: string; + /** the kv store key to use instead of the module name. */ + kvStoreKey: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>) | undefined; + endBlockers?: (string[] & string[] & Record, never>) | undefined; + initGenesis?: (string[] & string[] & Record, never>) | undefined; + exportGenesis?: (string[] & string[] & Record, never>) | undefined; + overrideStoreKeys?: ({ + moduleName?: string | undefined; + kvStoreKey?: string | undefined; + }[] & ({ + moduleName?: string | undefined; + kvStoreKey?: string | undefined; + } & { + moduleName?: string | undefined; + kvStoreKey?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): Module; +}; +export declare const StoreKeyConfig: { + encode(message: StoreKeyConfig, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): StoreKeyConfig; + fromJSON(object: any): StoreKeyConfig; + toJSON(message: StoreKeyConfig): unknown; + fromPartial, never>>(object: I): StoreKeyConfig; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js new file mode 100644 index 00000000..96ec994a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js @@ -0,0 +1,212 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StoreKeyConfig = exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.app.runtime.v1alpha1"; +function createBaseModule() { + return { + appName: "", + beginBlockers: [], + endBlockers: [], + initGenesis: [], + exportGenesis: [], + overrideStoreKeys: [], + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.appName !== "") { + writer.uint32(10).string(message.appName); + } + for (const v of message.beginBlockers) { + writer.uint32(18).string(v); + } + for (const v of message.endBlockers) { + writer.uint32(26).string(v); + } + for (const v of message.initGenesis) { + writer.uint32(34).string(v); + } + for (const v of message.exportGenesis) { + writer.uint32(42).string(v); + } + for (const v of message.overrideStoreKeys) { + exports.StoreKeyConfig.encode(v, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.appName = reader.string(); + break; + case 2: + message.beginBlockers.push(reader.string()); + break; + case 3: + message.endBlockers.push(reader.string()); + break; + case 4: + message.initGenesis.push(reader.string()); + break; + case 5: + message.exportGenesis.push(reader.string()); + break; + case 6: + message.overrideStoreKeys.push(exports.StoreKeyConfig.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + appName: (0, helpers_1.isSet)(object.appName) ? String(object.appName) : "", + beginBlockers: Array.isArray(object?.beginBlockers) + ? object.beginBlockers.map((e) => String(e)) + : [], + endBlockers: Array.isArray(object?.endBlockers) ? object.endBlockers.map((e) => String(e)) : [], + initGenesis: Array.isArray(object?.initGenesis) ? object.initGenesis.map((e) => String(e)) : [], + exportGenesis: Array.isArray(object?.exportGenesis) + ? object.exportGenesis.map((e) => String(e)) + : [], + overrideStoreKeys: Array.isArray(object?.overrideStoreKeys) + ? object.overrideStoreKeys.map((e) => exports.StoreKeyConfig.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.appName !== undefined && (obj.appName = message.appName); + if (message.beginBlockers) { + obj.beginBlockers = message.beginBlockers.map((e) => e); + } + else { + obj.beginBlockers = []; + } + if (message.endBlockers) { + obj.endBlockers = message.endBlockers.map((e) => e); + } + else { + obj.endBlockers = []; + } + if (message.initGenesis) { + obj.initGenesis = message.initGenesis.map((e) => e); + } + else { + obj.initGenesis = []; + } + if (message.exportGenesis) { + obj.exportGenesis = message.exportGenesis.map((e) => e); + } + else { + obj.exportGenesis = []; + } + if (message.overrideStoreKeys) { + obj.overrideStoreKeys = message.overrideStoreKeys.map((e) => e ? exports.StoreKeyConfig.toJSON(e) : undefined); + } + else { + obj.overrideStoreKeys = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.appName = object.appName ?? ""; + message.beginBlockers = object.beginBlockers?.map((e) => e) || []; + message.endBlockers = object.endBlockers?.map((e) => e) || []; + message.initGenesis = object.initGenesis?.map((e) => e) || []; + message.exportGenesis = object.exportGenesis?.map((e) => e) || []; + message.overrideStoreKeys = object.overrideStoreKeys?.map((e) => exports.StoreKeyConfig.fromPartial(e)) || []; + return message; + }, +}; +function createBaseStoreKeyConfig() { + return { + moduleName: "", + kvStoreKey: "", + }; +} +exports.StoreKeyConfig = { + encode(message, writer = _m0.Writer.create()) { + if (message.moduleName !== "") { + writer.uint32(10).string(message.moduleName); + } + if (message.kvStoreKey !== "") { + writer.uint32(18).string(message.kvStoreKey); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreKeyConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.moduleName = reader.string(); + break; + case 2: + message.kvStoreKey = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + moduleName: (0, helpers_1.isSet)(object.moduleName) ? String(object.moduleName) : "", + kvStoreKey: (0, helpers_1.isSet)(object.kvStoreKey) ? String(object.kvStoreKey) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.moduleName !== undefined && (obj.moduleName = message.moduleName); + message.kvStoreKey !== undefined && (obj.kvStoreKey = message.kvStoreKey); + return obj; + }, + fromPartial(object) { + const message = createBaseStoreKeyConfig(); + message.moduleName = object.moduleName ?? ""; + message.kvStoreKey = object.kvStoreKey ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js.map new file mode 100644 index 00000000..c0163cd6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/runtime/v1alpha1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/app/runtime/v1alpha1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.d.ts new file mode 100644 index 00000000..3949f6e6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.d.ts @@ -0,0 +1,198 @@ +import { Any } from "../../../google/protobuf/any"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.app.v1alpha1"; +/** + * Config represents the configuration for a Cosmos SDK ABCI app. + * It is intended that all state machine logic including the version of + * baseapp and tx handlers (and possibly even Tendermint) that an app needs + * can be described in a config object. For compatibility, the framework should + * allow a mixture of declarative and imperative app wiring, however, apps + * that strive for the maximum ease of maintainability should be able to describe + * their state machine with a config object alone. + */ +export interface Config { + /** modules are the module configurations for the app. */ + modules: ModuleConfig[]; + /** + * golang_bindings specifies explicit interface to implementation type bindings which + * depinject uses to resolve interface inputs to provider functions. The scope of this + * field's configuration is global (not module specific). + */ + golangBindings: GolangBinding[]; +} +/** ModuleConfig is a module configuration for an app. */ +export interface ModuleConfig { + /** + * name is the unique name of the module within the app. It should be a name + * that persists between different versions of a module so that modules + * can be smoothly upgraded to new versions. + * + * For example, for the module cosmos.bank.module.v1.Module, we may chose + * to simply name the module "bank" in the app. When we upgrade to + * cosmos.bank.module.v2.Module, the app-specific name "bank" stays the same + * and the framework knows that the v2 module should receive all the same state + * that the v1 module had. Note: modules should provide info on which versions + * they can migrate from in the ModuleDescriptor.can_migration_from field. + */ + name: string; + /** + * config is the config object for the module. Module config messages should + * define a ModuleDescriptor using the cosmos.app.v1alpha1.is_module extension. + */ + config?: Any; + /** + * golang_bindings specifies explicit interface to implementation type bindings which + * depinject uses to resolve interface inputs to provider functions. The scope of this + * field's configuration is module specific. + */ + golangBindings: GolangBinding[]; +} +/** GolangBinding is an explicit interface type to implementing type binding for dependency injection. */ +export interface GolangBinding { + /** interface_type is the interface type which will be bound to a specific implementation type */ + interfaceType: string; + /** implementation is the implementing type which will be supplied when an input of type interface is requested */ + implementation: string; +} +export declare const Config: { + encode(message: Config, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Config; + fromJSON(object: any): Config; + toJSON(message: Config): unknown; + fromPartial, never>) | undefined; + golangBindings?: ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + }[] & ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + } & { + interfaceType?: string | undefined; + implementation?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + golangBindings?: ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + }[] & ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + } & { + interfaceType?: string | undefined; + implementation?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): Config; +}; +export declare const ModuleConfig: { + encode(message: ModuleConfig, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleConfig; + fromJSON(object: any): ModuleConfig; + toJSON(message: ModuleConfig): unknown; + fromPartial, never>) | undefined; + golangBindings?: ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + }[] & ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + } & { + interfaceType?: string | undefined; + implementation?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ModuleConfig; +}; +export declare const GolangBinding: { + encode(message: GolangBinding, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GolangBinding; + fromJSON(object: any): GolangBinding; + toJSON(message: GolangBinding): unknown; + fromPartial, never>>(object: I): GolangBinding; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js new file mode 100644 index 00000000..1be7a91b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js @@ -0,0 +1,227 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GolangBinding = exports.ModuleConfig = exports.Config = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../google/protobuf/any"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.app.v1alpha1"; +function createBaseConfig() { + return { + modules: [], + golangBindings: [], + }; +} +exports.Config = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.modules) { + exports.ModuleConfig.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.golangBindings) { + exports.GolangBinding.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.modules.push(exports.ModuleConfig.decode(reader, reader.uint32())); + break; + case 2: + message.golangBindings.push(exports.GolangBinding.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + modules: Array.isArray(object?.modules) ? object.modules.map((e) => exports.ModuleConfig.fromJSON(e)) : [], + golangBindings: Array.isArray(object?.golangBindings) + ? object.golangBindings.map((e) => exports.GolangBinding.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.modules) { + obj.modules = message.modules.map((e) => (e ? exports.ModuleConfig.toJSON(e) : undefined)); + } + else { + obj.modules = []; + } + if (message.golangBindings) { + obj.golangBindings = message.golangBindings.map((e) => (e ? exports.GolangBinding.toJSON(e) : undefined)); + } + else { + obj.golangBindings = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseConfig(); + message.modules = object.modules?.map((e) => exports.ModuleConfig.fromPartial(e)) || []; + message.golangBindings = object.golangBindings?.map((e) => exports.GolangBinding.fromPartial(e)) || []; + return message; + }, +}; +function createBaseModuleConfig() { + return { + name: "", + config: undefined, + golangBindings: [], + }; +} +exports.ModuleConfig = { + encode(message, writer = _m0.Writer.create()) { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.config !== undefined) { + any_1.Any.encode(message.config, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.golangBindings) { + exports.GolangBinding.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.config = any_1.Any.decode(reader, reader.uint32()); + break; + case 3: + message.golangBindings.push(exports.GolangBinding.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "", + config: (0, helpers_1.isSet)(object.config) ? any_1.Any.fromJSON(object.config) : undefined, + golangBindings: Array.isArray(object?.golangBindings) + ? object.golangBindings.map((e) => exports.GolangBinding.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.name !== undefined && (obj.name = message.name); + message.config !== undefined && (obj.config = message.config ? any_1.Any.toJSON(message.config) : undefined); + if (message.golangBindings) { + obj.golangBindings = message.golangBindings.map((e) => (e ? exports.GolangBinding.toJSON(e) : undefined)); + } + else { + obj.golangBindings = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseModuleConfig(); + message.name = object.name ?? ""; + message.config = + object.config !== undefined && object.config !== null ? any_1.Any.fromPartial(object.config) : undefined; + message.golangBindings = object.golangBindings?.map((e) => exports.GolangBinding.fromPartial(e)) || []; + return message; + }, +}; +function createBaseGolangBinding() { + return { + interfaceType: "", + implementation: "", + }; +} +exports.GolangBinding = { + encode(message, writer = _m0.Writer.create()) { + if (message.interfaceType !== "") { + writer.uint32(10).string(message.interfaceType); + } + if (message.implementation !== "") { + writer.uint32(18).string(message.implementation); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGolangBinding(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.interfaceType = reader.string(); + break; + case 2: + message.implementation = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + interfaceType: (0, helpers_1.isSet)(object.interfaceType) ? String(object.interfaceType) : "", + implementation: (0, helpers_1.isSet)(object.implementation) ? String(object.implementation) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.interfaceType !== undefined && (obj.interfaceType = message.interfaceType); + message.implementation !== undefined && (obj.implementation = message.implementation); + return obj; + }, + fromPartial(object) { + const message = createBaseGolangBinding(); + message.interfaceType = object.interfaceType ?? ""; + message.implementation = object.implementation ?? ""; + return message; + }, +}; +//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js.map b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js.map new file mode 100644 index 00000000..050656df --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/cosmos/app/v1alpha1/config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.d.ts new file mode 100644 index 00000000..1e609df0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.d.ts @@ -0,0 +1,146 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.app.v1alpha1"; +/** ModuleDescriptor describes an app module. */ +export interface ModuleDescriptor { + /** + * go_import names the package that should be imported by an app to load the + * module in the runtime module registry. It is required to make debugging + * of configuration errors easier for users. + */ + goImport: string; + /** + * use_package refers to a protobuf package that this module + * uses and exposes to the world. In an app, only one module should "use" + * or own a single protobuf package. It is assumed that the module uses + * all of the .proto files in a single package. + */ + usePackage: PackageReference[]; + /** + * can_migrate_from defines which module versions this module can migrate + * state from. The framework will check that one module version is able to + * migrate from a previous module version before attempting to update its + * config. It is assumed that modules can transitively migrate from earlier + * versions. For instance if v3 declares it can migrate from v2, and v2 + * declares it can migrate from v1, the framework knows how to migrate + * from v1 to v3, assuming all 3 module versions are registered at runtime. + */ + canMigrateFrom: MigrateFromInfo[]; +} +/** PackageReference is a reference to a protobuf package used by a module. */ +export interface PackageReference { + /** name is the fully-qualified name of the package. */ + name: string; + /** + * revision is the optional revision of the package that is being used. + * Protobuf packages used in Cosmos should generally have a major version + * as the last part of the package name, ex. foo.bar.baz.v1. + * The revision of a package can be thought of as the minor version of a + * package which has additional backwards compatible definitions that weren't + * present in a previous version. + * + * A package should indicate its revision with a source code comment + * above the package declaration in one of its files containing the + * text "Revision N" where N is an integer revision. All packages start + * at revision 0 the first time they are released in a module. + * + * When a new version of a module is released and items are added to existing + * .proto files, these definitions should contain comments of the form + * "Since Revision N" where N is an integer revision. + * + * When the module runtime starts up, it will check the pinned proto + * image and panic if there are runtime protobuf definitions that are not + * in the pinned descriptor which do not have + * a "Since Revision N" comment or have a "Since Revision N" comment where + * N is <= to the revision specified here. This indicates that the protobuf + * files have been updated, but the pinned file descriptor hasn't. + * + * If there are items in the pinned file descriptor with a revision + * greater than the value indicated here, this will also cause a panic + * as it may mean that the pinned descriptor for a legacy module has been + * improperly updated or that there is some other versioning discrepancy. + * Runtime protobuf definitions will also be checked for compatibility + * with pinned file descriptors to make sure there are no incompatible changes. + * + * This behavior ensures that: + * * pinned proto images are up-to-date + * * protobuf files are carefully annotated with revision comments which + * are important good client UX + * * protobuf files are changed in backwards and forwards compatible ways + */ + revision: number; +} +/** + * MigrateFromInfo is information on a module version that a newer module + * can migrate from. + */ +export interface MigrateFromInfo { + /** + * module is the fully-qualified protobuf name of the module config object + * for the previous module version, ex: "cosmos.group.module.v1.Module". + */ + module: string; +} +export declare const ModuleDescriptor: { + encode(message: ModuleDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleDescriptor; + fromJSON(object: any): ModuleDescriptor; + toJSON(message: ModuleDescriptor): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + canMigrateFrom?: ({ + module?: string | undefined; + }[] & ({ + module?: string | undefined; + } & { + module?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ModuleDescriptor; +}; +export declare const PackageReference: { + encode(message: PackageReference, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): PackageReference; + fromJSON(object: any): PackageReference; + toJSON(message: PackageReference): unknown; + fromPartial, never>>(object: I): PackageReference; +}; +export declare const MigrateFromInfo: { + encode(message: MigrateFromInfo, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MigrateFromInfo; + fromJSON(object: any): MigrateFromInfo; + toJSON(message: MigrateFromInfo): unknown; + fromPartial, never>>(object: I): MigrateFromInfo; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js new file mode 100644 index 00000000..e8f4e8bd --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js @@ -0,0 +1,210 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MigrateFromInfo = exports.PackageReference = exports.ModuleDescriptor = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.app.v1alpha1"; +function createBaseModuleDescriptor() { + return { + goImport: "", + usePackage: [], + canMigrateFrom: [], + }; +} +exports.ModuleDescriptor = { + encode(message, writer = _m0.Writer.create()) { + if (message.goImport !== "") { + writer.uint32(10).string(message.goImport); + } + for (const v of message.usePackage) { + exports.PackageReference.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.canMigrateFrom) { + exports.MigrateFromInfo.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.goImport = reader.string(); + break; + case 2: + message.usePackage.push(exports.PackageReference.decode(reader, reader.uint32())); + break; + case 3: + message.canMigrateFrom.push(exports.MigrateFromInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + goImport: (0, helpers_1.isSet)(object.goImport) ? String(object.goImport) : "", + usePackage: Array.isArray(object?.usePackage) + ? object.usePackage.map((e) => exports.PackageReference.fromJSON(e)) + : [], + canMigrateFrom: Array.isArray(object?.canMigrateFrom) + ? object.canMigrateFrom.map((e) => exports.MigrateFromInfo.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.goImport !== undefined && (obj.goImport = message.goImport); + if (message.usePackage) { + obj.usePackage = message.usePackage.map((e) => (e ? exports.PackageReference.toJSON(e) : undefined)); + } + else { + obj.usePackage = []; + } + if (message.canMigrateFrom) { + obj.canMigrateFrom = message.canMigrateFrom.map((e) => (e ? exports.MigrateFromInfo.toJSON(e) : undefined)); + } + else { + obj.canMigrateFrom = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseModuleDescriptor(); + message.goImport = object.goImport ?? ""; + message.usePackage = object.usePackage?.map((e) => exports.PackageReference.fromPartial(e)) || []; + message.canMigrateFrom = object.canMigrateFrom?.map((e) => exports.MigrateFromInfo.fromPartial(e)) || []; + return message; + }, +}; +function createBasePackageReference() { + return { + name: "", + revision: 0, + }; +} +exports.PackageReference = { + encode(message, writer = _m0.Writer.create()) { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.revision !== 0) { + writer.uint32(16).uint32(message.revision); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePackageReference(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.revision = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "", + revision: (0, helpers_1.isSet)(object.revision) ? Number(object.revision) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.name !== undefined && (obj.name = message.name); + message.revision !== undefined && (obj.revision = Math.round(message.revision)); + return obj; + }, + fromPartial(object) { + const message = createBasePackageReference(); + message.name = object.name ?? ""; + message.revision = object.revision ?? 0; + return message; + }, +}; +function createBaseMigrateFromInfo() { + return { + module: "", + }; +} +exports.MigrateFromInfo = { + encode(message, writer = _m0.Writer.create()) { + if (message.module !== "") { + writer.uint32(10).string(message.module); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMigrateFromInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.module = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + module: (0, helpers_1.isSet)(object.module) ? String(object.module) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.module !== undefined && (obj.module = message.module); + return obj; + }, + fromPartial(object) { + const message = createBaseMigrateFromInfo(); + message.module = object.module ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js.map new file mode 100644 index 00000000..d85f9654 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/cosmos/app/v1alpha1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.d.ts new file mode 100644 index 00000000..46f62d72 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.d.ts @@ -0,0 +1,139 @@ +import { Config } from "./config"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.app.v1alpha1"; +/** QueryConfigRequest is the Query/Config request type. */ +export interface QueryConfigRequest { +} +/** QueryConfigRequest is the Query/Config response type. */ +export interface QueryConfigResponse { + /** config is the current app config. */ + config?: Config; +} +export declare const QueryConfigRequest: { + encode(_: QueryConfigRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryConfigRequest; + fromJSON(_: any): QueryConfigRequest; + toJSON(_: QueryConfigRequest): unknown; + fromPartial, never>>(_: I): QueryConfigRequest; +}; +export declare const QueryConfigResponse: { + encode(message: QueryConfigResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryConfigResponse; + fromJSON(object: any): QueryConfigResponse; + toJSON(message: QueryConfigResponse): unknown; + fromPartial, never>) | undefined; + golangBindings?: ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + }[] & ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + } & { + interfaceType?: string | undefined; + implementation?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + golangBindings?: ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + }[] & ({ + interfaceType?: string | undefined; + implementation?: string | undefined; + } & { + interfaceType?: string | undefined; + implementation?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryConfigResponse; +}; +/** Query is the app module query service. */ +export interface Query { + /** Config returns the current app config. */ + Config(request?: QueryConfigRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Config(request?: QueryConfigRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js new file mode 100644 index 00000000..a350e869 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js @@ -0,0 +1,123 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryConfigResponse = exports.QueryConfigRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const config_1 = require("./config"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.app.v1alpha1"; +function createBaseQueryConfigRequest() { + return {}; +} +exports.QueryConfigRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryConfigRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseQueryConfigRequest(); + return message; + }, +}; +function createBaseQueryConfigResponse() { + return { + config: undefined, + }; +} +exports.QueryConfigResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.config !== undefined) { + config_1.Config.encode(message.config, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.config = config_1.Config.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + config: (0, helpers_1.isSet)(object.config) ? config_1.Config.fromJSON(object.config) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.config !== undefined && (obj.config = message.config ? config_1.Config.toJSON(message.config) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryConfigResponse(); + message.config = + object.config !== undefined && object.config !== null ? config_1.Config.fromPartial(object.config) : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Config = this.Config.bind(this); + } + Config(request = {}) { + const data = exports.QueryConfigRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.app.v1alpha1.Query", "Config", data); + return promise.then((data) => exports.QueryConfigResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js.map new file mode 100644 index 00000000..f2d261f8 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/app/v1alpha1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/app/v1alpha1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.d.ts new file mode 100644 index 00000000..328e0786 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.d.ts @@ -0,0 +1,64 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.auth.module.v1"; +/** Module is the config object for the auth module. */ +export interface Module { + /** bech32_prefix is the bech32 account prefix for the app. */ + bech32Prefix: string; + /** module_account_permissions are module account permissions. */ + moduleAccountPermissions: ModuleAccountPermission[]; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + authority?: string | undefined; + } & Record, never>>(object: I): Module; +}; +export declare const ModuleAccountPermission: { + encode(message: ModuleAccountPermission, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission; + fromJSON(object: any): ModuleAccountPermission; + toJSON(message: ModuleAccountPermission): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): ModuleAccountPermission; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js new file mode 100644 index 00000000..dc28dc50 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js @@ -0,0 +1,164 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ModuleAccountPermission = exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.auth.module.v1"; +function createBaseModule() { + return { + bech32Prefix: "", + moduleAccountPermissions: [], + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.bech32Prefix !== "") { + writer.uint32(10).string(message.bech32Prefix); + } + for (const v of message.moduleAccountPermissions) { + exports.ModuleAccountPermission.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.authority !== "") { + writer.uint32(26).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bech32Prefix = reader.string(); + break; + case 2: + message.moduleAccountPermissions.push(exports.ModuleAccountPermission.decode(reader, reader.uint32())); + break; + case 3: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + bech32Prefix: (0, helpers_1.isSet)(object.bech32Prefix) ? String(object.bech32Prefix) : "", + moduleAccountPermissions: Array.isArray(object?.moduleAccountPermissions) + ? object.moduleAccountPermissions.map((e) => exports.ModuleAccountPermission.fromJSON(e)) + : [], + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.bech32Prefix !== undefined && (obj.bech32Prefix = message.bech32Prefix); + if (message.moduleAccountPermissions) { + obj.moduleAccountPermissions = message.moduleAccountPermissions.map((e) => e ? exports.ModuleAccountPermission.toJSON(e) : undefined); + } + else { + obj.moduleAccountPermissions = []; + } + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.bech32Prefix = object.bech32Prefix ?? ""; + message.moduleAccountPermissions = + object.moduleAccountPermissions?.map((e) => exports.ModuleAccountPermission.fromPartial(e)) || []; + message.authority = object.authority ?? ""; + return message; + }, +}; +function createBaseModuleAccountPermission() { + return { + account: "", + permissions: [], + }; +} +exports.ModuleAccountPermission = { + encode(message, writer = _m0.Writer.create()) { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.account = reader.string(); + break; + case 2: + message.permissions.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + account: (0, helpers_1.isSet)(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e) => String(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } + else { + obj.permissions = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js.map new file mode 100644 index 00000000..82b8e5b9 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/auth/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.d.ts new file mode 100644 index 00000000..e9e9b2e5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.d.ts @@ -0,0 +1,365 @@ +import { Params } from "./auth"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.auth.v1beta1"; +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/auth parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: Params; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse { +} +export declare const MsgUpdateParams: { + encode(message: MsgUpdateParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams; + fromJSON(object: any): MsgUpdateParams; + toJSON(message: MsgUpdateParams): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + txSigLimit?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + txSizeCostPerByte?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + sigVerifyCostEd25519?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + sigVerifyCostSecp256k1?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateParams; +}; +export declare const MsgUpdateParamsResponse: { + encode(_: MsgUpdateParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse; + fromJSON(_: any): MsgUpdateParamsResponse; + toJSON(_: MsgUpdateParamsResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateParamsResponse; +}; +/** Msg defines the x/auth Msg service. */ +export interface Msg { + /** + * UpdateParams defines a (governance) operation for updating the x/auth module + * parameters. The authority defaults to the x/gov module account. + * + * Since: cosmos-sdk 0.47 + */ + UpdateParams(request: MsgUpdateParams): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + UpdateParams(request: MsgUpdateParams): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js new file mode 100644 index 00000000..8219e614 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js @@ -0,0 +1,133 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgUpdateParamsResponse = exports.MsgUpdateParams = exports.protobufPackage = void 0; +/* eslint-disable */ +const auth_1 = require("./auth"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.auth.v1beta1"; +function createBaseMsgUpdateParams() { + return { + authority: "", + params: undefined, + }; +} +exports.MsgUpdateParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + auth_1.Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = auth_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + params: (0, helpers_1.isSet)(object.params) ? auth_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.params !== undefined && (obj.params = message.params ? auth_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ""; + message.params = + object.params !== undefined && object.params !== null ? auth_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseMsgUpdateParamsResponse() { + return {}; +} +exports.MsgUpdateParamsResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.UpdateParams = this.UpdateParams.bind(this); + } + UpdateParams(request) { + const data = exports.MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request("cosmos.auth.v1beta1.Msg", "UpdateParams", data); + return promise.then((data) => exports.MsgUpdateParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js.map new file mode 100644 index 00000000..2a616d06 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/auth/v1beta1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/auth/v1beta1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.d.ts new file mode 100644 index 00000000..3d1e5bc3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.authz.module.v1"; +/** Module is the config object of the authz module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js new file mode 100644 index 00000000..34ff2da3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.authz.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js.map new file mode 100644 index 00000000..a53146fc --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/authz/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/authz/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,wBAAwB,CAAC;AAGxD,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.d.ts new file mode 100644 index 00000000..924eaa90 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.d.ts @@ -0,0 +1,26 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.bank.module.v1"; +/** Module is the config object of the bank module. */ +export interface Module { + /** + * blocked_module_accounts configures exceptional module accounts which should be blocked from receiving funds. + * If left empty it defaults to the list of account names supplied in the auth module configuration as + * module_account_permissions + */ + blockedModuleAccountsOverride: string[]; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>) | undefined; + authority?: string | undefined; + } & Record, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js new file mode 100644 index 00000000..f775f847 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js @@ -0,0 +1,93 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.bank.module.v1"; +function createBaseModule() { + return { + blockedModuleAccountsOverride: [], + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.blockedModuleAccountsOverride) { + writer.uint32(10).string(v); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockedModuleAccountsOverride.push(reader.string()); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + blockedModuleAccountsOverride: Array.isArray(object?.blockedModuleAccountsOverride) + ? object.blockedModuleAccountsOverride.map((e) => String(e)) + : [], + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + if (message.blockedModuleAccountsOverride) { + obj.blockedModuleAccountsOverride = message.blockedModuleAccountsOverride.map((e) => e); + } + else { + obj.blockedModuleAccountsOverride = []; + } + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.blockedModuleAccountsOverride = object.blockedModuleAccountsOverride?.map((e) => e) || []; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js.map new file mode 100644 index 00000000..b9443fb4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/bank/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/bank/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.d.ts new file mode 100644 index 00000000..a6756637 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.d.ts @@ -0,0 +1,38 @@ +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../../helpers"; +export declare const protobufPackage = "cosmos.base.node.v1beta1"; +/** ConfigRequest defines the request structure for the Config gRPC query. */ +export interface ConfigRequest { +} +/** ConfigResponse defines the response structure for the Config gRPC query. */ +export interface ConfigResponse { + minimumGasPrice: string; +} +export declare const ConfigRequest: { + encode(_: ConfigRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ConfigRequest; + fromJSON(_: any): ConfigRequest; + toJSON(_: ConfigRequest): unknown; + fromPartial, never>>(_: I): ConfigRequest; +}; +export declare const ConfigResponse: { + encode(message: ConfigResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ConfigResponse; + fromJSON(object: any): ConfigResponse; + toJSON(message: ConfigResponse): unknown; + fromPartial, never>>(object: I): ConfigResponse; +}; +/** Service defines the gRPC querier service for node related queries. */ +export interface Service { + /** Config queries for the operator configuration. */ + Config(request?: ConfigRequest): Promise; +} +export declare class ServiceClientImpl implements Service { + private readonly rpc; + constructor(rpc: Rpc); + Config(request?: ConfigRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js new file mode 100644 index 00000000..f9ae504f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js @@ -0,0 +1,121 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServiceClientImpl = exports.ConfigResponse = exports.ConfigRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.base.node.v1beta1"; +function createBaseConfigRequest() { + return {}; +} +exports.ConfigRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfigRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseConfigRequest(); + return message; + }, +}; +function createBaseConfigResponse() { + return { + minimumGasPrice: "", + }; +} +exports.ConfigResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.minimumGasPrice !== "") { + writer.uint32(10).string(message.minimumGasPrice); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minimumGasPrice = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + minimumGasPrice: (0, helpers_1.isSet)(object.minimumGasPrice) ? String(object.minimumGasPrice) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.minimumGasPrice !== undefined && (obj.minimumGasPrice = message.minimumGasPrice); + return obj; + }, + fromPartial(object) { + const message = createBaseConfigResponse(); + message.minimumGasPrice = object.minimumGasPrice ?? ""; + return message; + }, +}; +class ServiceClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Config = this.Config.bind(this); + } + Config(request = {}) { + const data = exports.ConfigRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.base.node.v1beta1.Service", "Config", data); + return promise.then((data) => exports.ConfigResponse.decode(new _m0.Reader(data))); + } +} +exports.ServiceClientImpl = ServiceClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js.map new file mode 100644 index 00000000..de096116 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/node/v1beta1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/cosmos/base/node/v1beta1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.d.ts new file mode 100644 index 00000000..f2894761 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.d.ts @@ -0,0 +1,2129 @@ +import { RequestDeliverTx, ResponseDeliverTx, RequestBeginBlock, ResponseBeginBlock, RequestEndBlock, ResponseEndBlock, ResponseCommit } from "../../../../tendermint/abci/types"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.base.store.v1beta1"; +/** + * StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes) + * It optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and + * Deletes + * + * Since: cosmos-sdk 0.43 + */ +export interface StoreKVPair { + /** the store key for the KVStore this pair originates from */ + storeKey: string; + /** true indicates a delete operation, false indicates a set operation */ + delete: boolean; + key: Uint8Array; + value: Uint8Array; +} +/** + * BlockMetadata contains all the abci event data of a block + * the file streamer dump them into files together with the state changes. + */ +export interface BlockMetadata { + requestBeginBlock?: RequestBeginBlock; + responseBeginBlock?: ResponseBeginBlock; + deliverTxs: BlockMetadata_DeliverTx[]; + requestEndBlock?: RequestEndBlock; + responseEndBlock?: ResponseEndBlock; + responseCommit?: ResponseCommit; +} +/** DeliverTx encapulate deliver tx request and response. */ +export interface BlockMetadata_DeliverTx { + request?: RequestDeliverTx; + response?: ResponseDeliverTx; +} +export declare const StoreKVPair: { + encode(message: StoreKVPair, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): StoreKVPair; + fromJSON(object: any): StoreKVPair; + toJSON(message: StoreKVPair): unknown; + fromPartial, never>>(object: I): StoreKVPair; +}; +export declare const BlockMetadata: { + encode(message: BlockMetadata, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): BlockMetadata; + fromJSON(object: any): BlockMetadata; + toJSON(message: BlockMetadata): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + app?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + chainId?: string | undefined; + height?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + time?: ({ + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + lastBlockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } & Record, never>) | undefined; + lastCommitInfo?: ({ + round?: number | undefined; + votes?: { + validator?: { + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } | undefined; + signedLastBlock?: boolean | undefined; + }[] | undefined; + } & { + round?: number | undefined; + votes?: ({ + validator?: { + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } | undefined; + signedLastBlock?: boolean | undefined; + }[] & ({ + validator?: { + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } | undefined; + signedLastBlock?: boolean | undefined; + } & { + validator?: ({ + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } & { + address?: Uint8Array | undefined; + power?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + signedLastBlock?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + byzantineValidators?: ({ + type?: import("../../../../tendermint/abci/types").MisbehaviorType | undefined; + validator?: { + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } | undefined; + height?: string | number | import("long").Long | undefined; + time?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + totalVotingPower?: string | number | import("long").Long | undefined; + }[] & ({ + type?: import("../../../../tendermint/abci/types").MisbehaviorType | undefined; + validator?: { + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } | undefined; + height?: string | number | import("long").Long | undefined; + time?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + totalVotingPower?: string | number | import("long").Long | undefined; + } & { + type?: import("../../../../tendermint/abci/types").MisbehaviorType | undefined; + validator?: ({ + address?: Uint8Array | undefined; + power?: string | number | import("long").Long | undefined; + } & { + address?: Uint8Array | undefined; + power?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + height?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + time?: ({ + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + totalVotingPower?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + responseBeginBlock?: ({ + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + } & { + events?: ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] & ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + } & { + type?: string | undefined; + attributes?: ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] & ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + deliverTxs?: ({ + request?: { + tx?: Uint8Array | undefined; + } | undefined; + response?: { + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | import("long").Long | undefined; + gasUsed?: string | number | import("long").Long | undefined; + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + codespace?: string | undefined; + } | undefined; + }[] & ({ + request?: { + tx?: Uint8Array | undefined; + } | undefined; + response?: { + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | import("long").Long | undefined; + gasUsed?: string | number | import("long").Long | undefined; + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + codespace?: string | undefined; + } | undefined; + } & { + request?: ({ + tx?: Uint8Array | undefined; + } & { + tx?: Uint8Array | undefined; + } & Record, never>) | undefined; + response?: ({ + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | import("long").Long | undefined; + gasUsed?: string | number | import("long").Long | undefined; + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + codespace?: string | undefined; + } & { + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + gasUsed?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + events?: ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] & ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + } & { + type?: string | undefined; + attributes?: ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] & ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + codespace?: string | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + requestEndBlock?: ({ + height?: string | number | import("long").Long | undefined; + } & { + height?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + responseEndBlock?: ({ + validatorUpdates?: { + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + power?: string | number | import("long").Long | undefined; + }[] | undefined; + consensusParamUpdates?: { + block?: { + maxBytes?: string | number | import("long").Long | undefined; + maxGas?: string | number | import("long").Long | undefined; + } | undefined; + evidence?: { + maxAgeNumBlocks?: string | number | import("long").Long | undefined; + maxAgeDuration?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + maxBytes?: string | number | import("long").Long | undefined; + } | undefined; + validator?: { + pubKeyTypes?: string[] | undefined; + } | undefined; + version?: { + app?: string | number | import("long").Long | undefined; + } | undefined; + } | undefined; + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + } & { + validatorUpdates?: ({ + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + power?: string | number | import("long").Long | undefined; + }[] & ({ + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + power?: string | number | import("long").Long | undefined; + } & { + pubKey?: ({ + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & Record, never>) | undefined; + power?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + consensusParamUpdates?: ({ + block?: { + maxBytes?: string | number | import("long").Long | undefined; + maxGas?: string | number | import("long").Long | undefined; + } | undefined; + evidence?: { + maxAgeNumBlocks?: string | number | import("long").Long | undefined; + maxAgeDuration?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + maxBytes?: string | number | import("long").Long | undefined; + } | undefined; + validator?: { + pubKeyTypes?: string[] | undefined; + } | undefined; + version?: { + app?: string | number | import("long").Long | undefined; + } | undefined; + } & { + block?: ({ + maxBytes?: string | number | import("long").Long | undefined; + maxGas?: string | number | import("long").Long | undefined; + } & { + maxBytes?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxGas?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + evidence?: ({ + maxAgeNumBlocks?: string | number | import("long").Long | undefined; + maxAgeDuration?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + maxBytes?: string | number | import("long").Long | undefined; + } & { + maxAgeNumBlocks?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxAgeDuration?: ({ + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + maxBytes?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + validator?: ({ + pubKeyTypes?: string[] | undefined; + } & { + pubKeyTypes?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + version?: ({ + app?: string | number | import("long").Long | undefined; + } & { + app?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + events?: ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] & ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + } & { + type?: string | undefined; + attributes?: ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] & ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + responseCommit?: ({ + data?: Uint8Array | undefined; + retainHeight?: string | number | import("long").Long | undefined; + } & { + data?: Uint8Array | undefined; + retainHeight?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): BlockMetadata; +}; +export declare const BlockMetadata_DeliverTx: { + encode(message: BlockMetadata_DeliverTx, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): BlockMetadata_DeliverTx; + fromJSON(object: any): BlockMetadata_DeliverTx; + toJSON(message: BlockMetadata_DeliverTx): unknown; + fromPartial, never>) | undefined; + response?: ({ + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | import("long").Long | undefined; + gasUsed?: string | number | import("long").Long | undefined; + events?: { + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] | undefined; + codespace?: string | undefined; + } & { + code?: number | undefined; + data?: Uint8Array | undefined; + log?: string | undefined; + info?: string | undefined; + gasWanted?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + gasUsed?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + events?: ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + }[] & ({ + type?: string | undefined; + attributes?: { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] | undefined; + } & { + type?: string | undefined; + attributes?: ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + }[] & ({ + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & { + key?: string | undefined; + value?: string | undefined; + index?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + codespace?: string | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): BlockMetadata_DeliverTx; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js new file mode 100644 index 00000000..e09f35a3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js @@ -0,0 +1,314 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BlockMetadata_DeliverTx = exports.BlockMetadata = exports.StoreKVPair = exports.protobufPackage = void 0; +/* eslint-disable */ +const types_1 = require("../../../../tendermint/abci/types"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.base.store.v1beta1"; +function createBaseStoreKVPair() { + return { + storeKey: "", + delete: false, + key: new Uint8Array(), + value: new Uint8Array(), + }; +} +exports.StoreKVPair = { + encode(message, writer = _m0.Writer.create()) { + if (message.storeKey !== "") { + writer.uint32(10).string(message.storeKey); + } + if (message.delete === true) { + writer.uint32(16).bool(message.delete); + } + if (message.key.length !== 0) { + writer.uint32(26).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(34).bytes(message.value); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreKVPair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.storeKey = reader.string(); + break; + case 2: + message.delete = reader.bool(); + break; + case 3: + message.key = reader.bytes(); + break; + case 4: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + storeKey: (0, helpers_1.isSet)(object.storeKey) ? String(object.storeKey) : "", + delete: (0, helpers_1.isSet)(object.delete) ? Boolean(object.delete) : false, + key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(), + value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(), + }; + }, + toJSON(message) { + const obj = {}; + message.storeKey !== undefined && (obj.storeKey = message.storeKey); + message.delete !== undefined && (obj.delete = message.delete); + message.key !== undefined && + (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array())); + message.value !== undefined && + (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array())); + return obj; + }, + fromPartial(object) { + const message = createBaseStoreKVPair(); + message.storeKey = object.storeKey ?? ""; + message.delete = object.delete ?? false; + message.key = object.key ?? new Uint8Array(); + message.value = object.value ?? new Uint8Array(); + return message; + }, +}; +function createBaseBlockMetadata() { + return { + requestBeginBlock: undefined, + responseBeginBlock: undefined, + deliverTxs: [], + requestEndBlock: undefined, + responseEndBlock: undefined, + responseCommit: undefined, + }; +} +exports.BlockMetadata = { + encode(message, writer = _m0.Writer.create()) { + if (message.requestBeginBlock !== undefined) { + types_1.RequestBeginBlock.encode(message.requestBeginBlock, writer.uint32(10).fork()).ldelim(); + } + if (message.responseBeginBlock !== undefined) { + types_1.ResponseBeginBlock.encode(message.responseBeginBlock, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.deliverTxs) { + exports.BlockMetadata_DeliverTx.encode(v, writer.uint32(26).fork()).ldelim(); + } + if (message.requestEndBlock !== undefined) { + types_1.RequestEndBlock.encode(message.requestEndBlock, writer.uint32(34).fork()).ldelim(); + } + if (message.responseEndBlock !== undefined) { + types_1.ResponseEndBlock.encode(message.responseEndBlock, writer.uint32(42).fork()).ldelim(); + } + if (message.responseCommit !== undefined) { + types_1.ResponseCommit.encode(message.responseCommit, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.requestBeginBlock = types_1.RequestBeginBlock.decode(reader, reader.uint32()); + break; + case 2: + message.responseBeginBlock = types_1.ResponseBeginBlock.decode(reader, reader.uint32()); + break; + case 3: + message.deliverTxs.push(exports.BlockMetadata_DeliverTx.decode(reader, reader.uint32())); + break; + case 4: + message.requestEndBlock = types_1.RequestEndBlock.decode(reader, reader.uint32()); + break; + case 5: + message.responseEndBlock = types_1.ResponseEndBlock.decode(reader, reader.uint32()); + break; + case 6: + message.responseCommit = types_1.ResponseCommit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + requestBeginBlock: (0, helpers_1.isSet)(object.requestBeginBlock) + ? types_1.RequestBeginBlock.fromJSON(object.requestBeginBlock) + : undefined, + responseBeginBlock: (0, helpers_1.isSet)(object.responseBeginBlock) + ? types_1.ResponseBeginBlock.fromJSON(object.responseBeginBlock) + : undefined, + deliverTxs: Array.isArray(object?.deliverTxs) + ? object.deliverTxs.map((e) => exports.BlockMetadata_DeliverTx.fromJSON(e)) + : [], + requestEndBlock: (0, helpers_1.isSet)(object.requestEndBlock) + ? types_1.RequestEndBlock.fromJSON(object.requestEndBlock) + : undefined, + responseEndBlock: (0, helpers_1.isSet)(object.responseEndBlock) + ? types_1.ResponseEndBlock.fromJSON(object.responseEndBlock) + : undefined, + responseCommit: (0, helpers_1.isSet)(object.responseCommit) + ? types_1.ResponseCommit.fromJSON(object.responseCommit) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.requestBeginBlock !== undefined && + (obj.requestBeginBlock = message.requestBeginBlock + ? types_1.RequestBeginBlock.toJSON(message.requestBeginBlock) + : undefined); + message.responseBeginBlock !== undefined && + (obj.responseBeginBlock = message.responseBeginBlock + ? types_1.ResponseBeginBlock.toJSON(message.responseBeginBlock) + : undefined); + if (message.deliverTxs) { + obj.deliverTxs = message.deliverTxs.map((e) => (e ? exports.BlockMetadata_DeliverTx.toJSON(e) : undefined)); + } + else { + obj.deliverTxs = []; + } + message.requestEndBlock !== undefined && + (obj.requestEndBlock = message.requestEndBlock + ? types_1.RequestEndBlock.toJSON(message.requestEndBlock) + : undefined); + message.responseEndBlock !== undefined && + (obj.responseEndBlock = message.responseEndBlock + ? types_1.ResponseEndBlock.toJSON(message.responseEndBlock) + : undefined); + message.responseCommit !== undefined && + (obj.responseCommit = message.responseCommit + ? types_1.ResponseCommit.toJSON(message.responseCommit) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseBlockMetadata(); + message.requestBeginBlock = + object.requestBeginBlock !== undefined && object.requestBeginBlock !== null + ? types_1.RequestBeginBlock.fromPartial(object.requestBeginBlock) + : undefined; + message.responseBeginBlock = + object.responseBeginBlock !== undefined && object.responseBeginBlock !== null + ? types_1.ResponseBeginBlock.fromPartial(object.responseBeginBlock) + : undefined; + message.deliverTxs = object.deliverTxs?.map((e) => exports.BlockMetadata_DeliverTx.fromPartial(e)) || []; + message.requestEndBlock = + object.requestEndBlock !== undefined && object.requestEndBlock !== null + ? types_1.RequestEndBlock.fromPartial(object.requestEndBlock) + : undefined; + message.responseEndBlock = + object.responseEndBlock !== undefined && object.responseEndBlock !== null + ? types_1.ResponseEndBlock.fromPartial(object.responseEndBlock) + : undefined; + message.responseCommit = + object.responseCommit !== undefined && object.responseCommit !== null + ? types_1.ResponseCommit.fromPartial(object.responseCommit) + : undefined; + return message; + }, +}; +function createBaseBlockMetadata_DeliverTx() { + return { + request: undefined, + response: undefined, + }; +} +exports.BlockMetadata_DeliverTx = { + encode(message, writer = _m0.Writer.create()) { + if (message.request !== undefined) { + types_1.RequestDeliverTx.encode(message.request, writer.uint32(10).fork()).ldelim(); + } + if (message.response !== undefined) { + types_1.ResponseDeliverTx.encode(message.response, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockMetadata_DeliverTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.request = types_1.RequestDeliverTx.decode(reader, reader.uint32()); + break; + case 2: + message.response = types_1.ResponseDeliverTx.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + request: (0, helpers_1.isSet)(object.request) ? types_1.RequestDeliverTx.fromJSON(object.request) : undefined, + response: (0, helpers_1.isSet)(object.response) ? types_1.ResponseDeliverTx.fromJSON(object.response) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.request !== undefined && + (obj.request = message.request ? types_1.RequestDeliverTx.toJSON(message.request) : undefined); + message.response !== undefined && + (obj.response = message.response ? types_1.ResponseDeliverTx.toJSON(message.response) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseBlockMetadata_DeliverTx(); + message.request = + object.request !== undefined && object.request !== null + ? types_1.RequestDeliverTx.fromPartial(object.request) + : undefined; + message.response = + object.response !== undefined && object.response !== null + ? types_1.ResponseDeliverTx.fromPartial(object.response) + : undefined; + return message; + }, +}; +//# sourceMappingURL=listening.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js.map b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js.map new file mode 100644 index 00000000..7b74f05f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/store/v1beta1/listening.js.map @@ -0,0 +1 @@ +{"version":3,"file":"listening.js","sourceRoot":"","sources":["../../../../../src/cosmos/base/store/v1beta1/listening.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.d.ts new file mode 100644 index 00000000..929b6fed --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.d.ts @@ -0,0 +1,3548 @@ +/// +import { Data, Commit, BlockID } from "../../../../tendermint/types/types"; +import { EvidenceList } from "../../../../tendermint/types/evidence"; +import { Consensus } from "../../../../tendermint/version/types"; +import { Timestamp } from "../../../../google/protobuf/timestamp"; +import { Long } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.base.tendermint.v1beta1"; +/** + * Block is tendermint type Block, with the Header proposer address + * field converted to bech32 string. + */ +export interface Block { + header?: Header; + data?: Data; + evidence?: EvidenceList; + lastCommit?: Commit; +} +/** Header defines the structure of a Tendermint block header. */ +export interface Header { + /** basic block info */ + version?: Consensus; + chainId: string; + height: Long; + time?: Timestamp; + /** prev block info */ + lastBlockId?: BlockID; + /** hashes of block data */ + lastCommitHash: Uint8Array; + dataHash: Uint8Array; + /** hashes from the app output from the prev block */ + validatorsHash: Uint8Array; + /** validators for the next block */ + nextValidatorsHash: Uint8Array; + /** consensus params for current block */ + consensusHash: Uint8Array; + /** state after txs from the previous block */ + appHash: Uint8Array; + lastResultsHash: Uint8Array; + /** consensus info */ + evidenceHash: Uint8Array; + /** + * proposer_address is the original block proposer address, formatted as a Bech32 string. + * In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string + * for better UX. + */ + proposerAddress: string; +} +export declare const Block: { + encode(message: Block, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Block; + fromJSON(object: any): Block; + toJSON(message: Block): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + app?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + chainId?: string | undefined; + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + time?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + lastBlockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: string | undefined; + } & Record, never>) | undefined; + data?: ({ + txs?: Uint8Array[] | undefined; + } & { + txs?: (Uint8Array[] & Uint8Array[] & Record, never>) | undefined; + } & Record, never>) | undefined; + evidence?: ({ + evidence?: { + duplicateVoteEvidence?: { + voteA?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + voteB?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + validatorPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + lightClientAttackEvidence?: { + conflictingBlock?: { + signedHeader?: { + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + validatorSet?: { + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } | undefined; + } | undefined; + commonHeight?: string | number | Long.Long | undefined; + byzantineValidators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + }[] | undefined; + } & { + evidence?: ({ + duplicateVoteEvidence?: { + voteA?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + voteB?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + validatorPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + lightClientAttackEvidence?: { + conflictingBlock?: { + signedHeader?: { + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + validatorSet?: { + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } | undefined; + } | undefined; + commonHeight?: string | number | Long.Long | undefined; + byzantineValidators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + }[] & ({ + duplicateVoteEvidence?: { + voteA?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + voteB?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + validatorPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + lightClientAttackEvidence?: { + conflictingBlock?: { + signedHeader?: { + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + validatorSet?: { + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } | undefined; + } | undefined; + commonHeight?: string | number | Long.Long | undefined; + byzantineValidators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + } & { + duplicateVoteEvidence?: ({ + voteA?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + voteB?: { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + validatorPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + voteA?: ({ + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } & { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + round?: number | undefined; + blockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } & Record, never>) | undefined; + voteB?: ({ + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } & { + type?: import("../../../../tendermint/types/types").SignedMsgType | undefined; + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + round?: number | undefined; + blockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + validatorAddress?: Uint8Array | undefined; + validatorIndex?: number | undefined; + signature?: Uint8Array | undefined; + } & Record, never>) | undefined; + totalVotingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + validatorPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + lightClientAttackEvidence?: ({ + conflictingBlock?: { + signedHeader?: { + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + validatorSet?: { + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } | undefined; + } | undefined; + commonHeight?: string | number | Long.Long | undefined; + byzantineValidators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + conflictingBlock?: ({ + signedHeader?: { + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + validatorSet?: { + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } | undefined; + } & { + signedHeader?: ({ + header?: { + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } | undefined; + commit?: { + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } & { + header?: ({ + version?: { + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } | undefined; + chainId?: string | undefined; + height?: string | number | Long.Long | undefined; + time?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + lastBlockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } & { + version?: ({ + block?: string | number | Long.Long | undefined; + app?: string | number | Long.Long | undefined; + } & { + block?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + app?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + chainId?: string | undefined; + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + time?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + lastBlockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: Uint8Array | undefined; + } & Record, never>) | undefined; + commit?: ({ + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } & { + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + round?: number | undefined; + blockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + signatures?: ({ + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] & ({ + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + } & { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + signature?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + validatorSet?: ({ + validators?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] | undefined; + proposer?: { + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } | undefined; + totalVotingPower?: string | number | Long.Long | undefined; + } & { + validators?: ({ + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] & ({ + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } & { + address?: Uint8Array | undefined; + pubKey?: ({ + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & Record, never>) | undefined; + votingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + proposerPriority?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + proposer?: ({ + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } & { + address?: Uint8Array | undefined; + pubKey?: ({ + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & Record, never>) | undefined; + votingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + proposerPriority?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + totalVotingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + commonHeight?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + byzantineValidators?: ({ + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + }[] & ({ + address?: Uint8Array | undefined; + pubKey?: { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } | undefined; + votingPower?: string | number | Long.Long | undefined; + proposerPriority?: string | number | Long.Long | undefined; + } & { + address?: Uint8Array | undefined; + pubKey?: ({ + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & { + ed25519?: Uint8Array | undefined; + secp256k1?: Uint8Array | undefined; + } & Record, never>) | undefined; + votingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + proposerPriority?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + totalVotingPower?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + lastCommit?: ({ + height?: string | number | Long.Long | undefined; + round?: number | undefined; + blockId?: { + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } | undefined; + signatures?: { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] | undefined; + } & { + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + round?: number | undefined; + blockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + signatures?: ({ + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + }[] & ({ + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + signature?: Uint8Array | undefined; + } & { + blockIdFlag?: import("../../../../tendermint/types/types").BlockIDFlag | undefined; + validatorAddress?: Uint8Array | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + signature?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): Block; +}; +export declare const Header: { + encode(message: Header, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Header; + fromJSON(object: any): Header; + toJSON(message: Header): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + app?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + chainId?: string | undefined; + height?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + time?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + lastBlockId?: ({ + hash?: Uint8Array | undefined; + partSetHeader?: { + total?: number | undefined; + hash?: Uint8Array | undefined; + } | undefined; + } & { + hash?: Uint8Array | undefined; + partSetHeader?: ({ + total?: number | undefined; + hash?: Uint8Array | undefined; + } & { + total?: number | undefined; + hash?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + lastCommitHash?: Uint8Array | undefined; + dataHash?: Uint8Array | undefined; + validatorsHash?: Uint8Array | undefined; + nextValidatorsHash?: Uint8Array | undefined; + consensusHash?: Uint8Array | undefined; + appHash?: Uint8Array | undefined; + lastResultsHash?: Uint8Array | undefined; + evidenceHash?: Uint8Array | undefined; + proposerAddress?: string | undefined; + } & Record, never>>(object: I): Header; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js new file mode 100644 index 00000000..cfb34094 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js @@ -0,0 +1,321 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Header = exports.Block = exports.protobufPackage = void 0; +/* eslint-disable */ +const types_1 = require("../../../../tendermint/types/types"); +const evidence_1 = require("../../../../tendermint/types/evidence"); +const types_2 = require("../../../../tendermint/version/types"); +const timestamp_1 = require("../../../../google/protobuf/timestamp"); +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.base.tendermint.v1beta1"; +function createBaseBlock() { + return { + header: undefined, + data: undefined, + evidence: undefined, + lastCommit: undefined, + }; +} +exports.Block = { + encode(message, writer = _m0.Writer.create()) { + if (message.header !== undefined) { + exports.Header.encode(message.header, writer.uint32(10).fork()).ldelim(); + } + if (message.data !== undefined) { + types_1.Data.encode(message.data, writer.uint32(18).fork()).ldelim(); + } + if (message.evidence !== undefined) { + evidence_1.EvidenceList.encode(message.evidence, writer.uint32(26).fork()).ldelim(); + } + if (message.lastCommit !== undefined) { + types_1.Commit.encode(message.lastCommit, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = exports.Header.decode(reader, reader.uint32()); + break; + case 2: + message.data = types_1.Data.decode(reader, reader.uint32()); + break; + case 3: + message.evidence = evidence_1.EvidenceList.decode(reader, reader.uint32()); + break; + case 4: + message.lastCommit = types_1.Commit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + header: (0, helpers_1.isSet)(object.header) ? exports.Header.fromJSON(object.header) : undefined, + data: (0, helpers_1.isSet)(object.data) ? types_1.Data.fromJSON(object.data) : undefined, + evidence: (0, helpers_1.isSet)(object.evidence) ? evidence_1.EvidenceList.fromJSON(object.evidence) : undefined, + lastCommit: (0, helpers_1.isSet)(object.lastCommit) ? types_1.Commit.fromJSON(object.lastCommit) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.header !== undefined && (obj.header = message.header ? exports.Header.toJSON(message.header) : undefined); + message.data !== undefined && (obj.data = message.data ? types_1.Data.toJSON(message.data) : undefined); + message.evidence !== undefined && + (obj.evidence = message.evidence ? evidence_1.EvidenceList.toJSON(message.evidence) : undefined); + message.lastCommit !== undefined && + (obj.lastCommit = message.lastCommit ? types_1.Commit.toJSON(message.lastCommit) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseBlock(); + message.header = + object.header !== undefined && object.header !== null ? exports.Header.fromPartial(object.header) : undefined; + message.data = + object.data !== undefined && object.data !== null ? types_1.Data.fromPartial(object.data) : undefined; + message.evidence = + object.evidence !== undefined && object.evidence !== null + ? evidence_1.EvidenceList.fromPartial(object.evidence) + : undefined; + message.lastCommit = + object.lastCommit !== undefined && object.lastCommit !== null + ? types_1.Commit.fromPartial(object.lastCommit) + : undefined; + return message; + }, +}; +function createBaseHeader() { + return { + version: undefined, + chainId: "", + height: helpers_1.Long.ZERO, + time: undefined, + lastBlockId: undefined, + lastCommitHash: new Uint8Array(), + dataHash: new Uint8Array(), + validatorsHash: new Uint8Array(), + nextValidatorsHash: new Uint8Array(), + consensusHash: new Uint8Array(), + appHash: new Uint8Array(), + lastResultsHash: new Uint8Array(), + evidenceHash: new Uint8Array(), + proposerAddress: "", + }; +} +exports.Header = { + encode(message, writer = _m0.Writer.create()) { + if (message.version !== undefined) { + types_2.Consensus.encode(message.version, writer.uint32(10).fork()).ldelim(); + } + if (message.chainId !== "") { + writer.uint32(18).string(message.chainId); + } + if (!message.height.isZero()) { + writer.uint32(24).int64(message.height); + } + if (message.time !== undefined) { + timestamp_1.Timestamp.encode(message.time, writer.uint32(34).fork()).ldelim(); + } + if (message.lastBlockId !== undefined) { + types_1.BlockID.encode(message.lastBlockId, writer.uint32(42).fork()).ldelim(); + } + if (message.lastCommitHash.length !== 0) { + writer.uint32(50).bytes(message.lastCommitHash); + } + if (message.dataHash.length !== 0) { + writer.uint32(58).bytes(message.dataHash); + } + if (message.validatorsHash.length !== 0) { + writer.uint32(66).bytes(message.validatorsHash); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(74).bytes(message.nextValidatorsHash); + } + if (message.consensusHash.length !== 0) { + writer.uint32(82).bytes(message.consensusHash); + } + if (message.appHash.length !== 0) { + writer.uint32(90).bytes(message.appHash); + } + if (message.lastResultsHash.length !== 0) { + writer.uint32(98).bytes(message.lastResultsHash); + } + if (message.evidenceHash.length !== 0) { + writer.uint32(106).bytes(message.evidenceHash); + } + if (message.proposerAddress !== "") { + writer.uint32(114).string(message.proposerAddress); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = types_2.Consensus.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.time = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + message.lastBlockId = types_1.BlockID.decode(reader, reader.uint32()); + break; + case 6: + message.lastCommitHash = reader.bytes(); + break; + case 7: + message.dataHash = reader.bytes(); + break; + case 8: + message.validatorsHash = reader.bytes(); + break; + case 9: + message.nextValidatorsHash = reader.bytes(); + break; + case 10: + message.consensusHash = reader.bytes(); + break; + case 11: + message.appHash = reader.bytes(); + break; + case 12: + message.lastResultsHash = reader.bytes(); + break; + case 13: + message.evidenceHash = reader.bytes(); + break; + case 14: + message.proposerAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + version: (0, helpers_1.isSet)(object.version) ? types_2.Consensus.fromJSON(object.version) : undefined, + chainId: (0, helpers_1.isSet)(object.chainId) ? String(object.chainId) : "", + height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO, + time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined, + lastBlockId: (0, helpers_1.isSet)(object.lastBlockId) ? types_1.BlockID.fromJSON(object.lastBlockId) : undefined, + lastCommitHash: (0, helpers_1.isSet)(object.lastCommitHash) + ? (0, helpers_1.bytesFromBase64)(object.lastCommitHash) + : new Uint8Array(), + dataHash: (0, helpers_1.isSet)(object.dataHash) ? (0, helpers_1.bytesFromBase64)(object.dataHash) : new Uint8Array(), + validatorsHash: (0, helpers_1.isSet)(object.validatorsHash) + ? (0, helpers_1.bytesFromBase64)(object.validatorsHash) + : new Uint8Array(), + nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) + ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) + : new Uint8Array(), + consensusHash: (0, helpers_1.isSet)(object.consensusHash) ? (0, helpers_1.bytesFromBase64)(object.consensusHash) : new Uint8Array(), + appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array(), + lastResultsHash: (0, helpers_1.isSet)(object.lastResultsHash) + ? (0, helpers_1.bytesFromBase64)(object.lastResultsHash) + : new Uint8Array(), + evidenceHash: (0, helpers_1.isSet)(object.evidenceHash) ? (0, helpers_1.bytesFromBase64)(object.evidenceHash) : new Uint8Array(), + proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? String(object.proposerAddress) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.version !== undefined && + (obj.version = message.version ? types_2.Consensus.toJSON(message.version) : undefined); + message.chainId !== undefined && (obj.chainId = message.chainId); + message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString()); + message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString()); + message.lastBlockId !== undefined && + (obj.lastBlockId = message.lastBlockId ? types_1.BlockID.toJSON(message.lastBlockId) : undefined); + message.lastCommitHash !== undefined && + (obj.lastCommitHash = (0, helpers_1.base64FromBytes)(message.lastCommitHash !== undefined ? message.lastCommitHash : new Uint8Array())); + message.dataHash !== undefined && + (obj.dataHash = (0, helpers_1.base64FromBytes)(message.dataHash !== undefined ? message.dataHash : new Uint8Array())); + message.validatorsHash !== undefined && + (obj.validatorsHash = (0, helpers_1.base64FromBytes)(message.validatorsHash !== undefined ? message.validatorsHash : new Uint8Array())); + message.nextValidatorsHash !== undefined && + (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array())); + message.consensusHash !== undefined && + (obj.consensusHash = (0, helpers_1.base64FromBytes)(message.consensusHash !== undefined ? message.consensusHash : new Uint8Array())); + message.appHash !== undefined && + (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array())); + message.lastResultsHash !== undefined && + (obj.lastResultsHash = (0, helpers_1.base64FromBytes)(message.lastResultsHash !== undefined ? message.lastResultsHash : new Uint8Array())); + message.evidenceHash !== undefined && + (obj.evidenceHash = (0, helpers_1.base64FromBytes)(message.evidenceHash !== undefined ? message.evidenceHash : new Uint8Array())); + message.proposerAddress !== undefined && (obj.proposerAddress = message.proposerAddress); + return obj; + }, + fromPartial(object) { + const message = createBaseHeader(); + message.version = + object.version !== undefined && object.version !== null + ? types_2.Consensus.fromPartial(object.version) + : undefined; + message.chainId = object.chainId ?? ""; + message.height = + object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO; + message.time = + object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined; + message.lastBlockId = + object.lastBlockId !== undefined && object.lastBlockId !== null + ? types_1.BlockID.fromPartial(object.lastBlockId) + : undefined; + message.lastCommitHash = object.lastCommitHash ?? new Uint8Array(); + message.dataHash = object.dataHash ?? new Uint8Array(); + message.validatorsHash = object.validatorsHash ?? new Uint8Array(); + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.consensusHash = object.consensusHash ?? new Uint8Array(); + message.appHash = object.appHash ?? new Uint8Array(); + message.lastResultsHash = object.lastResultsHash ?? new Uint8Array(); + message.evidenceHash = object.evidenceHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? ""; + return message; + }, +}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js.map b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js.map new file mode 100644 index 00000000..fa2fbf37 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/base/tendermint/v1beta1/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/cosmos/base/tendermint/v1beta1/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.d.ts new file mode 100644 index 00000000..d48113e5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.d.ts @@ -0,0 +1,21 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.capability.module.v1"; +/** Module is the config object of the capability module. */ +export interface Module { + /** + * seal_keeper defines if keeper.Seal() will run on BeginBlock() to prevent further modules from creating a scoped + * keeper. For more details check x/capability/keeper.go. + */ + sealKeeper: boolean; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js new file mode 100644 index 00000000..e255e075 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.capability.module.v1"; +function createBaseModule() { + return { + sealKeeper: false, + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.sealKeeper === true) { + writer.uint32(8).bool(message.sealKeeper); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sealKeeper = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sealKeeper: (0, helpers_1.isSet)(object.sealKeeper) ? Boolean(object.sealKeeper) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.sealKeeper !== undefined && (obj.sealKeeper = message.sealKeeper); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.sealKeeper = object.sealKeeper ?? false; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js.map new file mode 100644 index 00000000..78cedd31 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/capability/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/capability/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,6BAA6B,CAAC;AAS7D,SAAS,gBAAgB;IACvB,OAAO;QACL,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;SAC1E,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.d.ts new file mode 100644 index 00000000..04488e51 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.d.ts @@ -0,0 +1,18 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.consensus.module.v1"; +/** Module is the config object of the consensus module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js new file mode 100644 index 00000000..650cab7b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.consensus.module.v1"; +function createBaseModule() { + return { + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js.map new file mode 100644 index 00000000..8f321332 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/consensus/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,4BAA4B,CAAC;AAM5D,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.d.ts new file mode 100644 index 00000000..7ff7e25d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.d.ts @@ -0,0 +1,460 @@ +import { ConsensusParams } from "../../../tendermint/types/params"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.consensus.v1"; +/** QueryParamsRequest defines the request type for querying x/consensus parameters. */ +export interface QueryParamsRequest { +} +/** QueryParamsResponse defines the response type for querying x/consensus parameters. */ +export interface QueryParamsResponse { + /** + * params are the tendermint consensus params stored in the consensus module. + * Please note that `params.version` is not populated in this response, it is + * tracked separately in the x/upgrade module. + */ + params?: ConsensusParams; +} +export declare const QueryParamsRequest: { + encode(_: QueryParamsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest; + fromJSON(_: any): QueryParamsRequest; + toJSON(_: QueryParamsRequest): unknown; + fromPartial, never>>(_: I): QueryParamsRequest; +}; +export declare const QueryParamsResponse: { + encode(message: QueryParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse; + fromJSON(object: any): QueryParamsResponse; + toJSON(message: QueryParamsResponse): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxGas?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + evidence?: ({ + maxAgeNumBlocks?: string | number | import("long").Long | undefined; + maxAgeDuration?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + maxBytes?: string | number | import("long").Long | undefined; + } & { + maxAgeNumBlocks?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxAgeDuration?: ({ + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + maxBytes?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + validator?: ({ + pubKeyTypes?: string[] | undefined; + } & { + pubKeyTypes?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + version?: ({ + app?: string | number | import("long").Long | undefined; + } & { + app?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryParamsResponse; +}; +/** Query defines the gRPC querier service. */ +export interface Query { + /** Params queries the parameters of x/consensus_param module. */ + Params(request?: QueryParamsRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Params(request?: QueryParamsRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js new file mode 100644 index 00000000..bf0932b0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js @@ -0,0 +1,126 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryParamsResponse = exports.QueryParamsRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const params_1 = require("../../../tendermint/types/params"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.consensus.v1"; +function createBaseQueryParamsRequest() { + return {}; +} +exports.QueryParamsRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; +function createBaseQueryParamsResponse() { + return { + params: undefined, + }; +} +exports.QueryParamsResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.params !== undefined) { + params_1.ConsensusParams.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.params = params_1.ConsensusParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + params: (0, helpers_1.isSet)(object.params) ? params_1.ConsensusParams.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.params !== undefined && + (obj.params = message.params ? params_1.ConsensusParams.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryParamsResponse(); + message.params = + object.params !== undefined && object.params !== null + ? params_1.ConsensusParams.fromPartial(object.params) + : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Params = this.Params.bind(this); + } + Params(request = {}) { + const data = exports.QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.consensus.v1.Query", "Params", data); + return promise.then((data) => exports.QueryParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js.map new file mode 100644 index 00000000..72e2caf7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/consensus/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.d.ts new file mode 100644 index 00000000..96623724 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.d.ts @@ -0,0 +1,388 @@ +import { BlockParams, EvidenceParams, ValidatorParams } from "../../../tendermint/types/params"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.consensus.v1"; +/** MsgUpdateParams is the Msg/UpdateParams request type. */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/consensus parameters to update. + * VersionsParams is not included in this Msg because it is tracked + * separarately in x/upgrade. + * + * NOTE: All parameters must be supplied. + */ + block?: BlockParams; + evidence?: EvidenceParams; + validator?: ValidatorParams; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + */ +export interface MsgUpdateParamsResponse { +} +export declare const MsgUpdateParams: { + encode(message: MsgUpdateParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams; + fromJSON(object: any): MsgUpdateParams; + toJSON(message: MsgUpdateParams): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxGas?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + evidence?: ({ + maxAgeNumBlocks?: string | number | import("long").Long | undefined; + maxAgeDuration?: { + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } | undefined; + maxBytes?: string | number | import("long").Long | undefined; + } & { + maxAgeNumBlocks?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + maxAgeDuration?: ({ + seconds?: string | number | import("long").Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + maxBytes?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + validator?: ({ + pubKeyTypes?: string[] | undefined; + } & { + pubKeyTypes?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateParams; +}; +export declare const MsgUpdateParamsResponse: { + encode(_: MsgUpdateParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse; + fromJSON(_: any): MsgUpdateParamsResponse; + toJSON(_: MsgUpdateParamsResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateParamsResponse; +}; +/** Msg defines the bank Msg service. */ +export interface Msg { + /** + * UpdateParams defines a governance operation for updating the x/consensus_param module parameters. + * The authority is defined in the keeper. + * + * Since: cosmos-sdk 0.47 + */ + UpdateParams(request: MsgUpdateParams): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + UpdateParams(request: MsgUpdateParams): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js new file mode 100644 index 00000000..1680bbff --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js @@ -0,0 +1,162 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgUpdateParamsResponse = exports.MsgUpdateParams = exports.protobufPackage = void 0; +/* eslint-disable */ +const params_1 = require("../../../tendermint/types/params"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.consensus.v1"; +function createBaseMsgUpdateParams() { + return { + authority: "", + block: undefined, + evidence: undefined, + validator: undefined, + }; +} +exports.MsgUpdateParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.block !== undefined) { + params_1.BlockParams.encode(message.block, writer.uint32(18).fork()).ldelim(); + } + if (message.evidence !== undefined) { + params_1.EvidenceParams.encode(message.evidence, writer.uint32(26).fork()).ldelim(); + } + if (message.validator !== undefined) { + params_1.ValidatorParams.encode(message.validator, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.block = params_1.BlockParams.decode(reader, reader.uint32()); + break; + case 3: + message.evidence = params_1.EvidenceParams.decode(reader, reader.uint32()); + break; + case 4: + message.validator = params_1.ValidatorParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + block: (0, helpers_1.isSet)(object.block) ? params_1.BlockParams.fromJSON(object.block) : undefined, + evidence: (0, helpers_1.isSet)(object.evidence) ? params_1.EvidenceParams.fromJSON(object.evidence) : undefined, + validator: (0, helpers_1.isSet)(object.validator) ? params_1.ValidatorParams.fromJSON(object.validator) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.block !== undefined && + (obj.block = message.block ? params_1.BlockParams.toJSON(message.block) : undefined); + message.evidence !== undefined && + (obj.evidence = message.evidence ? params_1.EvidenceParams.toJSON(message.evidence) : undefined); + message.validator !== undefined && + (obj.validator = message.validator ? params_1.ValidatorParams.toJSON(message.validator) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ""; + message.block = + object.block !== undefined && object.block !== null ? params_1.BlockParams.fromPartial(object.block) : undefined; + message.evidence = + object.evidence !== undefined && object.evidence !== null + ? params_1.EvidenceParams.fromPartial(object.evidence) + : undefined; + message.validator = + object.validator !== undefined && object.validator !== null + ? params_1.ValidatorParams.fromPartial(object.validator) + : undefined; + return message; + }, +}; +function createBaseMsgUpdateParamsResponse() { + return {}; +} +exports.MsgUpdateParamsResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.UpdateParams = this.UpdateParams.bind(this); + } + UpdateParams(request) { + const data = exports.MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request("cosmos.consensus.v1.Msg", "UpdateParams", data); + return promise.then((data) => exports.MsgUpdateParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js.map new file mode 100644 index 00000000..12136149 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/consensus/v1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/consensus/v1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.d.ts new file mode 100644 index 00000000..f8232c00 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.d.ts @@ -0,0 +1,22 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.crisis.module.v1"; +/** Module is the config object of the crisis module. */ +export interface Module { + /** fee_collector_name is the name of the FeeCollector ModuleAccount. */ + feeCollectorName: string; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js new file mode 100644 index 00000000..0c1cea6f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js @@ -0,0 +1,86 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.crisis.module.v1"; +function createBaseModule() { + return { + feeCollectorName: "", + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.feeCollectorName !== "") { + writer.uint32(10).string(message.feeCollectorName); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeCollectorName = reader.string(); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeCollectorName: (0, helpers_1.isSet)(object.feeCollectorName) ? String(object.feeCollectorName) : "", + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.feeCollectorName !== undefined && (obj.feeCollectorName = message.feeCollectorName); + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.feeCollectorName = object.feeCollectorName ?? ""; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js.map new file mode 100644 index 00000000..516a5e3e --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crisis/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/crisis/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.d.ts new file mode 100644 index 00000000..bc1d8ebe --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.d.ts @@ -0,0 +1,37 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.crypto.hd.v1"; +/** BIP44Params is used as path field in ledger item in Record. */ +export interface BIP44Params { + /** purpose is a constant set to 44' (or 0x8000002C) following the BIP43 recommendation */ + purpose: number; + /** coin_type is a constant that improves privacy */ + coinType: number; + /** account splits the key space into independent user identities */ + account: number; + /** + * change is a constant used for public derivation. Constant 0 is used for external chain and constant 1 for internal + * chain. + */ + change: boolean; + /** address_index is used as child index in BIP32 derivation */ + addressIndex: number; +} +export declare const BIP44Params: { + encode(message: BIP44Params, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): BIP44Params; + fromJSON(object: any): BIP44Params; + toJSON(message: BIP44Params): unknown; + fromPartial, never>>(object: I): BIP44Params; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js new file mode 100644 index 00000000..8faca305 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js @@ -0,0 +1,116 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BIP44Params = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.crypto.hd.v1"; +function createBaseBIP44Params() { + return { + purpose: 0, + coinType: 0, + account: 0, + change: false, + addressIndex: 0, + }; +} +exports.BIP44Params = { + encode(message, writer = _m0.Writer.create()) { + if (message.purpose !== 0) { + writer.uint32(8).uint32(message.purpose); + } + if (message.coinType !== 0) { + writer.uint32(16).uint32(message.coinType); + } + if (message.account !== 0) { + writer.uint32(24).uint32(message.account); + } + if (message.change === true) { + writer.uint32(32).bool(message.change); + } + if (message.addressIndex !== 0) { + writer.uint32(40).uint32(message.addressIndex); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBIP44Params(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.purpose = reader.uint32(); + break; + case 2: + message.coinType = reader.uint32(); + break; + case 3: + message.account = reader.uint32(); + break; + case 4: + message.change = reader.bool(); + break; + case 5: + message.addressIndex = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + purpose: (0, helpers_1.isSet)(object.purpose) ? Number(object.purpose) : 0, + coinType: (0, helpers_1.isSet)(object.coinType) ? Number(object.coinType) : 0, + account: (0, helpers_1.isSet)(object.account) ? Number(object.account) : 0, + change: (0, helpers_1.isSet)(object.change) ? Boolean(object.change) : false, + addressIndex: (0, helpers_1.isSet)(object.addressIndex) ? Number(object.addressIndex) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.purpose !== undefined && (obj.purpose = Math.round(message.purpose)); + message.coinType !== undefined && (obj.coinType = Math.round(message.coinType)); + message.account !== undefined && (obj.account = Math.round(message.account)); + message.change !== undefined && (obj.change = message.change); + message.addressIndex !== undefined && (obj.addressIndex = Math.round(message.addressIndex)); + return obj; + }, + fromPartial(object) { + const message = createBaseBIP44Params(); + message.purpose = object.purpose ?? 0; + message.coinType = object.coinType ?? 0; + message.account = object.account ?? 0; + message.change = object.change ?? false; + message.addressIndex = object.addressIndex ?? 0; + return message; + }, +}; +//# sourceMappingURL=hd.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js.map b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js.map new file mode 100644 index 00000000..d35732c4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/hd/v1/hd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hd.js","sourceRoot":"","sources":["../../../../../src/cosmos/crypto/hd/v1/hd.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.d.ts new file mode 100644 index 00000000..5e197745 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.d.ts @@ -0,0 +1,177 @@ +import { Any } from "../../../../google/protobuf/any"; +import { BIP44Params } from "../../hd/v1/hd"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.crypto.keyring.v1"; +/** Record is used for representing a key in the keyring. */ +export interface Record { + /** name represents a name of Record */ + name: string; + /** pub_key represents a public key in any format */ + pubKey?: Any; + /** local stores the private key locally. */ + local?: Record_Local; + /** ledger stores the information about a Ledger key. */ + ledger?: Record_Ledger; + /** Multi does not store any other information. */ + multi?: Record_Multi; + /** Offline does not store any other information. */ + offline?: Record_Offline; +} +/** + * Item is a keyring item stored in a keyring backend. + * Local item + */ +export interface Record_Local { + privKey?: Any; +} +/** Ledger item */ +export interface Record_Ledger { + path?: BIP44Params; +} +/** Multi item */ +export interface Record_Multi { +} +/** Offline item */ +export interface Record_Offline { +} +export declare const Record: { + encode(message: Record, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Record; + fromJSON(object: any): Record; + toJSON(message: Record): unknown; + fromPartial, never>) | undefined; + local?: ({ + privKey?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + } & { + privKey?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & globalThis.Record, never>) | undefined; + } & globalThis.Record, never>) | undefined; + ledger?: ({ + path?: { + purpose?: number | undefined; + coinType?: number | undefined; + account?: number | undefined; + change?: boolean | undefined; + addressIndex?: number | undefined; + } | undefined; + } & { + path?: ({ + purpose?: number | undefined; + coinType?: number | undefined; + account?: number | undefined; + change?: boolean | undefined; + addressIndex?: number | undefined; + } & { + purpose?: number | undefined; + coinType?: number | undefined; + account?: number | undefined; + change?: boolean | undefined; + addressIndex?: number | undefined; + } & globalThis.Record, never>) | undefined; + } & globalThis.Record, never>) | undefined; + multi?: ({} & {} & globalThis.Record, never>) | undefined; + offline?: ({} & {} & globalThis.Record, never>) | undefined; + } & globalThis.Record, never>>(object: I): Record; +}; +export declare const Record_Local: { + encode(message: Record_Local, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Record_Local; + fromJSON(object: any): Record_Local; + toJSON(message: Record_Local): unknown; + fromPartial, never>) | undefined; + } & globalThis.Record, never>>(object: I): Record_Local; +}; +export declare const Record_Ledger: { + encode(message: Record_Ledger, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Record_Ledger; + fromJSON(object: any): Record_Ledger; + toJSON(message: Record_Ledger): unknown; + fromPartial, never>) | undefined; + } & globalThis.Record, never>>(object: I): Record_Ledger; +}; +export declare const Record_Multi: { + encode(_: Record_Multi, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Record_Multi; + fromJSON(_: any): Record_Multi; + toJSON(_: Record_Multi): unknown; + fromPartial, never>>(_: I): Record_Multi; +}; +export declare const Record_Offline: { + encode(_: Record_Offline, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Record_Offline; + fromJSON(_: any): Record_Offline; + toJSON(_: Record_Offline): unknown; + fromPartial, never>>(_: I): Record_Offline; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js new file mode 100644 index 00000000..c8991010 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js @@ -0,0 +1,304 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Record_Offline = exports.Record_Multi = exports.Record_Ledger = exports.Record_Local = exports.Record = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../../google/protobuf/any"); +const hd_1 = require("../../hd/v1/hd"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.crypto.keyring.v1"; +function createBaseRecord() { + return { + name: "", + pubKey: undefined, + local: undefined, + ledger: undefined, + multi: undefined, + offline: undefined, + }; +} +exports.Record = { + encode(message, writer = _m0.Writer.create()) { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.pubKey !== undefined) { + any_1.Any.encode(message.pubKey, writer.uint32(18).fork()).ldelim(); + } + if (message.local !== undefined) { + exports.Record_Local.encode(message.local, writer.uint32(26).fork()).ldelim(); + } + if (message.ledger !== undefined) { + exports.Record_Ledger.encode(message.ledger, writer.uint32(34).fork()).ldelim(); + } + if (message.multi !== undefined) { + exports.Record_Multi.encode(message.multi, writer.uint32(42).fork()).ldelim(); + } + if (message.offline !== undefined) { + exports.Record_Offline.encode(message.offline, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.pubKey = any_1.Any.decode(reader, reader.uint32()); + break; + case 3: + message.local = exports.Record_Local.decode(reader, reader.uint32()); + break; + case 4: + message.ledger = exports.Record_Ledger.decode(reader, reader.uint32()); + break; + case 5: + message.multi = exports.Record_Multi.decode(reader, reader.uint32()); + break; + case 6: + message.offline = exports.Record_Offline.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "", + pubKey: (0, helpers_1.isSet)(object.pubKey) ? any_1.Any.fromJSON(object.pubKey) : undefined, + local: (0, helpers_1.isSet)(object.local) ? exports.Record_Local.fromJSON(object.local) : undefined, + ledger: (0, helpers_1.isSet)(object.ledger) ? exports.Record_Ledger.fromJSON(object.ledger) : undefined, + multi: (0, helpers_1.isSet)(object.multi) ? exports.Record_Multi.fromJSON(object.multi) : undefined, + offline: (0, helpers_1.isSet)(object.offline) ? exports.Record_Offline.fromJSON(object.offline) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.name !== undefined && (obj.name = message.name); + message.pubKey !== undefined && (obj.pubKey = message.pubKey ? any_1.Any.toJSON(message.pubKey) : undefined); + message.local !== undefined && + (obj.local = message.local ? exports.Record_Local.toJSON(message.local) : undefined); + message.ledger !== undefined && + (obj.ledger = message.ledger ? exports.Record_Ledger.toJSON(message.ledger) : undefined); + message.multi !== undefined && + (obj.multi = message.multi ? exports.Record_Multi.toJSON(message.multi) : undefined); + message.offline !== undefined && + (obj.offline = message.offline ? exports.Record_Offline.toJSON(message.offline) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseRecord(); + message.name = object.name ?? ""; + message.pubKey = + object.pubKey !== undefined && object.pubKey !== null ? any_1.Any.fromPartial(object.pubKey) : undefined; + message.local = + object.local !== undefined && object.local !== null + ? exports.Record_Local.fromPartial(object.local) + : undefined; + message.ledger = + object.ledger !== undefined && object.ledger !== null + ? exports.Record_Ledger.fromPartial(object.ledger) + : undefined; + message.multi = + object.multi !== undefined && object.multi !== null + ? exports.Record_Multi.fromPartial(object.multi) + : undefined; + message.offline = + object.offline !== undefined && object.offline !== null + ? exports.Record_Offline.fromPartial(object.offline) + : undefined; + return message; + }, +}; +function createBaseRecord_Local() { + return { + privKey: undefined, + }; +} +exports.Record_Local = { + encode(message, writer = _m0.Writer.create()) { + if (message.privKey !== undefined) { + any_1.Any.encode(message.privKey, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRecord_Local(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.privKey = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + privKey: (0, helpers_1.isSet)(object.privKey) ? any_1.Any.fromJSON(object.privKey) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.privKey !== undefined && + (obj.privKey = message.privKey ? any_1.Any.toJSON(message.privKey) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseRecord_Local(); + message.privKey = + object.privKey !== undefined && object.privKey !== null ? any_1.Any.fromPartial(object.privKey) : undefined; + return message; + }, +}; +function createBaseRecord_Ledger() { + return { + path: undefined, + }; +} +exports.Record_Ledger = { + encode(message, writer = _m0.Writer.create()) { + if (message.path !== undefined) { + hd_1.BIP44Params.encode(message.path, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRecord_Ledger(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.path = hd_1.BIP44Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + path: (0, helpers_1.isSet)(object.path) ? hd_1.BIP44Params.fromJSON(object.path) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.path !== undefined && (obj.path = message.path ? hd_1.BIP44Params.toJSON(message.path) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseRecord_Ledger(); + message.path = + object.path !== undefined && object.path !== null ? hd_1.BIP44Params.fromPartial(object.path) : undefined; + return message; + }, +}; +function createBaseRecord_Multi() { + return {}; +} +exports.Record_Multi = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRecord_Multi(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseRecord_Multi(); + return message; + }, +}; +function createBaseRecord_Offline() { + return {}; +} +exports.Record_Offline = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRecord_Offline(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseRecord_Offline(); + return message; + }, +}; +//# sourceMappingURL=record.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js.map b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js.map new file mode 100644 index 00000000..5a36b4c3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/crypto/keyring/v1/record.js.map @@ -0,0 +1 @@ +{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../../src/cosmos/crypto/keyring/v1/record.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.d.ts new file mode 100644 index 00000000..c8ca4549 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.d.ts @@ -0,0 +1,21 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.distribution.module.v1"; +/** Module is the config object of the distribution module. */ +export interface Module { + feeCollectorName: string; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js new file mode 100644 index 00000000..16e10a07 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js @@ -0,0 +1,86 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.distribution.module.v1"; +function createBaseModule() { + return { + feeCollectorName: "", + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.feeCollectorName !== "") { + writer.uint32(10).string(message.feeCollectorName); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeCollectorName = reader.string(); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeCollectorName: (0, helpers_1.isSet)(object.feeCollectorName) ? String(object.feeCollectorName) : "", + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.feeCollectorName !== undefined && (obj.feeCollectorName = message.feeCollectorName); + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.feeCollectorName = object.feeCollectorName ?? ""; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js.map new file mode 100644 index 00000000..d5a52d02 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/distribution/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/distribution/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.d.ts new file mode 100644 index 00000000..ffaedc51 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.evidence.module.v1"; +/** Module is the config object of the evidence module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js new file mode 100644 index 00000000..baff1b2e --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.evidence.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js.map new file mode 100644 index 00000000..62b63e39 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/evidence/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/evidence/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,2BAA2B,CAAC;AAG3D,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.d.ts new file mode 100644 index 00000000..15f072fe --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.feegrant.module.v1"; +/** Module is the config object of the feegrant module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js new file mode 100644 index 00000000..3d791f87 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.feegrant.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js.map new file mode 100644 index 00000000..89fb4588 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/feegrant/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/feegrant/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,2BAA2B,CAAC;AAG3D,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.d.ts new file mode 100644 index 00000000..3923b72c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.genutil.module.v1"; +/** Module is the config object for the genutil module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js new file mode 100644 index 00000000..6f9fb8e9 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.genutil.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js.map new file mode 100644 index 00000000..73972729 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/genutil/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/genutil/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,0BAA0B,CAAC;AAG1D,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.d.ts new file mode 100644 index 00000000..5b9bb8e1 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.d.ts @@ -0,0 +1,84 @@ +/// +import { Long } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.gov.module.v1"; +/** Module is the config object of the gov module. */ +export interface Module { + /** + * max_metadata_len defines the maximum proposal metadata length. + * Defaults to 255 if not explicitly set. + */ + maxMetadataLen: Long; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + authority?: string | undefined; + } & Record, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js new file mode 100644 index 00000000..54afbb43 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js @@ -0,0 +1,90 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.gov.module.v1"; +function createBaseModule() { + return { + maxMetadataLen: helpers_1.Long.UZERO, + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (!message.maxMetadataLen.isZero()) { + writer.uint32(8).uint64(message.maxMetadataLen); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxMetadataLen = reader.uint64(); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + maxMetadataLen: (0, helpers_1.isSet)(object.maxMetadataLen) ? helpers_1.Long.fromValue(object.maxMetadataLen) : helpers_1.Long.UZERO, + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.maxMetadataLen !== undefined && + (obj.maxMetadataLen = (message.maxMetadataLen || helpers_1.Long.UZERO).toString()); + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.maxMetadataLen = + object.maxMetadataLen !== undefined && object.maxMetadataLen !== null + ? helpers_1.Long.fromValue(object.maxMetadataLen) + : helpers_1.Long.UZERO; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js.map new file mode 100644 index 00000000..dd485d25 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/gov/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.d.ts new file mode 100644 index 00000000..1d2d1d8c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.d.ts @@ -0,0 +1,1206 @@ +/// +import { Deposit, Vote, Proposal, DepositParams, VotingParams, TallyParams, Params } from "./gov"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.gov.v1"; +/** GenesisState defines the gov module's genesis state. */ +export interface GenesisState { + /** starting_proposal_id is the ID of the starting proposal. */ + startingProposalId: Long; + /** deposits defines all the deposits present at genesis. */ + deposits: Deposit[]; + /** votes defines all the votes present at genesis. */ + votes: Vote[]; + /** proposals defines all the proposals present at genesis. */ + proposals: Proposal[]; + /** + * Deprecated: Prefer to use `params` instead. + * deposit_params defines all the paramaters of related to deposit. + */ + /** @deprecated */ + depositParams?: DepositParams; + /** + * Deprecated: Prefer to use `params` instead. + * voting_params defines all the paramaters of related to voting. + */ + /** @deprecated */ + votingParams?: VotingParams; + /** + * Deprecated: Prefer to use `params` instead. + * tally_params defines all the paramaters of related to tally. + */ + /** @deprecated */ + tallyParams?: TallyParams; + /** + * params defines all the paramaters of x/gov module. + * + * Since: cosmos-sdk 0.47 + */ + params?: Params; +} +export declare const GenesisState: { + encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState; + fromJSON(object: any): GenesisState; + toJSON(message: GenesisState): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + deposits?: ({ + proposalId?: string | number | Long.Long | undefined; + depositor?: string | undefined; + amount?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + }[] & ({ + proposalId?: string | number | Long.Long | undefined; + depositor?: string | undefined; + amount?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + proposalId?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + amount?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votes?: ({ + proposalId?: string | number | Long.Long | undefined; + voter?: string | undefined; + options?: { + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + }[] | undefined; + metadata?: string | undefined; + }[] & ({ + proposalId?: string | number | Long.Long | undefined; + voter?: string | undefined; + options?: { + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + }[] | undefined; + metadata?: string | undefined; + } & { + proposalId?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + options?: ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + }[] & ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & { + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + proposals?: ({ + id?: string | number | Long.Long | undefined; + messages?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] | undefined; + status?: import("./gov").ProposalStatus | undefined; + finalTallyResult?: { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + depositEndTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + totalDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + votingStartTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + votingEndTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + }[] & ({ + id?: string | number | Long.Long | undefined; + messages?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] | undefined; + status?: import("./gov").ProposalStatus | undefined; + finalTallyResult?: { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + depositEndTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + totalDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + votingStartTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + votingEndTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + } & { + id?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + status?: import("./gov").ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + depositEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + totalDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votingStartTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + depositParams?: ({ + minDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + maxDepositPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + minDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + votingParams?: ({ + votingPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + votingPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + tallyParams?: ({ + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + } & { + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + } & Record, never>) | undefined; + params?: ({ + minDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + maxDepositPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + votingPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & { + minDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): GenesisState; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js new file mode 100644 index 00000000..02a1ca95 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js @@ -0,0 +1,183 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GenesisState = exports.protobufPackage = void 0; +/* eslint-disable */ +const gov_1 = require("./gov"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.gov.v1"; +function createBaseGenesisState() { + return { + startingProposalId: helpers_1.Long.UZERO, + deposits: [], + votes: [], + proposals: [], + depositParams: undefined, + votingParams: undefined, + tallyParams: undefined, + params: undefined, + }; +} +exports.GenesisState = { + encode(message, writer = _m0.Writer.create()) { + if (!message.startingProposalId.isZero()) { + writer.uint32(8).uint64(message.startingProposalId); + } + for (const v of message.deposits) { + gov_1.Deposit.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.votes) { + gov_1.Vote.encode(v, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.proposals) { + gov_1.Proposal.encode(v, writer.uint32(34).fork()).ldelim(); + } + if (message.depositParams !== undefined) { + gov_1.DepositParams.encode(message.depositParams, writer.uint32(42).fork()).ldelim(); + } + if (message.votingParams !== undefined) { + gov_1.VotingParams.encode(message.votingParams, writer.uint32(50).fork()).ldelim(); + } + if (message.tallyParams !== undefined) { + gov_1.TallyParams.encode(message.tallyParams, writer.uint32(58).fork()).ldelim(); + } + if (message.params !== undefined) { + gov_1.Params.encode(message.params, writer.uint32(66).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startingProposalId = reader.uint64(); + break; + case 2: + message.deposits.push(gov_1.Deposit.decode(reader, reader.uint32())); + break; + case 3: + message.votes.push(gov_1.Vote.decode(reader, reader.uint32())); + break; + case 4: + message.proposals.push(gov_1.Proposal.decode(reader, reader.uint32())); + break; + case 5: + message.depositParams = gov_1.DepositParams.decode(reader, reader.uint32()); + break; + case 6: + message.votingParams = gov_1.VotingParams.decode(reader, reader.uint32()); + break; + case 7: + message.tallyParams = gov_1.TallyParams.decode(reader, reader.uint32()); + break; + case 8: + message.params = gov_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + startingProposalId: (0, helpers_1.isSet)(object.startingProposalId) + ? helpers_1.Long.fromValue(object.startingProposalId) + : helpers_1.Long.UZERO, + deposits: Array.isArray(object?.deposits) ? object.deposits.map((e) => gov_1.Deposit.fromJSON(e)) : [], + votes: Array.isArray(object?.votes) ? object.votes.map((e) => gov_1.Vote.fromJSON(e)) : [], + proposals: Array.isArray(object?.proposals) + ? object.proposals.map((e) => gov_1.Proposal.fromJSON(e)) + : [], + depositParams: (0, helpers_1.isSet)(object.depositParams) ? gov_1.DepositParams.fromJSON(object.depositParams) : undefined, + votingParams: (0, helpers_1.isSet)(object.votingParams) ? gov_1.VotingParams.fromJSON(object.votingParams) : undefined, + tallyParams: (0, helpers_1.isSet)(object.tallyParams) ? gov_1.TallyParams.fromJSON(object.tallyParams) : undefined, + params: (0, helpers_1.isSet)(object.params) ? gov_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.startingProposalId !== undefined && + (obj.startingProposalId = (message.startingProposalId || helpers_1.Long.UZERO).toString()); + if (message.deposits) { + obj.deposits = message.deposits.map((e) => (e ? gov_1.Deposit.toJSON(e) : undefined)); + } + else { + obj.deposits = []; + } + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? gov_1.Vote.toJSON(e) : undefined)); + } + else { + obj.votes = []; + } + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? gov_1.Proposal.toJSON(e) : undefined)); + } + else { + obj.proposals = []; + } + message.depositParams !== undefined && + (obj.depositParams = message.depositParams ? gov_1.DepositParams.toJSON(message.depositParams) : undefined); + message.votingParams !== undefined && + (obj.votingParams = message.votingParams ? gov_1.VotingParams.toJSON(message.votingParams) : undefined); + message.tallyParams !== undefined && + (obj.tallyParams = message.tallyParams ? gov_1.TallyParams.toJSON(message.tallyParams) : undefined); + message.params !== undefined && (obj.params = message.params ? gov_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseGenesisState(); + message.startingProposalId = + object.startingProposalId !== undefined && object.startingProposalId !== null + ? helpers_1.Long.fromValue(object.startingProposalId) + : helpers_1.Long.UZERO; + message.deposits = object.deposits?.map((e) => gov_1.Deposit.fromPartial(e)) || []; + message.votes = object.votes?.map((e) => gov_1.Vote.fromPartial(e)) || []; + message.proposals = object.proposals?.map((e) => gov_1.Proposal.fromPartial(e)) || []; + message.depositParams = + object.depositParams !== undefined && object.depositParams !== null + ? gov_1.DepositParams.fromPartial(object.depositParams) + : undefined; + message.votingParams = + object.votingParams !== undefined && object.votingParams !== null + ? gov_1.VotingParams.fromPartial(object.votingParams) + : undefined; + message.tallyParams = + object.tallyParams !== undefined && object.tallyParams !== null + ? gov_1.TallyParams.fromPartial(object.tallyParams) + : undefined; + message.params = + object.params !== undefined && object.params !== null ? gov_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +//# sourceMappingURL=genesis.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js.map b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js.map new file mode 100644 index 00000000..b1e52041 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/genesis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../../src/cosmos/gov/v1/genesis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.d.ts new file mode 100644 index 00000000..4abe1aad --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.d.ts @@ -0,0 +1,1181 @@ +/// +import { Coin } from "../../base/v1beta1/coin"; +import { Any } from "../../../google/protobuf/any"; +import { Timestamp } from "../../../google/protobuf/timestamp"; +import { Duration } from "../../../google/protobuf/duration"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.gov.v1"; +/** VoteOption enumerates the valid vote options for a given governance proposal. */ +export declare enum VoteOption { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1 +} +export declare function voteOptionFromJSON(object: any): VoteOption; +export declare function voteOptionToJSON(object: VoteOption): string; +/** ProposalStatus enumerates the valid statuses of a proposal. */ +export declare enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + PROPOSAL_STATUS_VOTING_PERIOD = 2, + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + PROPOSAL_STATUS_PASSED = 3, + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + PROPOSAL_STATUS_REJECTED = 4, + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + PROPOSAL_STATUS_FAILED = 5, + UNRECOGNIZED = -1 +} +export declare function proposalStatusFromJSON(object: any): ProposalStatus; +export declare function proposalStatusToJSON(object: ProposalStatus): string; +/** WeightedVoteOption defines a unit of vote for vote split. */ +export interface WeightedVoteOption { + /** option defines the valid vote options, it must not contain duplicate vote options. */ + option: VoteOption; + /** weight is the vote weight associated with the vote option. */ + weight: string; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface Deposit { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** amount to be deposited by depositor. */ + amount: Coin[]; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface Proposal { + /** id defines the unique id of the proposal. */ + id: Long; + /** messages are the arbitrary messages to be executed if the proposal passes. */ + messages: Any[]; + /** status defines the proposal status. */ + status: ProposalStatus; + /** + * final_tally_result is the final tally result of the proposal. When + * querying a proposal via gRPC, this field is not populated until the + * proposal's voting period has ended. + */ + finalTallyResult?: TallyResult; + /** submit_time is the time of proposal submission. */ + submitTime?: Timestamp; + /** deposit_end_time is the end time for deposition. */ + depositEndTime?: Timestamp; + /** total_deposit is the total deposit on the proposal. */ + totalDeposit: Coin[]; + /** voting_start_time is the starting time to vote on a proposal. */ + votingStartTime?: Timestamp; + /** voting_end_time is the end time of voting on a proposal. */ + votingEndTime?: Timestamp; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata: string; + /** + * title is the title of the proposal + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is a short summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary: string; + /** + * Proposer is the address of the proposal sumbitter + * + * Since: cosmos-sdk 0.47 + */ + proposer: string; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResult { + /** yes_count is the number of yes votes on a proposal. */ + yesCount: string; + /** abstain_count is the number of abstain votes on a proposal. */ + abstainCount: string; + /** no_count is the number of no votes on a proposal. */ + noCount: string; + /** no_with_veto_count is the number of no with veto votes on a proposal. */ + noWithVetoCount: string; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface Vote { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** voter is the voter address of the proposal. */ + voter: string; + /** options is the weighted vote options. */ + options: WeightedVoteOption[]; + /** metadata is any arbitrary metadata to attached to the vote. */ + metadata: string; +} +/** DepositParams defines the params for deposits on governance proposals. */ +export interface DepositParams { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod?: Duration; +} +/** VotingParams defines the params for voting on governance proposals. */ +export interface VotingParams { + /** Duration of the voting period. */ + votingPeriod?: Duration; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +export interface TallyParams { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: string; +} +/** + * Params defines the parameters for the x/gov module. + * + * Since: cosmos-sdk 0.47 + */ +export interface Params { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod?: Duration; + /** Duration of the voting period. */ + votingPeriod?: Duration; + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: string; + /** The ratio representing the proportion of the deposit value that must be paid at proposal submission. */ + minInitialDepositRatio: string; + /** burn deposits if a proposal does not meet quorum */ + burnVoteQuorum: boolean; + /** burn deposits if the proposal does not enter voting period */ + burnProposalDepositPrevote: boolean; + /** burn deposits if quorum with vote type no_veto is met */ + burnVoteVeto: boolean; +} +export declare const WeightedVoteOption: { + encode(message: WeightedVoteOption, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): WeightedVoteOption; + fromJSON(object: any): WeightedVoteOption; + toJSON(message: WeightedVoteOption): unknown; + fromPartial, never>>(object: I): WeightedVoteOption; +}; +export declare const Deposit: { + encode(message: Deposit, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Deposit; + fromJSON(object: any): Deposit; + toJSON(message: Deposit): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + amount?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): Deposit; +}; +export declare const Proposal: { + encode(message: Proposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Proposal; + fromJSON(object: any): Proposal; + toJSON(message: Proposal): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + status?: ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + depositEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + totalDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votingStartTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + } & Record, never>>(object: I): Proposal; +}; +export declare const TallyResult: { + encode(message: TallyResult, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TallyResult; + fromJSON(object: any): TallyResult; + toJSON(message: TallyResult): unknown; + fromPartial, never>>(object: I): TallyResult; +}; +export declare const Vote: { + encode(message: Vote, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Vote; + fromJSON(object: any): Vote; + toJSON(message: Vote): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + options?: ({ + option?: VoteOption | undefined; + weight?: string | undefined; + }[] & ({ + option?: VoteOption | undefined; + weight?: string | undefined; + } & { + option?: VoteOption | undefined; + weight?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>>(object: I): Vote; +}; +export declare const DepositParams: { + encode(message: DepositParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): DepositParams; + fromJSON(object: any): DepositParams; + toJSON(message: DepositParams): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): DepositParams; +}; +export declare const VotingParams: { + encode(message: VotingParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): VotingParams; + fromJSON(object: any): VotingParams; + toJSON(message: VotingParams): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): VotingParams; +}; +export declare const TallyParams: { + encode(message: TallyParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TallyParams; + fromJSON(object: any): TallyParams; + toJSON(message: TallyParams): unknown; + fromPartial, never>>(object: I): TallyParams; +}; +export declare const Params: { + encode(message: Params, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Params; + fromJSON(object: any): Params; + toJSON(message: Params): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & Record, never>>(object: I): Params; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js new file mode 100644 index 00000000..d345fecc --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js @@ -0,0 +1,1003 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Params = exports.TallyParams = exports.VotingParams = exports.DepositParams = exports.Vote = exports.TallyResult = exports.Proposal = exports.Deposit = exports.WeightedVoteOption = exports.proposalStatusToJSON = exports.proposalStatusFromJSON = exports.ProposalStatus = exports.voteOptionToJSON = exports.voteOptionFromJSON = exports.VoteOption = exports.protobufPackage = void 0; +/* eslint-disable */ +const coin_1 = require("../../base/v1beta1/coin"); +const any_1 = require("../../../google/protobuf/any"); +const timestamp_1 = require("../../../google/protobuf/timestamp"); +const duration_1 = require("../../../google/protobuf/duration"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.gov.v1"; +/** VoteOption enumerates the valid vote options for a given governance proposal. */ +var VoteOption; +(function (VoteOption) { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VoteOption[VoteOption["VOTE_OPTION_UNSPECIFIED"] = 0] = "VOTE_OPTION_UNSPECIFIED"; + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VoteOption[VoteOption["VOTE_OPTION_YES"] = 1] = "VOTE_OPTION_YES"; + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VoteOption[VoteOption["VOTE_OPTION_ABSTAIN"] = 2] = "VOTE_OPTION_ABSTAIN"; + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VoteOption[VoteOption["VOTE_OPTION_NO"] = 3] = "VOTE_OPTION_NO"; + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VoteOption[VoteOption["VOTE_OPTION_NO_WITH_VETO"] = 4] = "VOTE_OPTION_NO_WITH_VETO"; + VoteOption[VoteOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(VoteOption = exports.VoteOption || (exports.VoteOption = {})); +function voteOptionFromJSON(object) { + switch (object) { + case 0: + case "VOTE_OPTION_UNSPECIFIED": + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case "VOTE_OPTION_YES": + return VoteOption.VOTE_OPTION_YES; + case 2: + case "VOTE_OPTION_ABSTAIN": + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case "VOTE_OPTION_NO": + return VoteOption.VOTE_OPTION_NO; + case 4: + case "VOTE_OPTION_NO_WITH_VETO": + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case "UNRECOGNIZED": + default: + return VoteOption.UNRECOGNIZED; + } +} +exports.voteOptionFromJSON = voteOptionFromJSON; +function voteOptionToJSON(object) { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return "VOTE_OPTION_UNSPECIFIED"; + case VoteOption.VOTE_OPTION_YES: + return "VOTE_OPTION_YES"; + case VoteOption.VOTE_OPTION_ABSTAIN: + return "VOTE_OPTION_ABSTAIN"; + case VoteOption.VOTE_OPTION_NO: + return "VOTE_OPTION_NO"; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return "VOTE_OPTION_NO_WITH_VETO"; + case VoteOption.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.voteOptionToJSON = voteOptionToJSON; +/** ProposalStatus enumerates the valid statuses of a proposal. */ +var ProposalStatus; +(function (ProposalStatus) { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_UNSPECIFIED"] = 0] = "PROPOSAL_STATUS_UNSPECIFIED"; + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_DEPOSIT_PERIOD"] = 1] = "PROPOSAL_STATUS_DEPOSIT_PERIOD"; + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_VOTING_PERIOD"] = 2] = "PROPOSAL_STATUS_VOTING_PERIOD"; + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_PASSED"] = 3] = "PROPOSAL_STATUS_PASSED"; + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_REJECTED"] = 4] = "PROPOSAL_STATUS_REJECTED"; + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_FAILED"] = 5] = "PROPOSAL_STATUS_FAILED"; + ProposalStatus[ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(ProposalStatus = exports.ProposalStatus || (exports.ProposalStatus = {})); +function proposalStatusFromJSON(object) { + switch (object) { + case 0: + case "PROPOSAL_STATUS_UNSPECIFIED": + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case "PROPOSAL_STATUS_DEPOSIT_PERIOD": + return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD; + case 2: + case "PROPOSAL_STATUS_VOTING_PERIOD": + return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD; + case 3: + case "PROPOSAL_STATUS_PASSED": + return ProposalStatus.PROPOSAL_STATUS_PASSED; + case 4: + case "PROPOSAL_STATUS_REJECTED": + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 5: + case "PROPOSAL_STATUS_FAILED": + return ProposalStatus.PROPOSAL_STATUS_FAILED; + case -1: + case "UNRECOGNIZED": + default: + return ProposalStatus.UNRECOGNIZED; + } +} +exports.proposalStatusFromJSON = proposalStatusFromJSON; +function proposalStatusToJSON(object) { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return "PROPOSAL_STATUS_UNSPECIFIED"; + case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + return "PROPOSAL_STATUS_DEPOSIT_PERIOD"; + case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD: + return "PROPOSAL_STATUS_VOTING_PERIOD"; + case ProposalStatus.PROPOSAL_STATUS_PASSED: + return "PROPOSAL_STATUS_PASSED"; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return "PROPOSAL_STATUS_REJECTED"; + case ProposalStatus.PROPOSAL_STATUS_FAILED: + return "PROPOSAL_STATUS_FAILED"; + case ProposalStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.proposalStatusToJSON = proposalStatusToJSON; +function createBaseWeightedVoteOption() { + return { + option: 0, + weight: "", + }; +} +exports.WeightedVoteOption = { + encode(message, writer = _m0.Writer.create()) { + if (message.option !== 0) { + writer.uint32(8).int32(message.option); + } + if (message.weight !== "") { + writer.uint32(18).string(message.weight); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeightedVoteOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.option = reader.int32(); + break; + case 2: + message.weight = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + option: (0, helpers_1.isSet)(object.option) ? voteOptionFromJSON(object.option) : 0, + weight: (0, helpers_1.isSet)(object.weight) ? String(object.weight) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.option !== undefined && (obj.option = voteOptionToJSON(message.option)); + message.weight !== undefined && (obj.weight = message.weight); + return obj; + }, + fromPartial(object) { + const message = createBaseWeightedVoteOption(); + message.option = object.option ?? 0; + message.weight = object.weight ?? ""; + return message; + }, +}; +function createBaseDeposit() { + return { + proposalId: helpers_1.Long.UZERO, + depositor: "", + amount: [], + }; +} +exports.Deposit = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + coin_1.Coin.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + depositor: (0, helpers_1.isSet)(object.depositor) ? String(object.depositor) : "", + amount: Array.isArray(object?.amount) ? object.amount.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.depositor !== undefined && (obj.depositor = message.depositor); + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.amount = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseDeposit(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.depositor = object.depositor ?? ""; + message.amount = object.amount?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseProposal() { + return { + id: helpers_1.Long.UZERO, + messages: [], + status: 0, + finalTallyResult: undefined, + submitTime: undefined, + depositEndTime: undefined, + totalDeposit: [], + votingStartTime: undefined, + votingEndTime: undefined, + metadata: "", + title: "", + summary: "", + proposer: "", + }; +} +exports.Proposal = { + encode(message, writer = _m0.Writer.create()) { + if (!message.id.isZero()) { + writer.uint32(8).uint64(message.id); + } + for (const v of message.messages) { + any_1.Any.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + if (message.finalTallyResult !== undefined) { + exports.TallyResult.encode(message.finalTallyResult, writer.uint32(34).fork()).ldelim(); + } + if (message.submitTime !== undefined) { + timestamp_1.Timestamp.encode(message.submitTime, writer.uint32(42).fork()).ldelim(); + } + if (message.depositEndTime !== undefined) { + timestamp_1.Timestamp.encode(message.depositEndTime, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.totalDeposit) { + coin_1.Coin.encode(v, writer.uint32(58).fork()).ldelim(); + } + if (message.votingStartTime !== undefined) { + timestamp_1.Timestamp.encode(message.votingStartTime, writer.uint32(66).fork()).ldelim(); + } + if (message.votingEndTime !== undefined) { + timestamp_1.Timestamp.encode(message.votingEndTime, writer.uint32(74).fork()).ldelim(); + } + if (message.metadata !== "") { + writer.uint32(82).string(message.metadata); + } + if (message.title !== "") { + writer.uint32(90).string(message.title); + } + if (message.summary !== "") { + writer.uint32(98).string(message.summary); + } + if (message.proposer !== "") { + writer.uint32(106).string(message.proposer); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint64(); + break; + case 2: + message.messages.push(any_1.Any.decode(reader, reader.uint32())); + break; + case 3: + message.status = reader.int32(); + break; + case 4: + message.finalTallyResult = exports.TallyResult.decode(reader, reader.uint32()); + break; + case 5: + message.submitTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.depositEndTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 7: + message.totalDeposit.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 8: + message.votingStartTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 9: + message.votingEndTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 10: + message.metadata = reader.string(); + break; + case 11: + message.title = reader.string(); + break; + case 12: + message.summary = reader.string(); + break; + case 13: + message.proposer = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO, + messages: Array.isArray(object?.messages) ? object.messages.map((e) => any_1.Any.fromJSON(e)) : [], + status: (0, helpers_1.isSet)(object.status) ? proposalStatusFromJSON(object.status) : 0, + finalTallyResult: (0, helpers_1.isSet)(object.finalTallyResult) + ? exports.TallyResult.fromJSON(object.finalTallyResult) + : undefined, + submitTime: (0, helpers_1.isSet)(object.submitTime) ? (0, helpers_1.fromJsonTimestamp)(object.submitTime) : undefined, + depositEndTime: (0, helpers_1.isSet)(object.depositEndTime) ? (0, helpers_1.fromJsonTimestamp)(object.depositEndTime) : undefined, + totalDeposit: Array.isArray(object?.totalDeposit) + ? object.totalDeposit.map((e) => coin_1.Coin.fromJSON(e)) + : [], + votingStartTime: (0, helpers_1.isSet)(object.votingStartTime) ? (0, helpers_1.fromJsonTimestamp)(object.votingStartTime) : undefined, + votingEndTime: (0, helpers_1.isSet)(object.votingEndTime) ? (0, helpers_1.fromJsonTimestamp)(object.votingEndTime) : undefined, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + title: (0, helpers_1.isSet)(object.title) ? String(object.title) : "", + summary: (0, helpers_1.isSet)(object.summary) ? String(object.summary) : "", + proposer: (0, helpers_1.isSet)(object.proposer) ? String(object.proposer) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = (message.id || helpers_1.Long.UZERO).toString()); + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.messages = []; + } + message.status !== undefined && (obj.status = proposalStatusToJSON(message.status)); + message.finalTallyResult !== undefined && + (obj.finalTallyResult = message.finalTallyResult + ? exports.TallyResult.toJSON(message.finalTallyResult) + : undefined); + message.submitTime !== undefined && (obj.submitTime = (0, helpers_1.fromTimestamp)(message.submitTime).toISOString()); + message.depositEndTime !== undefined && + (obj.depositEndTime = (0, helpers_1.fromTimestamp)(message.depositEndTime).toISOString()); + if (message.totalDeposit) { + obj.totalDeposit = message.totalDeposit.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.totalDeposit = []; + } + message.votingStartTime !== undefined && + (obj.votingStartTime = (0, helpers_1.fromTimestamp)(message.votingStartTime).toISOString()); + message.votingEndTime !== undefined && + (obj.votingEndTime = (0, helpers_1.fromTimestamp)(message.votingEndTime).toISOString()); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.title !== undefined && (obj.title = message.title); + message.summary !== undefined && (obj.summary = message.summary); + message.proposer !== undefined && (obj.proposer = message.proposer); + return obj; + }, + fromPartial(object) { + const message = createBaseProposal(); + message.id = object.id !== undefined && object.id !== null ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO; + message.messages = object.messages?.map((e) => any_1.Any.fromPartial(e)) || []; + message.status = object.status ?? 0; + message.finalTallyResult = + object.finalTallyResult !== undefined && object.finalTallyResult !== null + ? exports.TallyResult.fromPartial(object.finalTallyResult) + : undefined; + message.submitTime = + object.submitTime !== undefined && object.submitTime !== null + ? timestamp_1.Timestamp.fromPartial(object.submitTime) + : undefined; + message.depositEndTime = + object.depositEndTime !== undefined && object.depositEndTime !== null + ? timestamp_1.Timestamp.fromPartial(object.depositEndTime) + : undefined; + message.totalDeposit = object.totalDeposit?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.votingStartTime = + object.votingStartTime !== undefined && object.votingStartTime !== null + ? timestamp_1.Timestamp.fromPartial(object.votingStartTime) + : undefined; + message.votingEndTime = + object.votingEndTime !== undefined && object.votingEndTime !== null + ? timestamp_1.Timestamp.fromPartial(object.votingEndTime) + : undefined; + message.metadata = object.metadata ?? ""; + message.title = object.title ?? ""; + message.summary = object.summary ?? ""; + message.proposer = object.proposer ?? ""; + return message; + }, +}; +function createBaseTallyResult() { + return { + yesCount: "", + abstainCount: "", + noCount: "", + noWithVetoCount: "", + }; +} +exports.TallyResult = { + encode(message, writer = _m0.Writer.create()) { + if (message.yesCount !== "") { + writer.uint32(10).string(message.yesCount); + } + if (message.abstainCount !== "") { + writer.uint32(18).string(message.abstainCount); + } + if (message.noCount !== "") { + writer.uint32(26).string(message.noCount); + } + if (message.noWithVetoCount !== "") { + writer.uint32(34).string(message.noWithVetoCount); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.yesCount = reader.string(); + break; + case 2: + message.abstainCount = reader.string(); + break; + case 3: + message.noCount = reader.string(); + break; + case 4: + message.noWithVetoCount = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + yesCount: (0, helpers_1.isSet)(object.yesCount) ? String(object.yesCount) : "", + abstainCount: (0, helpers_1.isSet)(object.abstainCount) ? String(object.abstainCount) : "", + noCount: (0, helpers_1.isSet)(object.noCount) ? String(object.noCount) : "", + noWithVetoCount: (0, helpers_1.isSet)(object.noWithVetoCount) ? String(object.noWithVetoCount) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.yesCount !== undefined && (obj.yesCount = message.yesCount); + message.abstainCount !== undefined && (obj.abstainCount = message.abstainCount); + message.noCount !== undefined && (obj.noCount = message.noCount); + message.noWithVetoCount !== undefined && (obj.noWithVetoCount = message.noWithVetoCount); + return obj; + }, + fromPartial(object) { + const message = createBaseTallyResult(); + message.yesCount = object.yesCount ?? ""; + message.abstainCount = object.abstainCount ?? ""; + message.noCount = object.noCount ?? ""; + message.noWithVetoCount = object.noWithVetoCount ?? ""; + return message; + }, +}; +function createBaseVote() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + options: [], + metadata: "", + }; +} +exports.Vote = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + exports.WeightedVoteOption.encode(v, writer.uint32(34).fork()).ldelim(); + } + if (message.metadata !== "") { + writer.uint32(42).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 4: + message.options.push(exports.WeightedVoteOption.decode(reader, reader.uint32())); + break; + case 5: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + options: Array.isArray(object?.options) + ? object.options.map((e) => exports.WeightedVoteOption.fromJSON(e)) + : [], + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + if (message.options) { + obj.options = message.options.map((e) => (e ? exports.WeightedVoteOption.toJSON(e) : undefined)); + } + else { + obj.options = []; + } + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + message.options = object.options?.map((e) => exports.WeightedVoteOption.fromPartial(e)) || []; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseDepositParams() { + return { + minDeposit: [], + maxDepositPeriod: undefined, + }; +} +exports.DepositParams = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.minDeposit) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + duration_1.Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + minDeposit: Array.isArray(object?.minDeposit) + ? object.minDeposit.map((e) => coin_1.Coin.fromJSON(e)) + : [], + maxDepositPeriod: (0, helpers_1.isSet)(object.maxDepositPeriod) + ? duration_1.Duration.fromJSON(object.maxDepositPeriod) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.minDeposit) { + obj.minDeposit = message.minDeposit.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.minDeposit = []; + } + message.maxDepositPeriod !== undefined && + (obj.maxDepositPeriod = message.maxDepositPeriod + ? duration_1.Duration.toJSON(message.maxDepositPeriod) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseDepositParams(); + message.minDeposit = object.minDeposit?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.maxDepositPeriod = + object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null + ? duration_1.Duration.fromPartial(object.maxDepositPeriod) + : undefined; + return message; + }, +}; +function createBaseVotingParams() { + return { + votingPeriod: undefined, + }; +} +exports.VotingParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.votingPeriod !== undefined) { + duration_1.Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotingParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votingPeriod: (0, helpers_1.isSet)(object.votingPeriod) ? duration_1.Duration.fromJSON(object.votingPeriod) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.votingPeriod !== undefined && + (obj.votingPeriod = message.votingPeriod ? duration_1.Duration.toJSON(message.votingPeriod) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseVotingParams(); + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? duration_1.Duration.fromPartial(object.votingPeriod) + : undefined; + return message; + }, +}; +function createBaseTallyParams() { + return { + quorum: "", + threshold: "", + vetoThreshold: "", + }; +} +exports.TallyParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.quorum !== "") { + writer.uint32(10).string(message.quorum); + } + if (message.threshold !== "") { + writer.uint32(18).string(message.threshold); + } + if (message.vetoThreshold !== "") { + writer.uint32(26).string(message.vetoThreshold); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quorum = reader.string(); + break; + case 2: + message.threshold = reader.string(); + break; + case 3: + message.vetoThreshold = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + quorum: (0, helpers_1.isSet)(object.quorum) ? String(object.quorum) : "", + threshold: (0, helpers_1.isSet)(object.threshold) ? String(object.threshold) : "", + vetoThreshold: (0, helpers_1.isSet)(object.vetoThreshold) ? String(object.vetoThreshold) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.quorum !== undefined && (obj.quorum = message.quorum); + message.threshold !== undefined && (obj.threshold = message.threshold); + message.vetoThreshold !== undefined && (obj.vetoThreshold = message.vetoThreshold); + return obj; + }, + fromPartial(object) { + const message = createBaseTallyParams(); + message.quorum = object.quorum ?? ""; + message.threshold = object.threshold ?? ""; + message.vetoThreshold = object.vetoThreshold ?? ""; + return message; + }, +}; +function createBaseParams() { + return { + minDeposit: [], + maxDepositPeriod: undefined, + votingPeriod: undefined, + quorum: "", + threshold: "", + vetoThreshold: "", + minInitialDepositRatio: "", + burnVoteQuorum: false, + burnProposalDepositPrevote: false, + burnVoteVeto: false, + }; +} +exports.Params = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.minDeposit) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + duration_1.Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + if (message.votingPeriod !== undefined) { + duration_1.Duration.encode(message.votingPeriod, writer.uint32(26).fork()).ldelim(); + } + if (message.quorum !== "") { + writer.uint32(34).string(message.quorum); + } + if (message.threshold !== "") { + writer.uint32(42).string(message.threshold); + } + if (message.vetoThreshold !== "") { + writer.uint32(50).string(message.vetoThreshold); + } + if (message.minInitialDepositRatio !== "") { + writer.uint32(58).string(message.minInitialDepositRatio); + } + if (message.burnVoteQuorum === true) { + writer.uint32(104).bool(message.burnVoteQuorum); + } + if (message.burnProposalDepositPrevote === true) { + writer.uint32(112).bool(message.burnProposalDepositPrevote); + } + if (message.burnVoteVeto === true) { + writer.uint32(120).bool(message.burnVoteVeto); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + case 3: + message.votingPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + case 4: + message.quorum = reader.string(); + break; + case 5: + message.threshold = reader.string(); + break; + case 6: + message.vetoThreshold = reader.string(); + break; + case 7: + message.minInitialDepositRatio = reader.string(); + break; + case 13: + message.burnVoteQuorum = reader.bool(); + break; + case 14: + message.burnProposalDepositPrevote = reader.bool(); + break; + case 15: + message.burnVoteVeto = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + minDeposit: Array.isArray(object?.minDeposit) + ? object.minDeposit.map((e) => coin_1.Coin.fromJSON(e)) + : [], + maxDepositPeriod: (0, helpers_1.isSet)(object.maxDepositPeriod) + ? duration_1.Duration.fromJSON(object.maxDepositPeriod) + : undefined, + votingPeriod: (0, helpers_1.isSet)(object.votingPeriod) ? duration_1.Duration.fromJSON(object.votingPeriod) : undefined, + quorum: (0, helpers_1.isSet)(object.quorum) ? String(object.quorum) : "", + threshold: (0, helpers_1.isSet)(object.threshold) ? String(object.threshold) : "", + vetoThreshold: (0, helpers_1.isSet)(object.vetoThreshold) ? String(object.vetoThreshold) : "", + minInitialDepositRatio: (0, helpers_1.isSet)(object.minInitialDepositRatio) + ? String(object.minInitialDepositRatio) + : "", + burnVoteQuorum: (0, helpers_1.isSet)(object.burnVoteQuorum) ? Boolean(object.burnVoteQuorum) : false, + burnProposalDepositPrevote: (0, helpers_1.isSet)(object.burnProposalDepositPrevote) + ? Boolean(object.burnProposalDepositPrevote) + : false, + burnVoteVeto: (0, helpers_1.isSet)(object.burnVoteVeto) ? Boolean(object.burnVoteVeto) : false, + }; + }, + toJSON(message) { + const obj = {}; + if (message.minDeposit) { + obj.minDeposit = message.minDeposit.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.minDeposit = []; + } + message.maxDepositPeriod !== undefined && + (obj.maxDepositPeriod = message.maxDepositPeriod + ? duration_1.Duration.toJSON(message.maxDepositPeriod) + : undefined); + message.votingPeriod !== undefined && + (obj.votingPeriod = message.votingPeriod ? duration_1.Duration.toJSON(message.votingPeriod) : undefined); + message.quorum !== undefined && (obj.quorum = message.quorum); + message.threshold !== undefined && (obj.threshold = message.threshold); + message.vetoThreshold !== undefined && (obj.vetoThreshold = message.vetoThreshold); + message.minInitialDepositRatio !== undefined && + (obj.minInitialDepositRatio = message.minInitialDepositRatio); + message.burnVoteQuorum !== undefined && (obj.burnVoteQuorum = message.burnVoteQuorum); + message.burnProposalDepositPrevote !== undefined && + (obj.burnProposalDepositPrevote = message.burnProposalDepositPrevote); + message.burnVoteVeto !== undefined && (obj.burnVoteVeto = message.burnVoteVeto); + return obj; + }, + fromPartial(object) { + const message = createBaseParams(); + message.minDeposit = object.minDeposit?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.maxDepositPeriod = + object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null + ? duration_1.Duration.fromPartial(object.maxDepositPeriod) + : undefined; + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? duration_1.Duration.fromPartial(object.votingPeriod) + : undefined; + message.quorum = object.quorum ?? ""; + message.threshold = object.threshold ?? ""; + message.vetoThreshold = object.vetoThreshold ?? ""; + message.minInitialDepositRatio = object.minInitialDepositRatio ?? ""; + message.burnVoteQuorum = object.burnVoteQuorum ?? false; + message.burnProposalDepositPrevote = object.burnProposalDepositPrevote ?? false; + message.burnVoteVeto = object.burnVoteVeto ?? false; + return message; + }, +}; +//# sourceMappingURL=gov.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js.map b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js.map new file mode 100644 index 00000000..f9899202 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/gov.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gov.js","sourceRoot":"","sources":["../../../../src/cosmos/gov/v1/gov.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.d.ts new file mode 100644 index 00000000..c38dd793 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.d.ts @@ -0,0 +1,3010 @@ +/// +import { ProposalStatus, Proposal, Vote, VotingParams, DepositParams, TallyParams, Params, Deposit, TallyResult } from "./gov"; +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; +import { Long, Rpc } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.gov.v1"; +/** QueryProposalRequest is the request type for the Query/Proposal RPC method. */ +export interface QueryProposalRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; +} +/** QueryProposalResponse is the response type for the Query/Proposal RPC method. */ +export interface QueryProposalResponse { + /** proposal is the requested governance proposal. */ + proposal?: Proposal; +} +/** QueryProposalsRequest is the request type for the Query/Proposals RPC method. */ +export interface QueryProposalsRequest { + /** proposal_status defines the status of the proposals. */ + proposalStatus: ProposalStatus; + /** voter defines the voter address for the proposals. */ + voter: string; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** + * QueryProposalsResponse is the response type for the Query/Proposals RPC + * method. + */ +export interface QueryProposalsResponse { + /** proposals defines all the requested governance proposals. */ + proposals: Proposal[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryVoteRequest is the request type for the Query/Vote RPC method. */ +export interface QueryVoteRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** voter defines the voter address for the proposals. */ + voter: string; +} +/** QueryVoteResponse is the response type for the Query/Vote RPC method. */ +export interface QueryVoteResponse { + /** vote defines the queried vote. */ + vote?: Vote; +} +/** QueryVotesRequest is the request type for the Query/Votes RPC method. */ +export interface QueryVotesRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryVotesResponse is the response type for the Query/Votes RPC method. */ +export interface QueryVotesResponse { + /** votes defines the queried votes. */ + votes: Vote[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryParamsRequest is the request type for the Query/Params RPC method. */ +export interface QueryParamsRequest { + /** + * params_type defines which parameters to query for, can be one of "voting", + * "tallying" or "deposit". + */ + paramsType: string; +} +/** QueryParamsResponse is the response type for the Query/Params RPC method. */ +export interface QueryParamsResponse { + /** + * Deprecated: Prefer to use `params` instead. + * voting_params defines the parameters related to voting. + */ + /** @deprecated */ + votingParams?: VotingParams; + /** + * Deprecated: Prefer to use `params` instead. + * deposit_params defines the parameters related to deposit. + */ + /** @deprecated */ + depositParams?: DepositParams; + /** + * Deprecated: Prefer to use `params` instead. + * tally_params defines the parameters related to tally. + */ + /** @deprecated */ + tallyParams?: TallyParams; + /** + * params defines all the paramaters of x/gov module. + * + * Since: cosmos-sdk 0.47 + */ + params?: Params; +} +/** QueryDepositRequest is the request type for the Query/Deposit RPC method. */ +export interface QueryDepositRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; +} +/** QueryDepositResponse is the response type for the Query/Deposit RPC method. */ +export interface QueryDepositResponse { + /** deposit defines the requested deposit. */ + deposit?: Deposit; +} +/** QueryDepositsRequest is the request type for the Query/Deposits RPC method. */ +export interface QueryDepositsRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryDepositsResponse is the response type for the Query/Deposits RPC method. */ +export interface QueryDepositsResponse { + /** deposits defines the requested deposits. */ + deposits: Deposit[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryTallyResultRequest is the request type for the Query/Tally RPC method. */ +export interface QueryTallyResultRequest { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; +} +/** QueryTallyResultResponse is the response type for the Query/Tally RPC method. */ +export interface QueryTallyResultResponse { + /** tally defines the requested tally. */ + tally?: TallyResult; +} +export declare const QueryProposalRequest: { + encode(message: QueryProposalRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalRequest; + fromJSON(object: any): QueryProposalRequest; + toJSON(message: QueryProposalRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalRequest; +}; +export declare const QueryProposalResponse: { + encode(message: QueryProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalResponse; + fromJSON(object: any): QueryProposalResponse; + toJSON(message: QueryProposalResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + status?: ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + depositEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + totalDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votingStartTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalResponse; +}; +export declare const QueryProposalsRequest: { + encode(message: QueryProposalsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsRequest; + fromJSON(object: any): QueryProposalsRequest; + toJSON(message: QueryProposalsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalsRequest; +}; +export declare const QueryProposalsResponse: { + encode(message: QueryProposalsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsResponse; + fromJSON(object: any): QueryProposalsResponse; + toJSON(message: QueryProposalsResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + status?: ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + depositEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + totalDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votingStartTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingEndTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + proposer?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalsResponse; +}; +export declare const QueryVoteRequest: { + encode(message: QueryVoteRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteRequest; + fromJSON(object: any): QueryVoteRequest; + toJSON(message: QueryVoteRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + } & Record, never>>(object: I): QueryVoteRequest; +}; +export declare const QueryVoteResponse: { + encode(message: QueryVoteResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteResponse; + fromJSON(object: any): QueryVoteResponse; + toJSON(message: QueryVoteResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + options?: ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + }[] & ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & { + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVoteResponse; +}; +export declare const QueryVotesRequest: { + encode(message: QueryVotesRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesRequest; + fromJSON(object: any): QueryVotesRequest; + toJSON(message: QueryVotesRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesRequest; +}; +export declare const QueryVotesResponse: { + encode(message: QueryVotesResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesResponse; + fromJSON(object: any): QueryVotesResponse; + toJSON(message: QueryVotesResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + options?: ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + }[] & ({ + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & { + option?: import("./gov").VoteOption | undefined; + weight?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesResponse; +}; +export declare const QueryParamsRequest: { + encode(message: QueryParamsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest; + fromJSON(object: any): QueryParamsRequest; + toJSON(message: QueryParamsRequest): unknown; + fromPartial, never>>(object: I): QueryParamsRequest; +}; +export declare const QueryParamsResponse: { + encode(message: QueryParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse; + fromJSON(object: any): QueryParamsResponse; + toJSON(message: QueryParamsResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + depositParams?: ({ + minDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + maxDepositPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + minDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + tallyParams?: ({ + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + } & { + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + } & Record, never>) | undefined; + params?: ({ + minDeposit?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + maxDepositPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + votingPeriod?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & { + minDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryParamsResponse; +}; +export declare const QueryDepositRequest: { + encode(message: QueryDepositRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositRequest; + fromJSON(object: any): QueryDepositRequest; + toJSON(message: QueryDepositRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + } & Record, never>>(object: I): QueryDepositRequest; +}; +export declare const QueryDepositResponse: { + encode(message: QueryDepositResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositResponse; + fromJSON(object: any): QueryDepositResponse; + toJSON(message: QueryDepositResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + amount?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryDepositResponse; +}; +export declare const QueryDepositsRequest: { + encode(message: QueryDepositsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositsRequest; + fromJSON(object: any): QueryDepositsRequest; + toJSON(message: QueryDepositsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryDepositsRequest; +}; +export declare const QueryDepositsResponse: { + encode(message: QueryDepositsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositsResponse; + fromJSON(object: any): QueryDepositsResponse; + toJSON(message: QueryDepositsResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + amount?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryDepositsResponse; +}; +export declare const QueryTallyResultRequest: { + encode(message: QueryTallyResultRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultRequest; + fromJSON(object: any): QueryTallyResultRequest; + toJSON(message: QueryTallyResultRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTallyResultRequest; +}; +export declare const QueryTallyResultResponse: { + encode(message: QueryTallyResultResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultResponse; + fromJSON(object: any): QueryTallyResultResponse; + toJSON(message: QueryTallyResultResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): QueryTallyResultResponse; +}; +/** Query defines the gRPC querier service for gov module */ +export interface Query { + /** Proposal queries proposal details based on ProposalID. */ + Proposal(request: QueryProposalRequest): Promise; + /** Proposals queries all proposals based on given status. */ + Proposals(request: QueryProposalsRequest): Promise; + /** Vote queries voted information based on proposalID, voterAddr. */ + Vote(request: QueryVoteRequest): Promise; + /** Votes queries votes of a given proposal. */ + Votes(request: QueryVotesRequest): Promise; + /** Params queries all parameters of the gov module. */ + Params(request: QueryParamsRequest): Promise; + /** Deposit queries single deposit information based proposalID, depositAddr. */ + Deposit(request: QueryDepositRequest): Promise; + /** Deposits queries all deposits of a single proposal. */ + Deposits(request: QueryDepositsRequest): Promise; + /** TallyResult queries the tally of a proposal vote. */ + TallyResult(request: QueryTallyResultRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Proposal(request: QueryProposalRequest): Promise; + Proposals(request: QueryProposalsRequest): Promise; + Vote(request: QueryVoteRequest): Promise; + Votes(request: QueryVotesRequest): Promise; + Params(request: QueryParamsRequest): Promise; + Deposit(request: QueryDepositRequest): Promise; + Deposits(request: QueryDepositsRequest): Promise; + TallyResult(request: QueryTallyResultRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js new file mode 100644 index 00000000..b60583aa --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js @@ -0,0 +1,1021 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryTallyResultResponse = exports.QueryTallyResultRequest = exports.QueryDepositsResponse = exports.QueryDepositsRequest = exports.QueryDepositResponse = exports.QueryDepositRequest = exports.QueryParamsResponse = exports.QueryParamsRequest = exports.QueryVotesResponse = exports.QueryVotesRequest = exports.QueryVoteResponse = exports.QueryVoteRequest = exports.QueryProposalsResponse = exports.QueryProposalsRequest = exports.QueryProposalResponse = exports.QueryProposalRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const gov_1 = require("./gov"); +const pagination_1 = require("../../base/query/v1beta1/pagination"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.gov.v1"; +function createBaseQueryProposalRequest() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.QueryProposalRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryProposalResponse() { + return { + proposal: undefined, + }; +} +exports.QueryProposalResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.proposal !== undefined) { + gov_1.Proposal.encode(message.proposal, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposal = gov_1.Proposal.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposal: (0, helpers_1.isSet)(object.proposal) ? gov_1.Proposal.fromJSON(object.proposal) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposal !== undefined && + (obj.proposal = message.proposal ? gov_1.Proposal.toJSON(message.proposal) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalResponse(); + message.proposal = + object.proposal !== undefined && object.proposal !== null + ? gov_1.Proposal.fromPartial(object.proposal) + : undefined; + return message; + }, +}; +function createBaseQueryProposalsRequest() { + return { + proposalStatus: 0, + voter: "", + depositor: "", + pagination: undefined, + }; +} +exports.QueryProposalsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.proposalStatus !== 0) { + writer.uint32(8).int32(message.proposalStatus); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.depositor !== "") { + writer.uint32(26).string(message.depositor); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalStatus = reader.int32(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.depositor = reader.string(); + break; + case 4: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalStatus: (0, helpers_1.isSet)(object.proposalStatus) ? (0, gov_1.proposalStatusFromJSON)(object.proposalStatus) : 0, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + depositor: (0, helpers_1.isSet)(object.depositor) ? String(object.depositor) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalStatus !== undefined && + (obj.proposalStatus = (0, gov_1.proposalStatusToJSON)(message.proposalStatus)); + message.voter !== undefined && (obj.voter = message.voter); + message.depositor !== undefined && (obj.depositor = message.depositor); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalsRequest(); + message.proposalStatus = object.proposalStatus ?? 0; + message.voter = object.voter ?? ""; + message.depositor = object.depositor ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryProposalsResponse() { + return { + proposals: [], + pagination: undefined, + }; +} +exports.QueryProposalsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.proposals) { + gov_1.Proposal.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposals.push(gov_1.Proposal.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposals: Array.isArray(object?.proposals) + ? object.proposals.map((e) => gov_1.Proposal.fromJSON(e)) + : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? gov_1.Proposal.toJSON(e) : undefined)); + } + else { + obj.proposals = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalsResponse(); + message.proposals = object.proposals?.map((e) => gov_1.Proposal.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVoteRequest() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + }; +} +exports.QueryVoteRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVoteRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + return message; + }, +}; +function createBaseQueryVoteResponse() { + return { + vote: undefined, + }; +} +exports.QueryVoteResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.vote !== undefined) { + gov_1.Vote.encode(message.vote, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.vote = gov_1.Vote.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + vote: (0, helpers_1.isSet)(object.vote) ? gov_1.Vote.fromJSON(object.vote) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.vote !== undefined && (obj.vote = message.vote ? gov_1.Vote.toJSON(message.vote) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVoteResponse(); + message.vote = + object.vote !== undefined && object.vote !== null ? gov_1.Vote.fromPartial(object.vote) : undefined; + return message; + }, +}; +function createBaseQueryVotesRequest() { + return { + proposalId: helpers_1.Long.UZERO, + pagination: undefined, + }; +} +exports.QueryVotesRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVotesResponse() { + return { + votes: [], + pagination: undefined, + }; +} +exports.QueryVotesResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.votes) { + gov_1.Vote.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votes.push(gov_1.Vote.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votes: Array.isArray(object?.votes) ? object.votes.map((e) => gov_1.Vote.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? gov_1.Vote.toJSON(e) : undefined)); + } + else { + obj.votes = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesResponse(); + message.votes = object.votes?.map((e) => gov_1.Vote.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryParamsRequest() { + return { + paramsType: "", + }; +} +exports.QueryParamsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.paramsType !== "") { + writer.uint32(10).string(message.paramsType); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.paramsType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + paramsType: (0, helpers_1.isSet)(object.paramsType) ? String(object.paramsType) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.paramsType !== undefined && (obj.paramsType = message.paramsType); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryParamsRequest(); + message.paramsType = object.paramsType ?? ""; + return message; + }, +}; +function createBaseQueryParamsResponse() { + return { + votingParams: undefined, + depositParams: undefined, + tallyParams: undefined, + params: undefined, + }; +} +exports.QueryParamsResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.votingParams !== undefined) { + gov_1.VotingParams.encode(message.votingParams, writer.uint32(10).fork()).ldelim(); + } + if (message.depositParams !== undefined) { + gov_1.DepositParams.encode(message.depositParams, writer.uint32(18).fork()).ldelim(); + } + if (message.tallyParams !== undefined) { + gov_1.TallyParams.encode(message.tallyParams, writer.uint32(26).fork()).ldelim(); + } + if (message.params !== undefined) { + gov_1.Params.encode(message.params, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingParams = gov_1.VotingParams.decode(reader, reader.uint32()); + break; + case 2: + message.depositParams = gov_1.DepositParams.decode(reader, reader.uint32()); + break; + case 3: + message.tallyParams = gov_1.TallyParams.decode(reader, reader.uint32()); + break; + case 4: + message.params = gov_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votingParams: (0, helpers_1.isSet)(object.votingParams) ? gov_1.VotingParams.fromJSON(object.votingParams) : undefined, + depositParams: (0, helpers_1.isSet)(object.depositParams) ? gov_1.DepositParams.fromJSON(object.depositParams) : undefined, + tallyParams: (0, helpers_1.isSet)(object.tallyParams) ? gov_1.TallyParams.fromJSON(object.tallyParams) : undefined, + params: (0, helpers_1.isSet)(object.params) ? gov_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.votingParams !== undefined && + (obj.votingParams = message.votingParams ? gov_1.VotingParams.toJSON(message.votingParams) : undefined); + message.depositParams !== undefined && + (obj.depositParams = message.depositParams ? gov_1.DepositParams.toJSON(message.depositParams) : undefined); + message.tallyParams !== undefined && + (obj.tallyParams = message.tallyParams ? gov_1.TallyParams.toJSON(message.tallyParams) : undefined); + message.params !== undefined && (obj.params = message.params ? gov_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryParamsResponse(); + message.votingParams = + object.votingParams !== undefined && object.votingParams !== null + ? gov_1.VotingParams.fromPartial(object.votingParams) + : undefined; + message.depositParams = + object.depositParams !== undefined && object.depositParams !== null + ? gov_1.DepositParams.fromPartial(object.depositParams) + : undefined; + message.tallyParams = + object.tallyParams !== undefined && object.tallyParams !== null + ? gov_1.TallyParams.fromPartial(object.tallyParams) + : undefined; + message.params = + object.params !== undefined && object.params !== null ? gov_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseQueryDepositRequest() { + return { + proposalId: helpers_1.Long.UZERO, + depositor: "", + }; +} +exports.QueryDepositRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + depositor: (0, helpers_1.isSet)(object.depositor) ? String(object.depositor) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.depositor !== undefined && (obj.depositor = message.depositor); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryDepositRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.depositor = object.depositor ?? ""; + return message; + }, +}; +function createBaseQueryDepositResponse() { + return { + deposit: undefined, + }; +} +exports.QueryDepositResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.deposit !== undefined) { + gov_1.Deposit.encode(message.deposit, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.deposit = gov_1.Deposit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + deposit: (0, helpers_1.isSet)(object.deposit) ? gov_1.Deposit.fromJSON(object.deposit) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.deposit !== undefined && + (obj.deposit = message.deposit ? gov_1.Deposit.toJSON(message.deposit) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryDepositResponse(); + message.deposit = + object.deposit !== undefined && object.deposit !== null + ? gov_1.Deposit.fromPartial(object.deposit) + : undefined; + return message; + }, +}; +function createBaseQueryDepositsRequest() { + return { + proposalId: helpers_1.Long.UZERO, + pagination: undefined, + }; +} +exports.QueryDepositsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryDepositsRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryDepositsResponse() { + return { + deposits: [], + pagination: undefined, + }; +} +exports.QueryDepositsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.deposits) { + gov_1.Deposit.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryDepositsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.deposits.push(gov_1.Deposit.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + deposits: Array.isArray(object?.deposits) ? object.deposits.map((e) => gov_1.Deposit.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.deposits) { + obj.deposits = message.deposits.map((e) => (e ? gov_1.Deposit.toJSON(e) : undefined)); + } + else { + obj.deposits = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryDepositsResponse(); + message.deposits = object.deposits?.map((e) => gov_1.Deposit.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryTallyResultRequest() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.QueryTallyResultRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTallyResultRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryTallyResultResponse() { + return { + tally: undefined, + }; +} +exports.QueryTallyResultResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.tally !== undefined) { + gov_1.TallyResult.encode(message.tally, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tally = gov_1.TallyResult.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + tally: (0, helpers_1.isSet)(object.tally) ? gov_1.TallyResult.fromJSON(object.tally) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.tally !== undefined && + (obj.tally = message.tally ? gov_1.TallyResult.toJSON(message.tally) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTallyResultResponse(); + message.tally = + object.tally !== undefined && object.tally !== null ? gov_1.TallyResult.fromPartial(object.tally) : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Proposal = this.Proposal.bind(this); + this.Proposals = this.Proposals.bind(this); + this.Vote = this.Vote.bind(this); + this.Votes = this.Votes.bind(this); + this.Params = this.Params.bind(this); + this.Deposit = this.Deposit.bind(this); + this.Deposits = this.Deposits.bind(this); + this.TallyResult = this.TallyResult.bind(this); + } + Proposal(request) { + const data = exports.QueryProposalRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Proposal", data); + return promise.then((data) => exports.QueryProposalResponse.decode(new _m0.Reader(data))); + } + Proposals(request) { + const data = exports.QueryProposalsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Proposals", data); + return promise.then((data) => exports.QueryProposalsResponse.decode(new _m0.Reader(data))); + } + Vote(request) { + const data = exports.QueryVoteRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Vote", data); + return promise.then((data) => exports.QueryVoteResponse.decode(new _m0.Reader(data))); + } + Votes(request) { + const data = exports.QueryVotesRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Votes", data); + return promise.then((data) => exports.QueryVotesResponse.decode(new _m0.Reader(data))); + } + Params(request) { + const data = exports.QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Params", data); + return promise.then((data) => exports.QueryParamsResponse.decode(new _m0.Reader(data))); + } + Deposit(request) { + const data = exports.QueryDepositRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Deposit", data); + return promise.then((data) => exports.QueryDepositResponse.decode(new _m0.Reader(data))); + } + Deposits(request) { + const data = exports.QueryDepositsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "Deposits", data); + return promise.then((data) => exports.QueryDepositsResponse.decode(new _m0.Reader(data))); + } + TallyResult(request) { + const data = exports.QueryTallyResultRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Query", "TallyResult", data); + return promise.then((data) => exports.QueryTallyResultResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js.map new file mode 100644 index 00000000..fd7c5fe5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/gov/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.d.ts new file mode 100644 index 00000000..10ffe23e --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.d.ts @@ -0,0 +1,775 @@ +/// +import { Any } from "../../../google/protobuf/any"; +import { Coin } from "../../base/v1beta1/coin"; +import { VoteOption, WeightedVoteOption, Params } from "./gov"; +import { Long, Rpc } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.gov.v1"; +/** + * MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary + * proposal Content. + */ +export interface MsgSubmitProposal { + /** messages are the arbitrary messages to be executed if proposal passes. */ + messages: Any[]; + /** initial_deposit is the deposit value that must be paid at proposal submission. */ + initialDeposit: Coin[]; + /** proposer is the account address of the proposer. */ + proposer: string; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata: string; + /** + * title is the title of the proposal. + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is the summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary: string; +} +/** MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. */ +export interface MsgSubmitProposalResponse { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; +} +/** + * MsgExecLegacyContent is used to wrap the legacy content field into a message. + * This ensures backwards compatibility with v1beta1.MsgSubmitProposal. + */ +export interface MsgExecLegacyContent { + /** content is the proposal's content. */ + content?: Any; + /** authority must be the gov module address. */ + authority: string; +} +/** MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. */ +export interface MsgExecLegacyContentResponse { +} +/** MsgVote defines a message to cast a vote. */ +export interface MsgVote { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** voter is the voter address for the proposal. */ + voter: string; + /** option defines the vote option. */ + option: VoteOption; + /** metadata is any arbitrary metadata attached to the Vote. */ + metadata: string; +} +/** MsgVoteResponse defines the Msg/Vote response type. */ +export interface MsgVoteResponse { +} +/** MsgVoteWeighted defines a message to cast a vote. */ +export interface MsgVoteWeighted { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** voter is the voter address for the proposal. */ + voter: string; + /** options defines the weighted vote options. */ + options: WeightedVoteOption[]; + /** metadata is any arbitrary metadata attached to the VoteWeighted. */ + metadata: string; +} +/** MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. */ +export interface MsgVoteWeightedResponse { +} +/** MsgDeposit defines a message to submit a deposit to an existing proposal. */ +export interface MsgDeposit { + /** proposal_id defines the unique id of the proposal. */ + proposalId: Long; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** amount to be deposited by depositor. */ + amount: Coin[]; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponse { +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/gov parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: Params; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse { +} +export declare const MsgSubmitProposal: { + encode(message: MsgSubmitProposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitProposal; + fromJSON(object: any): MsgSubmitProposal; + toJSON(message: MsgSubmitProposal): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + initialDeposit?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + proposer?: string | undefined; + metadata?: string | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>>(object: I): MsgSubmitProposal; +}; +export declare const MsgSubmitProposalResponse: { + encode(message: MsgSubmitProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitProposalResponse; + fromJSON(object: any): MsgSubmitProposalResponse; + toJSON(message: MsgSubmitProposalResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgSubmitProposalResponse; +}; +export declare const MsgExecLegacyContent: { + encode(message: MsgExecLegacyContent, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecLegacyContent; + fromJSON(object: any): MsgExecLegacyContent; + toJSON(message: MsgExecLegacyContent): unknown; + fromPartial, never>) | undefined; + authority?: string | undefined; + } & Record, never>>(object: I): MsgExecLegacyContent; +}; +export declare const MsgExecLegacyContentResponse: { + encode(_: MsgExecLegacyContentResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecLegacyContentResponse; + fromJSON(_: any): MsgExecLegacyContentResponse; + toJSON(_: MsgExecLegacyContentResponse): unknown; + fromPartial, never>>(_: I): MsgExecLegacyContentResponse; +}; +export declare const MsgVote: { + encode(message: MsgVote, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVote; + fromJSON(object: any): MsgVote; + toJSON(message: MsgVote): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: VoteOption | undefined; + metadata?: string | undefined; + } & Record, never>>(object: I): MsgVote; +}; +export declare const MsgVoteResponse: { + encode(_: MsgVoteResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVoteResponse; + fromJSON(_: any): MsgVoteResponse; + toJSON(_: MsgVoteResponse): unknown; + fromPartial, never>>(_: I): MsgVoteResponse; +}; +export declare const MsgVoteWeighted: { + encode(message: MsgVoteWeighted, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVoteWeighted; + fromJSON(object: any): MsgVoteWeighted; + toJSON(message: MsgVoteWeighted): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + options?: ({ + option?: VoteOption | undefined; + weight?: string | undefined; + }[] & ({ + option?: VoteOption | undefined; + weight?: string | undefined; + } & { + option?: VoteOption | undefined; + weight?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>>(object: I): MsgVoteWeighted; +}; +export declare const MsgVoteWeightedResponse: { + encode(_: MsgVoteWeightedResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVoteWeightedResponse; + fromJSON(_: any): MsgVoteWeightedResponse; + toJSON(_: MsgVoteWeightedResponse): unknown; + fromPartial, never>>(_: I): MsgVoteWeightedResponse; +}; +export declare const MsgDeposit: { + encode(message: MsgDeposit, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgDeposit; + fromJSON(object: any): MsgDeposit; + toJSON(message: MsgDeposit): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + depositor?: string | undefined; + amount?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): MsgDeposit; +}; +export declare const MsgDepositResponse: { + encode(_: MsgDepositResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgDepositResponse; + fromJSON(_: any): MsgDepositResponse; + toJSON(_: MsgDepositResponse): unknown; + fromPartial, never>>(_: I): MsgDepositResponse; +}; +export declare const MsgUpdateParams: { + encode(message: MsgUpdateParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams; + fromJSON(object: any): MsgUpdateParams; + toJSON(message: MsgUpdateParams): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + maxDepositPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + votingPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + quorum?: string | undefined; + threshold?: string | undefined; + vetoThreshold?: string | undefined; + minInitialDepositRatio?: string | undefined; + burnVoteQuorum?: boolean | undefined; + burnProposalDepositPrevote?: boolean | undefined; + burnVoteVeto?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateParams; +}; +export declare const MsgUpdateParamsResponse: { + encode(_: MsgUpdateParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse; + fromJSON(_: any): MsgUpdateParamsResponse; + toJSON(_: MsgUpdateParamsResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateParamsResponse; +}; +/** Msg defines the gov Msg service. */ +export interface Msg { + /** SubmitProposal defines a method to create new proposal given the messages. */ + SubmitProposal(request: MsgSubmitProposal): Promise; + /** + * ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal + * to execute a legacy content-based proposal. + */ + ExecLegacyContent(request: MsgExecLegacyContent): Promise; + /** Vote defines a method to add a vote on a specific proposal. */ + Vote(request: MsgVote): Promise; + /** VoteWeighted defines a method to add a weighted vote on a specific proposal. */ + VoteWeighted(request: MsgVoteWeighted): Promise; + /** Deposit defines a method to add deposit on a specific proposal. */ + Deposit(request: MsgDeposit): Promise; + /** + * UpdateParams defines a governance operation for updating the x/gov module + * parameters. The authority is defined in the keeper. + * + * Since: cosmos-sdk 0.47 + */ + UpdateParams(request: MsgUpdateParams): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + SubmitProposal(request: MsgSubmitProposal): Promise; + ExecLegacyContent(request: MsgExecLegacyContent): Promise; + Vote(request: MsgVote): Promise; + VoteWeighted(request: MsgVoteWeighted): Promise; + Deposit(request: MsgDeposit): Promise; + UpdateParams(request: MsgUpdateParams): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js new file mode 100644 index 00000000..d5d63876 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js @@ -0,0 +1,745 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgUpdateParamsResponse = exports.MsgUpdateParams = exports.MsgDepositResponse = exports.MsgDeposit = exports.MsgVoteWeightedResponse = exports.MsgVoteWeighted = exports.MsgVoteResponse = exports.MsgVote = exports.MsgExecLegacyContentResponse = exports.MsgExecLegacyContent = exports.MsgSubmitProposalResponse = exports.MsgSubmitProposal = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../google/protobuf/any"); +const coin_1 = require("../../base/v1beta1/coin"); +const gov_1 = require("./gov"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.gov.v1"; +function createBaseMsgSubmitProposal() { + return { + messages: [], + initialDeposit: [], + proposer: "", + metadata: "", + title: "", + summary: "", + }; +} +exports.MsgSubmitProposal = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.messages) { + any_1.Any.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.initialDeposit) { + coin_1.Coin.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.proposer !== "") { + writer.uint32(26).string(message.proposer); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + if (message.title !== "") { + writer.uint32(42).string(message.title); + } + if (message.summary !== "") { + writer.uint32(50).string(message.summary); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(any_1.Any.decode(reader, reader.uint32())); + break; + case 2: + message.initialDeposit.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 3: + message.proposer = reader.string(); + break; + case 4: + message.metadata = reader.string(); + break; + case 5: + message.title = reader.string(); + break; + case 6: + message.summary = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + messages: Array.isArray(object?.messages) ? object.messages.map((e) => any_1.Any.fromJSON(e)) : [], + initialDeposit: Array.isArray(object?.initialDeposit) + ? object.initialDeposit.map((e) => coin_1.Coin.fromJSON(e)) + : [], + proposer: (0, helpers_1.isSet)(object.proposer) ? String(object.proposer) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + title: (0, helpers_1.isSet)(object.title) ? String(object.title) : "", + summary: (0, helpers_1.isSet)(object.summary) ? String(object.summary) : "", + }; + }, + toJSON(message) { + const obj = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.messages = []; + } + if (message.initialDeposit) { + obj.initialDeposit = message.initialDeposit.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.initialDeposit = []; + } + message.proposer !== undefined && (obj.proposer = message.proposer); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.title !== undefined && (obj.title = message.title); + message.summary !== undefined && (obj.summary = message.summary); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSubmitProposal(); + message.messages = object.messages?.map((e) => any_1.Any.fromPartial(e)) || []; + message.initialDeposit = object.initialDeposit?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.proposer = object.proposer ?? ""; + message.metadata = object.metadata ?? ""; + message.title = object.title ?? ""; + message.summary = object.summary ?? ""; + return message; + }, +}; +function createBaseMsgSubmitProposalResponse() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.MsgSubmitProposalResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSubmitProposalResponse(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMsgExecLegacyContent() { + return { + content: undefined, + authority: "", + }; +} +exports.MsgExecLegacyContent = { + encode(message, writer = _m0.Writer.create()) { + if (message.content !== undefined) { + any_1.Any.encode(message.content, writer.uint32(10).fork()).ldelim(); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecLegacyContent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = any_1.Any.decode(reader, reader.uint32()); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + content: (0, helpers_1.isSet)(object.content) ? any_1.Any.fromJSON(object.content) : undefined, + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.content !== undefined && + (obj.content = message.content ? any_1.Any.toJSON(message.content) : undefined); + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgExecLegacyContent(); + message.content = + object.content !== undefined && object.content !== null ? any_1.Any.fromPartial(object.content) : undefined; + message.authority = object.authority ?? ""; + return message; + }, +}; +function createBaseMsgExecLegacyContentResponse() { + return {}; +} +exports.MsgExecLegacyContentResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecLegacyContentResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgExecLegacyContentResponse(); + return message; + }, +}; +function createBaseMsgVote() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + option: 0, + metadata: "", + }; +} +exports.MsgVote = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.option = reader.int32(); + break; + case 4: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + option: (0, helpers_1.isSet)(object.option) ? (0, gov_1.voteOptionFromJSON)(object.option) : 0, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + message.option !== undefined && (obj.option = (0, gov_1.voteOptionToJSON)(message.option)); + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + message.option = object.option ?? 0; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseMsgVoteResponse() { + return {}; +} +exports.MsgVoteResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgVoteResponse(); + return message; + }, +}; +function createBaseMsgVoteWeighted() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + options: [], + metadata: "", + }; +} +exports.MsgVoteWeighted = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + gov_1.WeightedVoteOption.encode(v, writer.uint32(26).fork()).ldelim(); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeighted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.options.push(gov_1.WeightedVoteOption.decode(reader, reader.uint32())); + break; + case 4: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + options: Array.isArray(object?.options) + ? object.options.map((e) => gov_1.WeightedVoteOption.fromJSON(e)) + : [], + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + if (message.options) { + obj.options = message.options.map((e) => (e ? gov_1.WeightedVoteOption.toJSON(e) : undefined)); + } + else { + obj.options = []; + } + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgVoteWeighted(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + message.options = object.options?.map((e) => gov_1.WeightedVoteOption.fromPartial(e)) || []; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseMsgVoteWeightedResponse() { + return {}; +} +exports.MsgVoteWeightedResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeightedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgVoteWeightedResponse(); + return message; + }, +}; +function createBaseMsgDeposit() { + return { + proposalId: helpers_1.Long.UZERO, + depositor: "", + amount: [], + }; +} +exports.MsgDeposit = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== "") { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + coin_1.Coin.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + depositor: (0, helpers_1.isSet)(object.depositor) ? String(object.depositor) : "", + amount: Array.isArray(object?.amount) ? object.amount.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.depositor !== undefined && (obj.depositor = message.depositor); + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.amount = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseMsgDeposit(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.depositor = object.depositor ?? ""; + message.amount = object.amount?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseMsgDepositResponse() { + return {}; +} +exports.MsgDepositResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgDepositResponse(); + return message; + }, +}; +function createBaseMsgUpdateParams() { + return { + authority: "", + params: undefined, + }; +} +exports.MsgUpdateParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + gov_1.Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = gov_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + params: (0, helpers_1.isSet)(object.params) ? gov_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.params !== undefined && (obj.params = message.params ? gov_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ""; + message.params = + object.params !== undefined && object.params !== null ? gov_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseMsgUpdateParamsResponse() { + return {}; +} +exports.MsgUpdateParamsResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.SubmitProposal = this.SubmitProposal.bind(this); + this.ExecLegacyContent = this.ExecLegacyContent.bind(this); + this.Vote = this.Vote.bind(this); + this.VoteWeighted = this.VoteWeighted.bind(this); + this.Deposit = this.Deposit.bind(this); + this.UpdateParams = this.UpdateParams.bind(this); + } + SubmitProposal(request) { + const data = exports.MsgSubmitProposal.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "SubmitProposal", data); + return promise.then((data) => exports.MsgSubmitProposalResponse.decode(new _m0.Reader(data))); + } + ExecLegacyContent(request) { + const data = exports.MsgExecLegacyContent.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "ExecLegacyContent", data); + return promise.then((data) => exports.MsgExecLegacyContentResponse.decode(new _m0.Reader(data))); + } + Vote(request) { + const data = exports.MsgVote.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "Vote", data); + return promise.then((data) => exports.MsgVoteResponse.decode(new _m0.Reader(data))); + } + VoteWeighted(request) { + const data = exports.MsgVoteWeighted.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "VoteWeighted", data); + return promise.then((data) => exports.MsgVoteWeightedResponse.decode(new _m0.Reader(data))); + } + Deposit(request) { + const data = exports.MsgDeposit.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "Deposit", data); + return promise.then((data) => exports.MsgDepositResponse.decode(new _m0.Reader(data))); + } + UpdateParams(request) { + const data = exports.MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request("cosmos.gov.v1.Msg", "UpdateParams", data); + return promise.then((data) => exports.MsgUpdateParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js.map new file mode 100644 index 00000000..5f38e808 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/gov/v1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/gov/v1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.d.ts new file mode 100644 index 00000000..ad5a1d4a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.d.ts @@ -0,0 +1,154 @@ +/// +import { Duration } from "../../../../google/protobuf/duration"; +import { Long } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.module.v1"; +/** Module is the config object of the group module. */ +export interface Module { + /** + * max_execution_period defines the max duration after a proposal's voting period ends that members can send a MsgExec + * to execute the proposal. + */ + maxExecutionPeriod?: Duration; + /** + * max_metadata_len defines the max length of the metadata bytes field for various entities within the group module. + * Defaults to 255 if not explicitly set. + */ + maxMetadataLen: Long; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + maxMetadataLen?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js new file mode 100644 index 00000000..06d7832a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js @@ -0,0 +1,99 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const duration_1 = require("../../../../google/protobuf/duration"); +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.module.v1"; +function createBaseModule() { + return { + maxExecutionPeriod: undefined, + maxMetadataLen: helpers_1.Long.UZERO, + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.maxExecutionPeriod !== undefined) { + duration_1.Duration.encode(message.maxExecutionPeriod, writer.uint32(10).fork()).ldelim(); + } + if (!message.maxMetadataLen.isZero()) { + writer.uint32(16).uint64(message.maxMetadataLen); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxExecutionPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.maxMetadataLen = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + maxExecutionPeriod: (0, helpers_1.isSet)(object.maxExecutionPeriod) + ? duration_1.Duration.fromJSON(object.maxExecutionPeriod) + : undefined, + maxMetadataLen: (0, helpers_1.isSet)(object.maxMetadataLen) ? helpers_1.Long.fromValue(object.maxMetadataLen) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.maxExecutionPeriod !== undefined && + (obj.maxExecutionPeriod = message.maxExecutionPeriod + ? duration_1.Duration.toJSON(message.maxExecutionPeriod) + : undefined); + message.maxMetadataLen !== undefined && + (obj.maxMetadataLen = (message.maxMetadataLen || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.maxExecutionPeriod = + object.maxExecutionPeriod !== undefined && object.maxExecutionPeriod !== null + ? duration_1.Duration.fromPartial(object.maxExecutionPeriod) + : undefined; + message.maxMetadataLen = + object.maxMetadataLen !== undefined && object.maxMetadataLen !== null + ? helpers_1.Long.fromValue(object.maxMetadataLen) + : helpers_1.Long.UZERO; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js.map new file mode 100644 index 00000000..80e6f7be --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/group/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.d.ts new file mode 100644 index 00000000..317f3f3e --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.d.ts @@ -0,0 +1,560 @@ +/// +import { ProposalExecutorResult } from "./types"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.v1"; +/** EventCreateGroup is an event emitted when a group is created. */ +export interface EventCreateGroup { + /** group_id is the unique ID of the group. */ + groupId: Long; +} +/** EventUpdateGroup is an event emitted when a group is updated. */ +export interface EventUpdateGroup { + /** group_id is the unique ID of the group. */ + groupId: Long; +} +/** EventCreateGroupPolicy is an event emitted when a group policy is created. */ +export interface EventCreateGroupPolicy { + /** address is the account address of the group policy. */ + address: string; +} +/** EventUpdateGroupPolicy is an event emitted when a group policy is updated. */ +export interface EventUpdateGroupPolicy { + /** address is the account address of the group policy. */ + address: string; +} +/** EventSubmitProposal is an event emitted when a proposal is created. */ +export interface EventSubmitProposal { + /** proposal_id is the unique ID of the proposal. */ + proposalId: Long; +} +/** EventWithdrawProposal is an event emitted when a proposal is withdrawn. */ +export interface EventWithdrawProposal { + /** proposal_id is the unique ID of the proposal. */ + proposalId: Long; +} +/** EventVote is an event emitted when a voter votes on a proposal. */ +export interface EventVote { + /** proposal_id is the unique ID of the proposal. */ + proposalId: Long; +} +/** EventExec is an event emitted when a proposal is executed. */ +export interface EventExec { + /** proposal_id is the unique ID of the proposal. */ + proposalId: Long; + /** result is the proposal execution result. */ + result: ProposalExecutorResult; + /** logs contains error logs in case the execution result is FAILURE. */ + logs: string; +} +/** EventLeaveGroup is an event emitted when group member leaves the group. */ +export interface EventLeaveGroup { + /** group_id is the unique ID of the group. */ + groupId: Long; + /** address is the account address of the group member. */ + address: string; +} +export declare const EventCreateGroup: { + encode(message: EventCreateGroup, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventCreateGroup; + fromJSON(object: any): EventCreateGroup; + toJSON(message: EventCreateGroup): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): EventCreateGroup; +}; +export declare const EventUpdateGroup: { + encode(message: EventUpdateGroup, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventUpdateGroup; + fromJSON(object: any): EventUpdateGroup; + toJSON(message: EventUpdateGroup): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): EventUpdateGroup; +}; +export declare const EventCreateGroupPolicy: { + encode(message: EventCreateGroupPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventCreateGroupPolicy; + fromJSON(object: any): EventCreateGroupPolicy; + toJSON(message: EventCreateGroupPolicy): unknown; + fromPartial, never>>(object: I): EventCreateGroupPolicy; +}; +export declare const EventUpdateGroupPolicy: { + encode(message: EventUpdateGroupPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventUpdateGroupPolicy; + fromJSON(object: any): EventUpdateGroupPolicy; + toJSON(message: EventUpdateGroupPolicy): unknown; + fromPartial, never>>(object: I): EventUpdateGroupPolicy; +}; +export declare const EventSubmitProposal: { + encode(message: EventSubmitProposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventSubmitProposal; + fromJSON(object: any): EventSubmitProposal; + toJSON(message: EventSubmitProposal): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): EventSubmitProposal; +}; +export declare const EventWithdrawProposal: { + encode(message: EventWithdrawProposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventWithdrawProposal; + fromJSON(object: any): EventWithdrawProposal; + toJSON(message: EventWithdrawProposal): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): EventWithdrawProposal; +}; +export declare const EventVote: { + encode(message: EventVote, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventVote; + fromJSON(object: any): EventVote; + toJSON(message: EventVote): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): EventVote; +}; +export declare const EventExec: { + encode(message: EventExec, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventExec; + fromJSON(object: any): EventExec; + toJSON(message: EventExec): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + result?: ProposalExecutorResult | undefined; + logs?: string | undefined; + } & Record, never>>(object: I): EventExec; +}; +export declare const EventLeaveGroup: { + encode(message: EventLeaveGroup, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventLeaveGroup; + fromJSON(object: any): EventLeaveGroup; + toJSON(message: EventLeaveGroup): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + address?: string | undefined; + } & Record, never>>(object: I): EventLeaveGroup; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js new file mode 100644 index 00000000..0a5cb8d7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js @@ -0,0 +1,482 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EventLeaveGroup = exports.EventExec = exports.EventVote = exports.EventWithdrawProposal = exports.EventSubmitProposal = exports.EventUpdateGroupPolicy = exports.EventCreateGroupPolicy = exports.EventUpdateGroup = exports.EventCreateGroup = exports.protobufPackage = void 0; +/* eslint-disable */ +const types_1 = require("./types"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.v1"; +function createBaseEventCreateGroup() { + return { + groupId: helpers_1.Long.UZERO, + }; +} +exports.EventCreateGroup = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventCreateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseEventCreateGroup(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseEventUpdateGroup() { + return { + groupId: helpers_1.Long.UZERO, + }; +} +exports.EventUpdateGroup = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventUpdateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseEventUpdateGroup(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseEventCreateGroupPolicy() { + return { + address: "", + }; +} +exports.EventCreateGroupPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventCreateGroupPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseEventCreateGroupPolicy(); + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseEventUpdateGroupPolicy() { + return { + address: "", + }; +} +exports.EventUpdateGroupPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventUpdateGroupPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseEventUpdateGroupPolicy(); + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseEventSubmitProposal() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.EventSubmitProposal = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventSubmitProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseEventSubmitProposal(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseEventWithdrawProposal() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.EventWithdrawProposal = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventWithdrawProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseEventWithdrawProposal(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseEventVote() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.EventVote = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseEventVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseEventExec() { + return { + proposalId: helpers_1.Long.UZERO, + result: 0, + logs: "", + }; +} +exports.EventExec = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.result !== 0) { + writer.uint32(16).int32(message.result); + } + if (message.logs !== "") { + writer.uint32(26).string(message.logs); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventExec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.result = reader.int32(); + break; + case 3: + message.logs = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + result: (0, helpers_1.isSet)(object.result) ? (0, types_1.proposalExecutorResultFromJSON)(object.result) : 0, + logs: (0, helpers_1.isSet)(object.logs) ? String(object.logs) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.result !== undefined && (obj.result = (0, types_1.proposalExecutorResultToJSON)(message.result)); + message.logs !== undefined && (obj.logs = message.logs); + return obj; + }, + fromPartial(object) { + const message = createBaseEventExec(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.result = object.result ?? 0; + message.logs = object.logs ?? ""; + return message; + }, +}; +function createBaseEventLeaveGroup() { + return { + groupId: helpers_1.Long.UZERO, + address: "", + }; +} +exports.EventLeaveGroup = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + if (message.address !== "") { + writer.uint32(18).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventLeaveGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + case 2: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseEventLeaveGroup(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.address = object.address ?? ""; + return message; + }, +}; +//# sourceMappingURL=events.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js.map new file mode 100644 index 00000000..f7dd1671 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/events.js.map @@ -0,0 +1 @@ +{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/cosmos/group/v1/events.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.d.ts new file mode 100644 index 00000000..23ecf0e2 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.d.ts @@ -0,0 +1,1492 @@ +/// +import { GroupInfo, GroupMember, GroupPolicyInfo, Proposal, Vote } from "./types"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.v1"; +/** GenesisState defines the group module's genesis state. */ +export interface GenesisState { + /** + * group_seq is the group table orm.Sequence, + * it is used to get the next group ID. + */ + groupSeq: Long; + /** groups is the list of groups info. */ + groups: GroupInfo[]; + /** group_members is the list of groups members. */ + groupMembers: GroupMember[]; + /** + * group_policy_seq is the group policy table orm.Sequence, + * it is used to generate the next group policy account address. + */ + groupPolicySeq: Long; + /** group_policies is the list of group policies info. */ + groupPolicies: GroupPolicyInfo[]; + /** + * proposal_seq is the proposal table orm.Sequence, + * it is used to get the next proposal ID. + */ + proposalSeq: Long; + /** proposals is the list of proposals. */ + proposals: Proposal[]; + /** votes is the list of votes. */ + votes: Vote[]; +} +export declare const GenesisState: { + encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState; + fromJSON(object: any): GenesisState; + toJSON(message: GenesisState): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groups?: ({ + id?: string | number | Long.Long | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | Long.Long | undefined; + totalWeight?: string | undefined; + createdAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + id?: string | number | Long.Long | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | Long.Long | undefined; + totalWeight?: string | undefined; + createdAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + id?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + groupMembers?: ({ + groupId?: string | number | Long.Long | undefined; + member?: { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + }[] & ({ + groupId?: string | number | Long.Long | undefined; + member?: { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } | undefined; + } & { + groupId?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + member?: ({ + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + groupPolicySeq?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicies?: ({ + address?: string | undefined; + groupId?: string | number | Long.Long | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | Long.Long | undefined; + decisionPolicy?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + createdAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + address?: string | undefined; + groupId?: string | number | Long.Long | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | Long.Long | undefined; + decisionPolicy?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + createdAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + address?: string | undefined; + groupId?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + proposalSeq?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + proposals?: ({ + id?: string | number | Long.Long | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: string[] | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + groupVersion?: string | number | Long.Long | undefined; + groupPolicyVersion?: string | number | Long.Long | undefined; + status?: import("./types").ProposalStatus | undefined; + finalTallyResult?: { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } | undefined; + votingPeriodEnd?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + executorResult?: import("./types").ProposalExecutorResult | undefined; + messages?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] | undefined; + title?: string | undefined; + summary?: string | undefined; + }[] & ({ + id?: string | number | Long.Long | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: string[] | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + groupVersion?: string | number | Long.Long | undefined; + groupPolicyVersion?: string | number | Long.Long | undefined; + status?: import("./types").ProposalStatus | undefined; + finalTallyResult?: { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } | undefined; + votingPeriodEnd?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + executorResult?: import("./types").ProposalExecutorResult | undefined; + messages?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] | undefined; + title?: string | undefined; + summary?: string | undefined; + } & { + id?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: (string[] & string[] & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + groupVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + status?: import("./types").ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + votingPeriodEnd?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + executorResult?: import("./types").ProposalExecutorResult | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + votes?: ({ + proposalId?: string | number | Long.Long | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + proposalId?: string | number | Long.Long | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + proposalId?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): GenesisState; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js new file mode 100644 index 00000000..edf1ad7b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js @@ -0,0 +1,188 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GenesisState = exports.protobufPackage = void 0; +/* eslint-disable */ +const types_1 = require("./types"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.v1"; +function createBaseGenesisState() { + return { + groupSeq: helpers_1.Long.UZERO, + groups: [], + groupMembers: [], + groupPolicySeq: helpers_1.Long.UZERO, + groupPolicies: [], + proposalSeq: helpers_1.Long.UZERO, + proposals: [], + votes: [], + }; +} +exports.GenesisState = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupSeq.isZero()) { + writer.uint32(8).uint64(message.groupSeq); + } + for (const v of message.groups) { + types_1.GroupInfo.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.groupMembers) { + types_1.GroupMember.encode(v, writer.uint32(26).fork()).ldelim(); + } + if (!message.groupPolicySeq.isZero()) { + writer.uint32(32).uint64(message.groupPolicySeq); + } + for (const v of message.groupPolicies) { + types_1.GroupPolicyInfo.encode(v, writer.uint32(42).fork()).ldelim(); + } + if (!message.proposalSeq.isZero()) { + writer.uint32(48).uint64(message.proposalSeq); + } + for (const v of message.proposals) { + types_1.Proposal.encode(v, writer.uint32(58).fork()).ldelim(); + } + for (const v of message.votes) { + types_1.Vote.encode(v, writer.uint32(66).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupSeq = reader.uint64(); + break; + case 2: + message.groups.push(types_1.GroupInfo.decode(reader, reader.uint32())); + break; + case 3: + message.groupMembers.push(types_1.GroupMember.decode(reader, reader.uint32())); + break; + case 4: + message.groupPolicySeq = reader.uint64(); + break; + case 5: + message.groupPolicies.push(types_1.GroupPolicyInfo.decode(reader, reader.uint32())); + break; + case 6: + message.proposalSeq = reader.uint64(); + break; + case 7: + message.proposals.push(types_1.Proposal.decode(reader, reader.uint32())); + break; + case 8: + message.votes.push(types_1.Vote.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupSeq: (0, helpers_1.isSet)(object.groupSeq) ? helpers_1.Long.fromValue(object.groupSeq) : helpers_1.Long.UZERO, + groups: Array.isArray(object?.groups) ? object.groups.map((e) => types_1.GroupInfo.fromJSON(e)) : [], + groupMembers: Array.isArray(object?.groupMembers) + ? object.groupMembers.map((e) => types_1.GroupMember.fromJSON(e)) + : [], + groupPolicySeq: (0, helpers_1.isSet)(object.groupPolicySeq) ? helpers_1.Long.fromValue(object.groupPolicySeq) : helpers_1.Long.UZERO, + groupPolicies: Array.isArray(object?.groupPolicies) + ? object.groupPolicies.map((e) => types_1.GroupPolicyInfo.fromJSON(e)) + : [], + proposalSeq: (0, helpers_1.isSet)(object.proposalSeq) ? helpers_1.Long.fromValue(object.proposalSeq) : helpers_1.Long.UZERO, + proposals: Array.isArray(object?.proposals) + ? object.proposals.map((e) => types_1.Proposal.fromJSON(e)) + : [], + votes: Array.isArray(object?.votes) ? object.votes.map((e) => types_1.Vote.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.groupSeq !== undefined && (obj.groupSeq = (message.groupSeq || helpers_1.Long.UZERO).toString()); + if (message.groups) { + obj.groups = message.groups.map((e) => (e ? types_1.GroupInfo.toJSON(e) : undefined)); + } + else { + obj.groups = []; + } + if (message.groupMembers) { + obj.groupMembers = message.groupMembers.map((e) => (e ? types_1.GroupMember.toJSON(e) : undefined)); + } + else { + obj.groupMembers = []; + } + message.groupPolicySeq !== undefined && + (obj.groupPolicySeq = (message.groupPolicySeq || helpers_1.Long.UZERO).toString()); + if (message.groupPolicies) { + obj.groupPolicies = message.groupPolicies.map((e) => (e ? types_1.GroupPolicyInfo.toJSON(e) : undefined)); + } + else { + obj.groupPolicies = []; + } + message.proposalSeq !== undefined && (obj.proposalSeq = (message.proposalSeq || helpers_1.Long.UZERO).toString()); + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? types_1.Proposal.toJSON(e) : undefined)); + } + else { + obj.proposals = []; + } + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? types_1.Vote.toJSON(e) : undefined)); + } + else { + obj.votes = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseGenesisState(); + message.groupSeq = + object.groupSeq !== undefined && object.groupSeq !== null + ? helpers_1.Long.fromValue(object.groupSeq) + : helpers_1.Long.UZERO; + message.groups = object.groups?.map((e) => types_1.GroupInfo.fromPartial(e)) || []; + message.groupMembers = object.groupMembers?.map((e) => types_1.GroupMember.fromPartial(e)) || []; + message.groupPolicySeq = + object.groupPolicySeq !== undefined && object.groupPolicySeq !== null + ? helpers_1.Long.fromValue(object.groupPolicySeq) + : helpers_1.Long.UZERO; + message.groupPolicies = object.groupPolicies?.map((e) => types_1.GroupPolicyInfo.fromPartial(e)) || []; + message.proposalSeq = + object.proposalSeq !== undefined && object.proposalSeq !== null + ? helpers_1.Long.fromValue(object.proposalSeq) + : helpers_1.Long.UZERO; + message.proposals = object.proposals?.map((e) => types_1.Proposal.fromPartial(e)) || []; + message.votes = object.votes?.map((e) => types_1.Vote.fromPartial(e)) || []; + return message; + }, +}; +//# sourceMappingURL=genesis.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js.map new file mode 100644 index 00000000..d2e786d0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/genesis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../../src/cosmos/group/v1/genesis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.d.ts new file mode 100644 index 00000000..70e8bd28 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.d.ts @@ -0,0 +1,5868 @@ +/// +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; +import { GroupInfo, GroupPolicyInfo, GroupMember, Proposal, Vote, TallyResult } from "./types"; +import { Long, Rpc } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.v1"; +/** QueryGroupInfoRequest is the Query/GroupInfo request type. */ +export interface QueryGroupInfoRequest { + /** group_id is the unique ID of the group. */ + groupId: Long; +} +/** QueryGroupInfoResponse is the Query/GroupInfo response type. */ +export interface QueryGroupInfoResponse { + /** info is the GroupInfo of the group. */ + info?: GroupInfo; +} +/** QueryGroupPolicyInfoRequest is the Query/GroupPolicyInfo request type. */ +export interface QueryGroupPolicyInfoRequest { + /** address is the account address of the group policy. */ + address: string; +} +/** QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type. */ +export interface QueryGroupPolicyInfoResponse { + /** info is the GroupPolicyInfo of the group policy. */ + info?: GroupPolicyInfo; +} +/** QueryGroupMembersRequest is the Query/GroupMembers request type. */ +export interface QueryGroupMembersRequest { + /** group_id is the unique ID of the group. */ + groupId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryGroupMembersResponse is the Query/GroupMembersResponse response type. */ +export interface QueryGroupMembersResponse { + /** members are the members of the group with given group_id. */ + members: GroupMember[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryGroupsByAdminRequest is the Query/GroupsByAdmin request type. */ +export interface QueryGroupsByAdminRequest { + /** admin is the account address of a group's admin. */ + admin: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type. */ +export interface QueryGroupsByAdminResponse { + /** groups are the groups info with the provided admin. */ + groups: GroupInfo[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryGroupPoliciesByGroupRequest is the Query/GroupPoliciesByGroup request type. */ +export interface QueryGroupPoliciesByGroupRequest { + /** group_id is the unique ID of the group policy's group. */ + groupId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup response type. */ +export interface QueryGroupPoliciesByGroupResponse { + /** group_policies are the group policies info associated with the provided group. */ + groupPolicies: GroupPolicyInfo[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryGroupPoliciesByAdminRequest is the Query/GroupPoliciesByAdmin request type. */ +export interface QueryGroupPoliciesByAdminRequest { + /** admin is the admin address of the group policy. */ + admin: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin response type. */ +export interface QueryGroupPoliciesByAdminResponse { + /** group_policies are the group policies info with provided admin. */ + groupPolicies: GroupPolicyInfo[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryProposalRequest is the Query/Proposal request type. */ +export interface QueryProposalRequest { + /** proposal_id is the unique ID of a proposal. */ + proposalId: Long; +} +/** QueryProposalResponse is the Query/Proposal response type. */ +export interface QueryProposalResponse { + /** proposal is the proposal info. */ + proposal?: Proposal; +} +/** QueryProposalsByGroupPolicyRequest is the Query/ProposalByGroupPolicy request type. */ +export interface QueryProposalsByGroupPolicyRequest { + /** address is the account address of the group policy related to proposals. */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy response type. */ +export interface QueryProposalsByGroupPolicyResponse { + /** proposals are the proposals with given group policy. */ + proposals: Proposal[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryVoteByProposalVoterRequest is the Query/VoteByProposalVoter request type. */ +export interface QueryVoteByProposalVoterRequest { + /** proposal_id is the unique ID of a proposal. */ + proposalId: Long; + /** voter is a proposal voter account address. */ + voter: string; +} +/** QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response type. */ +export interface QueryVoteByProposalVoterResponse { + /** vote is the vote with given proposal_id and voter. */ + vote?: Vote; +} +/** QueryVotesByProposalRequest is the Query/VotesByProposal request type. */ +export interface QueryVotesByProposalRequest { + /** proposal_id is the unique ID of a proposal. */ + proposalId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryVotesByProposalResponse is the Query/VotesByProposal response type. */ +export interface QueryVotesByProposalResponse { + /** votes are the list of votes for given proposal_id. */ + votes: Vote[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryVotesByVoterRequest is the Query/VotesByVoter request type. */ +export interface QueryVotesByVoterRequest { + /** voter is a proposal voter account address. */ + voter: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryVotesByVoterResponse is the Query/VotesByVoter response type. */ +export interface QueryVotesByVoterResponse { + /** votes are the list of votes by given voter. */ + votes: Vote[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryGroupsByMemberRequest is the Query/GroupsByMember request type. */ +export interface QueryGroupsByMemberRequest { + /** address is the group member address. */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryGroupsByMemberResponse is the Query/GroupsByMember response type. */ +export interface QueryGroupsByMemberResponse { + /** groups are the groups info with the provided group member. */ + groups: GroupInfo[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryTallyResultRequest is the Query/TallyResult request type. */ +export interface QueryTallyResultRequest { + /** proposal_id is the unique id of a proposal. */ + proposalId: Long; +} +/** QueryTallyResultResponse is the Query/TallyResult response type. */ +export interface QueryTallyResultResponse { + /** tally defines the requested tally. */ + tally?: TallyResult; +} +/** + * QueryGroupsRequest is the Query/Groups request type. + * + * Since: cosmos-sdk 0.47.1 + */ +export interface QueryGroupsRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** + * QueryGroupsResponse is the Query/Groups response type. + * + * Since: cosmos-sdk 0.47.1 + */ +export interface QueryGroupsResponse { + /** `groups` is all the groups present in state. */ + groups: GroupInfo[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +export declare const QueryGroupInfoRequest: { + encode(message: QueryGroupInfoRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupInfoRequest; + fromJSON(object: any): QueryGroupInfoRequest; + toJSON(message: QueryGroupInfoRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupInfoRequest; +}; +export declare const QueryGroupInfoResponse: { + encode(message: QueryGroupInfoResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupInfoResponse; + fromJSON(object: any): QueryGroupInfoResponse; + toJSON(message: QueryGroupInfoResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupInfoResponse; +}; +export declare const QueryGroupPolicyInfoRequest: { + encode(message: QueryGroupPolicyInfoRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPolicyInfoRequest; + fromJSON(object: any): QueryGroupPolicyInfoRequest; + toJSON(message: QueryGroupPolicyInfoRequest): unknown; + fromPartial, never>>(object: I): QueryGroupPolicyInfoRequest; +}; +export declare const QueryGroupPolicyInfoResponse: { + encode(message: QueryGroupPolicyInfoResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPolicyInfoResponse; + fromJSON(object: any): QueryGroupPolicyInfoResponse; + toJSON(message: QueryGroupPolicyInfoResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupPolicyInfoResponse; +}; +export declare const QueryGroupMembersRequest: { + encode(message: QueryGroupMembersRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupMembersRequest; + fromJSON(object: any): QueryGroupMembersRequest; + toJSON(message: QueryGroupMembersRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupMembersRequest; +}; +export declare const QueryGroupMembersResponse: { + encode(message: QueryGroupMembersResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupMembersResponse; + fromJSON(object: any): QueryGroupMembersResponse; + toJSON(message: QueryGroupMembersResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + member?: ({ + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupMembersResponse; +}; +export declare const QueryGroupsByAdminRequest: { + encode(message: QueryGroupsByAdminRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsByAdminRequest; + fromJSON(object: any): QueryGroupsByAdminRequest; + toJSON(message: QueryGroupsByAdminRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsByAdminRequest; +}; +export declare const QueryGroupsByAdminResponse: { + encode(message: QueryGroupsByAdminResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsByAdminResponse; + fromJSON(object: any): QueryGroupsByAdminResponse; + toJSON(message: QueryGroupsByAdminResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsByAdminResponse; +}; +export declare const QueryGroupPoliciesByGroupRequest: { + encode(message: QueryGroupPoliciesByGroupRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPoliciesByGroupRequest; + fromJSON(object: any): QueryGroupPoliciesByGroupRequest; + toJSON(message: QueryGroupPoliciesByGroupRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupPoliciesByGroupRequest; +}; +export declare const QueryGroupPoliciesByGroupResponse: { + encode(message: QueryGroupPoliciesByGroupResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPoliciesByGroupResponse; + fromJSON(object: any): QueryGroupPoliciesByGroupResponse; + toJSON(message: QueryGroupPoliciesByGroupResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupPoliciesByGroupResponse; +}; +export declare const QueryGroupPoliciesByAdminRequest: { + encode(message: QueryGroupPoliciesByAdminRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPoliciesByAdminRequest; + fromJSON(object: any): QueryGroupPoliciesByAdminRequest; + toJSON(message: QueryGroupPoliciesByAdminRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupPoliciesByAdminRequest; +}; +export declare const QueryGroupPoliciesByAdminResponse: { + encode(message: QueryGroupPoliciesByAdminResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupPoliciesByAdminResponse; + fromJSON(object: any): QueryGroupPoliciesByAdminResponse; + toJSON(message: QueryGroupPoliciesByAdminResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupPoliciesByAdminResponse; +}; +export declare const QueryProposalRequest: { + encode(message: QueryProposalRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalRequest; + fromJSON(object: any): QueryProposalRequest; + toJSON(message: QueryProposalRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalRequest; +}; +export declare const QueryProposalResponse: { + encode(message: QueryProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalResponse; + fromJSON(object: any): QueryProposalResponse; + toJSON(message: QueryProposalResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: (string[] & string[] & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + groupVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + status?: import("./types").ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + votingPeriodEnd?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + executorResult?: import("./types").ProposalExecutorResult | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalResponse; +}; +export declare const QueryProposalsByGroupPolicyRequest: { + encode(message: QueryProposalsByGroupPolicyRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsByGroupPolicyRequest; + fromJSON(object: any): QueryProposalsByGroupPolicyRequest; + toJSON(message: QueryProposalsByGroupPolicyRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalsByGroupPolicyRequest; +}; +export declare const QueryProposalsByGroupPolicyResponse: { + encode(message: QueryProposalsByGroupPolicyResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsByGroupPolicyResponse; + fromJSON(object: any): QueryProposalsByGroupPolicyResponse; + toJSON(message: QueryProposalsByGroupPolicyResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: (string[] & string[] & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + groupVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + status?: import("./types").ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + votingPeriodEnd?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + executorResult?: import("./types").ProposalExecutorResult | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryProposalsByGroupPolicyResponse; +}; +export declare const QueryVoteByProposalVoterRequest: { + encode(message: QueryVoteByProposalVoterRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteByProposalVoterRequest; + fromJSON(object: any): QueryVoteByProposalVoterRequest; + toJSON(message: QueryVoteByProposalVoterRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + } & Record, never>>(object: I): QueryVoteByProposalVoterRequest; +}; +export declare const QueryVoteByProposalVoterResponse: { + encode(message: QueryVoteByProposalVoterResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteByProposalVoterResponse; + fromJSON(object: any): QueryVoteByProposalVoterResponse; + toJSON(message: QueryVoteByProposalVoterResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVoteByProposalVoterResponse; +}; +export declare const QueryVotesByProposalRequest: { + encode(message: QueryVotesByProposalRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesByProposalRequest; + fromJSON(object: any): QueryVotesByProposalRequest; + toJSON(message: QueryVotesByProposalRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesByProposalRequest; +}; +export declare const QueryVotesByProposalResponse: { + encode(message: QueryVotesByProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesByProposalResponse; + fromJSON(object: any): QueryVotesByProposalResponse; + toJSON(message: QueryVotesByProposalResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesByProposalResponse; +}; +export declare const QueryVotesByVoterRequest: { + encode(message: QueryVotesByVoterRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesByVoterRequest; + fromJSON(object: any): QueryVotesByVoterRequest; + toJSON(message: QueryVotesByVoterRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesByVoterRequest; +}; +export declare const QueryVotesByVoterResponse: { + encode(message: QueryVotesByVoterResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesByVoterResponse; + fromJSON(object: any): QueryVotesByVoterResponse; + toJSON(message: QueryVotesByVoterResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: import("./types").VoteOption | undefined; + metadata?: string | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryVotesByVoterResponse; +}; +export declare const QueryGroupsByMemberRequest: { + encode(message: QueryGroupsByMemberRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsByMemberRequest; + fromJSON(object: any): QueryGroupsByMemberRequest; + toJSON(message: QueryGroupsByMemberRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsByMemberRequest; +}; +export declare const QueryGroupsByMemberResponse: { + encode(message: QueryGroupsByMemberResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsByMemberResponse; + fromJSON(object: any): QueryGroupsByMemberResponse; + toJSON(message: QueryGroupsByMemberResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsByMemberResponse; +}; +export declare const QueryTallyResultRequest: { + encode(message: QueryTallyResultRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultRequest; + fromJSON(object: any): QueryTallyResultRequest; + toJSON(message: QueryTallyResultRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTallyResultRequest; +}; +export declare const QueryTallyResultResponse: { + encode(message: QueryTallyResultResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultResponse; + fromJSON(object: any): QueryTallyResultResponse; + toJSON(message: QueryTallyResultResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): QueryTallyResultResponse; +}; +export declare const QueryGroupsRequest: { + encode(message: QueryGroupsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsRequest; + fromJSON(object: any): QueryGroupsRequest; + toJSON(message: QueryGroupsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsRequest; +}; +export declare const QueryGroupsResponse: { + encode(message: QueryGroupsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryGroupsResponse; + fromJSON(object: any): QueryGroupsResponse; + toJSON(message: QueryGroupsResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryGroupsResponse; +}; +/** Query is the cosmos.group.v1 Query service. */ +export interface Query { + /** GroupInfo queries group info based on group id. */ + GroupInfo(request: QueryGroupInfoRequest): Promise; + /** GroupPolicyInfo queries group policy info based on account address of group policy. */ + GroupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise; + /** GroupMembers queries members of a group by group id. */ + GroupMembers(request: QueryGroupMembersRequest): Promise; + /** GroupsByAdmin queries groups by admin address. */ + GroupsByAdmin(request: QueryGroupsByAdminRequest): Promise; + /** GroupPoliciesByGroup queries group policies by group id. */ + GroupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise; + /** GroupPoliciesByAdmin queries group policies by admin address. */ + GroupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise; + /** Proposal queries a proposal based on proposal id. */ + Proposal(request: QueryProposalRequest): Promise; + /** ProposalsByGroupPolicy queries proposals based on account address of group policy. */ + ProposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise; + /** VoteByProposalVoter queries a vote by proposal id and voter. */ + VoteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise; + /** VotesByProposal queries a vote by proposal id. */ + VotesByProposal(request: QueryVotesByProposalRequest): Promise; + /** VotesByVoter queries a vote by voter. */ + VotesByVoter(request: QueryVotesByVoterRequest): Promise; + /** GroupsByMember queries groups by member address. */ + GroupsByMember(request: QueryGroupsByMemberRequest): Promise; + /** + * TallyResult returns the tally result of a proposal. If the proposal is + * still in voting period, then this query computes the current tally state, + * which might not be final. On the other hand, if the proposal is final, + * then it simply returns the `final_tally_result` state stored in the + * proposal itself. + */ + TallyResult(request: QueryTallyResultRequest): Promise; + /** + * Groups queries all groups in state. + * + * Since: cosmos-sdk 0.47.1 + */ + Groups(request?: QueryGroupsRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + GroupInfo(request: QueryGroupInfoRequest): Promise; + GroupPolicyInfo(request: QueryGroupPolicyInfoRequest): Promise; + GroupMembers(request: QueryGroupMembersRequest): Promise; + GroupsByAdmin(request: QueryGroupsByAdminRequest): Promise; + GroupPoliciesByGroup(request: QueryGroupPoliciesByGroupRequest): Promise; + GroupPoliciesByAdmin(request: QueryGroupPoliciesByAdminRequest): Promise; + Proposal(request: QueryProposalRequest): Promise; + ProposalsByGroupPolicy(request: QueryProposalsByGroupPolicyRequest): Promise; + VoteByProposalVoter(request: QueryVoteByProposalVoterRequest): Promise; + VotesByProposal(request: QueryVotesByProposalRequest): Promise; + VotesByVoter(request: QueryVotesByVoterRequest): Promise; + GroupsByMember(request: QueryGroupsByMemberRequest): Promise; + TallyResult(request: QueryTallyResultRequest): Promise; + Groups(request?: QueryGroupsRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js new file mode 100644 index 00000000..a155ad4d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js @@ -0,0 +1,1715 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryGroupsResponse = exports.QueryGroupsRequest = exports.QueryTallyResultResponse = exports.QueryTallyResultRequest = exports.QueryGroupsByMemberResponse = exports.QueryGroupsByMemberRequest = exports.QueryVotesByVoterResponse = exports.QueryVotesByVoterRequest = exports.QueryVotesByProposalResponse = exports.QueryVotesByProposalRequest = exports.QueryVoteByProposalVoterResponse = exports.QueryVoteByProposalVoterRequest = exports.QueryProposalsByGroupPolicyResponse = exports.QueryProposalsByGroupPolicyRequest = exports.QueryProposalResponse = exports.QueryProposalRequest = exports.QueryGroupPoliciesByAdminResponse = exports.QueryGroupPoliciesByAdminRequest = exports.QueryGroupPoliciesByGroupResponse = exports.QueryGroupPoliciesByGroupRequest = exports.QueryGroupsByAdminResponse = exports.QueryGroupsByAdminRequest = exports.QueryGroupMembersResponse = exports.QueryGroupMembersRequest = exports.QueryGroupPolicyInfoResponse = exports.QueryGroupPolicyInfoRequest = exports.QueryGroupInfoResponse = exports.QueryGroupInfoRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const pagination_1 = require("../../base/query/v1beta1/pagination"); +const types_1 = require("./types"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.v1"; +function createBaseQueryGroupInfoRequest() { + return { + groupId: helpers_1.Long.UZERO, + }; +} +exports.QueryGroupInfoRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupInfoRequest(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryGroupInfoResponse() { + return { + info: undefined, + }; +} +exports.QueryGroupInfoResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.info !== undefined) { + types_1.GroupInfo.encode(message.info, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.info = types_1.GroupInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + info: (0, helpers_1.isSet)(object.info) ? types_1.GroupInfo.fromJSON(object.info) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.info !== undefined && (obj.info = message.info ? types_1.GroupInfo.toJSON(message.info) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupInfoResponse(); + message.info = + object.info !== undefined && object.info !== null ? types_1.GroupInfo.fromPartial(object.info) : undefined; + return message; + }, +}; +function createBaseQueryGroupPolicyInfoRequest() { + return { + address: "", + }; +} +exports.QueryGroupPolicyInfoRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPolicyInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPolicyInfoRequest(); + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseQueryGroupPolicyInfoResponse() { + return { + info: undefined, + }; +} +exports.QueryGroupPolicyInfoResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.info !== undefined) { + types_1.GroupPolicyInfo.encode(message.info, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPolicyInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.info = types_1.GroupPolicyInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + info: (0, helpers_1.isSet)(object.info) ? types_1.GroupPolicyInfo.fromJSON(object.info) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.info !== undefined && + (obj.info = message.info ? types_1.GroupPolicyInfo.toJSON(message.info) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPolicyInfoResponse(); + message.info = + object.info !== undefined && object.info !== null + ? types_1.GroupPolicyInfo.fromPartial(object.info) + : undefined; + return message; + }, +}; +function createBaseQueryGroupMembersRequest() { + return { + groupId: helpers_1.Long.UZERO, + pagination: undefined, + }; +} +exports.QueryGroupMembersRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupMembersRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupMembersRequest(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupMembersResponse() { + return { + members: [], + pagination: undefined, + }; +} +exports.QueryGroupMembersResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.members) { + types_1.GroupMember.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupMembersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.members.push(types_1.GroupMember.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + members: Array.isArray(object?.members) ? object.members.map((e) => types_1.GroupMember.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.members) { + obj.members = message.members.map((e) => (e ? types_1.GroupMember.toJSON(e) : undefined)); + } + else { + obj.members = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupMembersResponse(); + message.members = object.members?.map((e) => types_1.GroupMember.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupsByAdminRequest() { + return { + admin: "", + pagination: undefined, + }; +} +exports.QueryGroupsByAdminRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsByAdminRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsByAdminRequest(); + message.admin = object.admin ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupsByAdminResponse() { + return { + groups: [], + pagination: undefined, + }; +} +exports.QueryGroupsByAdminResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.groups) { + types_1.GroupInfo.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsByAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groups.push(types_1.GroupInfo.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groups: Array.isArray(object?.groups) ? object.groups.map((e) => types_1.GroupInfo.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.groups) { + obj.groups = message.groups.map((e) => (e ? types_1.GroupInfo.toJSON(e) : undefined)); + } + else { + obj.groups = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsByAdminResponse(); + message.groups = object.groups?.map((e) => types_1.GroupInfo.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupPoliciesByGroupRequest() { + return { + groupId: helpers_1.Long.UZERO, + pagination: undefined, + }; +} +exports.QueryGroupPoliciesByGroupRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPoliciesByGroupRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPoliciesByGroupRequest(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupPoliciesByGroupResponse() { + return { + groupPolicies: [], + pagination: undefined, + }; +} +exports.QueryGroupPoliciesByGroupResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.groupPolicies) { + types_1.GroupPolicyInfo.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPoliciesByGroupResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupPolicies.push(types_1.GroupPolicyInfo.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupPolicies: Array.isArray(object?.groupPolicies) + ? object.groupPolicies.map((e) => types_1.GroupPolicyInfo.fromJSON(e)) + : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.groupPolicies) { + obj.groupPolicies = message.groupPolicies.map((e) => (e ? types_1.GroupPolicyInfo.toJSON(e) : undefined)); + } + else { + obj.groupPolicies = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPoliciesByGroupResponse(); + message.groupPolicies = object.groupPolicies?.map((e) => types_1.GroupPolicyInfo.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupPoliciesByAdminRequest() { + return { + admin: "", + pagination: undefined, + }; +} +exports.QueryGroupPoliciesByAdminRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPoliciesByAdminRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPoliciesByAdminRequest(); + message.admin = object.admin ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupPoliciesByAdminResponse() { + return { + groupPolicies: [], + pagination: undefined, + }; +} +exports.QueryGroupPoliciesByAdminResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.groupPolicies) { + types_1.GroupPolicyInfo.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupPoliciesByAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupPolicies.push(types_1.GroupPolicyInfo.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupPolicies: Array.isArray(object?.groupPolicies) + ? object.groupPolicies.map((e) => types_1.GroupPolicyInfo.fromJSON(e)) + : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.groupPolicies) { + obj.groupPolicies = message.groupPolicies.map((e) => (e ? types_1.GroupPolicyInfo.toJSON(e) : undefined)); + } + else { + obj.groupPolicies = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupPoliciesByAdminResponse(); + message.groupPolicies = object.groupPolicies?.map((e) => types_1.GroupPolicyInfo.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryProposalRequest() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.QueryProposalRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryProposalResponse() { + return { + proposal: undefined, + }; +} +exports.QueryProposalResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.proposal !== undefined) { + types_1.Proposal.encode(message.proposal, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposal = types_1.Proposal.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposal: (0, helpers_1.isSet)(object.proposal) ? types_1.Proposal.fromJSON(object.proposal) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposal !== undefined && + (obj.proposal = message.proposal ? types_1.Proposal.toJSON(message.proposal) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalResponse(); + message.proposal = + object.proposal !== undefined && object.proposal !== null + ? types_1.Proposal.fromPartial(object.proposal) + : undefined; + return message; + }, +}; +function createBaseQueryProposalsByGroupPolicyRequest() { + return { + address: "", + pagination: undefined, + }; +} +exports.QueryProposalsByGroupPolicyRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsByGroupPolicyRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalsByGroupPolicyRequest(); + message.address = object.address ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryProposalsByGroupPolicyResponse() { + return { + proposals: [], + pagination: undefined, + }; +} +exports.QueryProposalsByGroupPolicyResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.proposals) { + types_1.Proposal.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryProposalsByGroupPolicyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposals.push(types_1.Proposal.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposals: Array.isArray(object?.proposals) + ? object.proposals.map((e) => types_1.Proposal.fromJSON(e)) + : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? types_1.Proposal.toJSON(e) : undefined)); + } + else { + obj.proposals = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryProposalsByGroupPolicyResponse(); + message.proposals = object.proposals?.map((e) => types_1.Proposal.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVoteByProposalVoterRequest() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + }; +} +exports.QueryVoteByProposalVoterRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteByProposalVoterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVoteByProposalVoterRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + return message; + }, +}; +function createBaseQueryVoteByProposalVoterResponse() { + return { + vote: undefined, + }; +} +exports.QueryVoteByProposalVoterResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.vote !== undefined) { + types_1.Vote.encode(message.vote, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVoteByProposalVoterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.vote = types_1.Vote.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + vote: (0, helpers_1.isSet)(object.vote) ? types_1.Vote.fromJSON(object.vote) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.vote !== undefined && (obj.vote = message.vote ? types_1.Vote.toJSON(message.vote) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVoteByProposalVoterResponse(); + message.vote = + object.vote !== undefined && object.vote !== null ? types_1.Vote.fromPartial(object.vote) : undefined; + return message; + }, +}; +function createBaseQueryVotesByProposalRequest() { + return { + proposalId: helpers_1.Long.UZERO, + pagination: undefined, + }; +} +exports.QueryVotesByProposalRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesByProposalRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesByProposalRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVotesByProposalResponse() { + return { + votes: [], + pagination: undefined, + }; +} +exports.QueryVotesByProposalResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.votes) { + types_1.Vote.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesByProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votes.push(types_1.Vote.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votes: Array.isArray(object?.votes) ? object.votes.map((e) => types_1.Vote.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? types_1.Vote.toJSON(e) : undefined)); + } + else { + obj.votes = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesByProposalResponse(); + message.votes = object.votes?.map((e) => types_1.Vote.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVotesByVoterRequest() { + return { + voter: "", + pagination: undefined, + }; +} +exports.QueryVotesByVoterRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.voter !== "") { + writer.uint32(10).string(message.voter); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesByVoterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voter = reader.string(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.voter !== undefined && (obj.voter = message.voter); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesByVoterRequest(); + message.voter = object.voter ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryVotesByVoterResponse() { + return { + votes: [], + pagination: undefined, + }; +} +exports.QueryVotesByVoterResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.votes) { + types_1.Vote.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryVotesByVoterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votes.push(types_1.Vote.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votes: Array.isArray(object?.votes) ? object.votes.map((e) => types_1.Vote.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? types_1.Vote.toJSON(e) : undefined)); + } + else { + obj.votes = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryVotesByVoterResponse(); + message.votes = object.votes?.map((e) => types_1.Vote.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupsByMemberRequest() { + return { + address: "", + pagination: undefined, + }; +} +exports.QueryGroupsByMemberRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsByMemberRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsByMemberRequest(); + message.address = object.address ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupsByMemberResponse() { + return { + groups: [], + pagination: undefined, + }; +} +exports.QueryGroupsByMemberResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.groups) { + types_1.GroupInfo.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsByMemberResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groups.push(types_1.GroupInfo.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groups: Array.isArray(object?.groups) ? object.groups.map((e) => types_1.GroupInfo.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.groups) { + obj.groups = message.groups.map((e) => (e ? types_1.GroupInfo.toJSON(e) : undefined)); + } + else { + obj.groups = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsByMemberResponse(); + message.groups = object.groups?.map((e) => types_1.GroupInfo.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryTallyResultRequest() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.QueryTallyResultRequest = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTallyResultRequest(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryTallyResultResponse() { + return { + tally: undefined, + }; +} +exports.QueryTallyResultResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.tally !== undefined) { + types_1.TallyResult.encode(message.tally, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTallyResultResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tally = types_1.TallyResult.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + tally: (0, helpers_1.isSet)(object.tally) ? types_1.TallyResult.fromJSON(object.tally) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.tally !== undefined && + (obj.tally = message.tally ? types_1.TallyResult.toJSON(message.tally) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTallyResultResponse(); + message.tally = + object.tally !== undefined && object.tally !== null ? types_1.TallyResult.fromPartial(object.tally) : undefined; + return message; + }, +}; +function createBaseQueryGroupsRequest() { + return { + pagination: undefined, + }; +} +exports.QueryGroupsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsRequest(); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryGroupsResponse() { + return { + groups: [], + pagination: undefined, + }; +} +exports.QueryGroupsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.groups) { + types_1.GroupInfo.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryGroupsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groups.push(types_1.GroupInfo.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groups: Array.isArray(object?.groups) ? object.groups.map((e) => types_1.GroupInfo.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.groups) { + obj.groups = message.groups.map((e) => (e ? types_1.GroupInfo.toJSON(e) : undefined)); + } + else { + obj.groups = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryGroupsResponse(); + message.groups = object.groups?.map((e) => types_1.GroupInfo.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.GroupInfo = this.GroupInfo.bind(this); + this.GroupPolicyInfo = this.GroupPolicyInfo.bind(this); + this.GroupMembers = this.GroupMembers.bind(this); + this.GroupsByAdmin = this.GroupsByAdmin.bind(this); + this.GroupPoliciesByGroup = this.GroupPoliciesByGroup.bind(this); + this.GroupPoliciesByAdmin = this.GroupPoliciesByAdmin.bind(this); + this.Proposal = this.Proposal.bind(this); + this.ProposalsByGroupPolicy = this.ProposalsByGroupPolicy.bind(this); + this.VoteByProposalVoter = this.VoteByProposalVoter.bind(this); + this.VotesByProposal = this.VotesByProposal.bind(this); + this.VotesByVoter = this.VotesByVoter.bind(this); + this.GroupsByMember = this.GroupsByMember.bind(this); + this.TallyResult = this.TallyResult.bind(this); + this.Groups = this.Groups.bind(this); + } + GroupInfo(request) { + const data = exports.QueryGroupInfoRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupInfo", data); + return promise.then((data) => exports.QueryGroupInfoResponse.decode(new _m0.Reader(data))); + } + GroupPolicyInfo(request) { + const data = exports.QueryGroupPolicyInfoRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPolicyInfo", data); + return promise.then((data) => exports.QueryGroupPolicyInfoResponse.decode(new _m0.Reader(data))); + } + GroupMembers(request) { + const data = exports.QueryGroupMembersRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupMembers", data); + return promise.then((data) => exports.QueryGroupMembersResponse.decode(new _m0.Reader(data))); + } + GroupsByAdmin(request) { + const data = exports.QueryGroupsByAdminRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByAdmin", data); + return promise.then((data) => exports.QueryGroupsByAdminResponse.decode(new _m0.Reader(data))); + } + GroupPoliciesByGroup(request) { + const data = exports.QueryGroupPoliciesByGroupRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByGroup", data); + return promise.then((data) => exports.QueryGroupPoliciesByGroupResponse.decode(new _m0.Reader(data))); + } + GroupPoliciesByAdmin(request) { + const data = exports.QueryGroupPoliciesByAdminRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupPoliciesByAdmin", data); + return promise.then((data) => exports.QueryGroupPoliciesByAdminResponse.decode(new _m0.Reader(data))); + } + Proposal(request) { + const data = exports.QueryProposalRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "Proposal", data); + return promise.then((data) => exports.QueryProposalResponse.decode(new _m0.Reader(data))); + } + ProposalsByGroupPolicy(request) { + const data = exports.QueryProposalsByGroupPolicyRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "ProposalsByGroupPolicy", data); + return promise.then((data) => exports.QueryProposalsByGroupPolicyResponse.decode(new _m0.Reader(data))); + } + VoteByProposalVoter(request) { + const data = exports.QueryVoteByProposalVoterRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "VoteByProposalVoter", data); + return promise.then((data) => exports.QueryVoteByProposalVoterResponse.decode(new _m0.Reader(data))); + } + VotesByProposal(request) { + const data = exports.QueryVotesByProposalRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByProposal", data); + return promise.then((data) => exports.QueryVotesByProposalResponse.decode(new _m0.Reader(data))); + } + VotesByVoter(request) { + const data = exports.QueryVotesByVoterRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "VotesByVoter", data); + return promise.then((data) => exports.QueryVotesByVoterResponse.decode(new _m0.Reader(data))); + } + GroupsByMember(request) { + const data = exports.QueryGroupsByMemberRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "GroupsByMember", data); + return promise.then((data) => exports.QueryGroupsByMemberResponse.decode(new _m0.Reader(data))); + } + TallyResult(request) { + const data = exports.QueryTallyResultRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "TallyResult", data); + return promise.then((data) => exports.QueryTallyResultResponse.decode(new _m0.Reader(data))); + } + Groups(request = { + pagination: undefined, + }) { + const data = exports.QueryGroupsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Query", "Groups", data); + return promise.then((data) => exports.QueryGroupsResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js.map new file mode 100644 index 00000000..dfbaaf80 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/group/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.d.ts new file mode 100644 index 00000000..da0d9675 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.d.ts @@ -0,0 +1,1364 @@ +/// +import { MemberRequest, VoteOption, ProposalExecutorResult } from "./types"; +import { Any } from "../../../google/protobuf/any"; +import { Long, Rpc } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.v1"; +/** Exec defines modes of execution of a proposal on creation or on new vote. */ +export declare enum Exec { + /** + * EXEC_UNSPECIFIED - An empty value means that there should be a separate + * MsgExec request for the proposal to execute. + */ + EXEC_UNSPECIFIED = 0, + /** + * EXEC_TRY - Try to execute the proposal immediately. + * If the proposal is not allowed per the DecisionPolicy, + * the proposal will still be open and could + * be executed at a later point. + */ + EXEC_TRY = 1, + UNRECOGNIZED = -1 +} +export declare function execFromJSON(object: any): Exec; +export declare function execToJSON(object: Exec): string; +/** MsgCreateGroup is the Msg/CreateGroup request type. */ +export interface MsgCreateGroup { + /** admin is the account address of the group admin. */ + admin: string; + /** members defines the group members. */ + members: MemberRequest[]; + /** metadata is any arbitrary metadata to attached to the group. */ + metadata: string; +} +/** MsgCreateGroupResponse is the Msg/CreateGroup response type. */ +export interface MsgCreateGroupResponse { + /** group_id is the unique ID of the newly created group. */ + groupId: Long; +} +/** MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type. */ +export interface MsgUpdateGroupMembers { + /** admin is the account address of the group admin. */ + admin: string; + /** group_id is the unique ID of the group. */ + groupId: Long; + /** + * member_updates is the list of members to update, + * set weight to 0 to remove a member. + */ + memberUpdates: MemberRequest[]; +} +/** MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type. */ +export interface MsgUpdateGroupMembersResponse { +} +/** MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type. */ +export interface MsgUpdateGroupAdmin { + /** admin is the current account address of the group admin. */ + admin: string; + /** group_id is the unique ID of the group. */ + groupId: Long; + /** new_admin is the group new admin account address. */ + newAdmin: string; +} +/** MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type. */ +export interface MsgUpdateGroupAdminResponse { +} +/** MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type. */ +export interface MsgUpdateGroupMetadata { + /** admin is the account address of the group admin. */ + admin: string; + /** group_id is the unique ID of the group. */ + groupId: Long; + /** metadata is the updated group's metadata. */ + metadata: string; +} +/** MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type. */ +export interface MsgUpdateGroupMetadataResponse { +} +/** MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type. */ +export interface MsgCreateGroupPolicy { + /** admin is the account address of the group admin. */ + admin: string; + /** group_id is the unique ID of the group. */ + groupId: Long; + /** metadata is any arbitrary metadata attached to the group policy. */ + metadata: string; + /** decision_policy specifies the group policy's decision policy. */ + decisionPolicy?: Any; +} +/** MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type. */ +export interface MsgCreateGroupPolicyResponse { + /** address is the account address of the newly created group policy. */ + address: string; +} +/** MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type. */ +export interface MsgUpdateGroupPolicyAdmin { + /** admin is the account address of the group admin. */ + admin: string; + /** group_policy_address is the account address of the group policy. */ + groupPolicyAddress: string; + /** new_admin is the new group policy admin. */ + newAdmin: string; +} +/** MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type. */ +export interface MsgUpdateGroupPolicyAdminResponse { +} +/** MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type. */ +export interface MsgCreateGroupWithPolicy { + /** admin is the account address of the group and group policy admin. */ + admin: string; + /** members defines the group members. */ + members: MemberRequest[]; + /** group_metadata is any arbitrary metadata attached to the group. */ + groupMetadata: string; + /** group_policy_metadata is any arbitrary metadata attached to the group policy. */ + groupPolicyMetadata: string; + /** + * group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group + * and group policy admin. + */ + groupPolicyAsAdmin: boolean; + /** decision_policy specifies the group policy's decision policy. */ + decisionPolicy?: Any; +} +/** MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type. */ +export interface MsgCreateGroupWithPolicyResponse { + /** group_id is the unique ID of the newly created group with policy. */ + groupId: Long; + /** group_policy_address is the account address of the newly created group policy. */ + groupPolicyAddress: string; +} +/** MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type. */ +export interface MsgUpdateGroupPolicyDecisionPolicy { + /** admin is the account address of the group admin. */ + admin: string; + /** group_policy_address is the account address of group policy. */ + groupPolicyAddress: string; + /** decision_policy is the updated group policy's decision policy. */ + decisionPolicy?: Any; +} +/** MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type. */ +export interface MsgUpdateGroupPolicyDecisionPolicyResponse { +} +/** MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type. */ +export interface MsgUpdateGroupPolicyMetadata { + /** admin is the account address of the group admin. */ + admin: string; + /** group_policy_address is the account address of group policy. */ + groupPolicyAddress: string; + /** metadata is the group policy metadata to be updated. */ + metadata: string; +} +/** MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type. */ +export interface MsgUpdateGroupPolicyMetadataResponse { +} +/** MsgSubmitProposal is the Msg/SubmitProposal request type. */ +export interface MsgSubmitProposal { + /** group_policy_address is the account address of group policy. */ + groupPolicyAddress: string; + /** + * proposers are the account addresses of the proposers. + * Proposers signatures will be counted as yes votes. + */ + proposers: string[]; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata: string; + /** messages is a list of `sdk.Msg`s that will be executed if the proposal passes. */ + messages: Any[]; + /** + * exec defines the mode of execution of the proposal, + * whether it should be executed immediately on creation or not. + * If so, proposers signatures are considered as Yes votes. + */ + exec: Exec; + /** + * title is the title of the proposal. + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is the summary of the proposal. + * + * Since: cosmos-sdk 0.47 + */ + summary: string; +} +/** MsgSubmitProposalResponse is the Msg/SubmitProposal response type. */ +export interface MsgSubmitProposalResponse { + /** proposal is the unique ID of the proposal. */ + proposalId: Long; +} +/** MsgWithdrawProposal is the Msg/WithdrawProposal request type. */ +export interface MsgWithdrawProposal { + /** proposal is the unique ID of the proposal. */ + proposalId: Long; + /** address is the admin of the group policy or one of the proposer of the proposal. */ + address: string; +} +/** MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type. */ +export interface MsgWithdrawProposalResponse { +} +/** MsgVote is the Msg/Vote request type. */ +export interface MsgVote { + /** proposal is the unique ID of the proposal. */ + proposalId: Long; + /** voter is the voter account address. */ + voter: string; + /** option is the voter's choice on the proposal. */ + option: VoteOption; + /** metadata is any arbitrary metadata attached to the vote. */ + metadata: string; + /** + * exec defines whether the proposal should be executed + * immediately after voting or not. + */ + exec: Exec; +} +/** MsgVoteResponse is the Msg/Vote response type. */ +export interface MsgVoteResponse { +} +/** MsgExec is the Msg/Exec request type. */ +export interface MsgExec { + /** proposal is the unique ID of the proposal. */ + proposalId: Long; + /** executor is the account address used to execute the proposal. */ + executor: string; +} +/** MsgExecResponse is the Msg/Exec request type. */ +export interface MsgExecResponse { + /** result is the final result of the proposal execution. */ + result: ProposalExecutorResult; +} +/** MsgLeaveGroup is the Msg/LeaveGroup request type. */ +export interface MsgLeaveGroup { + /** address is the account address of the group member. */ + address: string; + /** group_id is the unique ID of the group. */ + groupId: Long; +} +/** MsgLeaveGroupResponse is the Msg/LeaveGroup response type. */ +export interface MsgLeaveGroupResponse { +} +export declare const MsgCreateGroup: { + encode(message: MsgCreateGroup, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroup; + fromJSON(object: any): MsgCreateGroup; + toJSON(message: MsgCreateGroup): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>>(object: I): MsgCreateGroup; +}; +export declare const MsgCreateGroupResponse: { + encode(message: MsgCreateGroupResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroupResponse; + fromJSON(object: any): MsgCreateGroupResponse; + toJSON(message: MsgCreateGroupResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgCreateGroupResponse; +}; +export declare const MsgUpdateGroupMembers: { + encode(message: MsgUpdateGroupMembers, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupMembers; + fromJSON(object: any): MsgUpdateGroupMembers; + toJSON(message: MsgUpdateGroupMembers): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + memberUpdates?: ({ + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + }[] & ({ + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + } & { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateGroupMembers; +}; +export declare const MsgUpdateGroupMembersResponse: { + encode(_: MsgUpdateGroupMembersResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupMembersResponse; + fromJSON(_: any): MsgUpdateGroupMembersResponse; + toJSON(_: MsgUpdateGroupMembersResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupMembersResponse; +}; +export declare const MsgUpdateGroupAdmin: { + encode(message: MsgUpdateGroupAdmin, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupAdmin; + fromJSON(object: any): MsgUpdateGroupAdmin; + toJSON(message: MsgUpdateGroupAdmin): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + newAdmin?: string | undefined; + } & Record, never>>(object: I): MsgUpdateGroupAdmin; +}; +export declare const MsgUpdateGroupAdminResponse: { + encode(_: MsgUpdateGroupAdminResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupAdminResponse; + fromJSON(_: any): MsgUpdateGroupAdminResponse; + toJSON(_: MsgUpdateGroupAdminResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupAdminResponse; +}; +export declare const MsgUpdateGroupMetadata: { + encode(message: MsgUpdateGroupMetadata, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupMetadata; + fromJSON(object: any): MsgUpdateGroupMetadata; + toJSON(message: MsgUpdateGroupMetadata): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + metadata?: string | undefined; + } & Record, never>>(object: I): MsgUpdateGroupMetadata; +}; +export declare const MsgUpdateGroupMetadataResponse: { + encode(_: MsgUpdateGroupMetadataResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupMetadataResponse; + fromJSON(_: any): MsgUpdateGroupMetadataResponse; + toJSON(_: MsgUpdateGroupMetadataResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupMetadataResponse; +}; +export declare const MsgCreateGroupPolicy: { + encode(message: MsgCreateGroupPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroupPolicy; + fromJSON(object: any): MsgCreateGroupPolicy; + toJSON(message: MsgCreateGroupPolicy): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + metadata?: string | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgCreateGroupPolicy; +}; +export declare const MsgCreateGroupPolicyResponse: { + encode(message: MsgCreateGroupPolicyResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroupPolicyResponse; + fromJSON(object: any): MsgCreateGroupPolicyResponse; + toJSON(message: MsgCreateGroupPolicyResponse): unknown; + fromPartial, never>>(object: I): MsgCreateGroupPolicyResponse; +}; +export declare const MsgUpdateGroupPolicyAdmin: { + encode(message: MsgUpdateGroupPolicyAdmin, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyAdmin; + fromJSON(object: any): MsgUpdateGroupPolicyAdmin; + toJSON(message: MsgUpdateGroupPolicyAdmin): unknown; + fromPartial, never>>(object: I): MsgUpdateGroupPolicyAdmin; +}; +export declare const MsgUpdateGroupPolicyAdminResponse: { + encode(_: MsgUpdateGroupPolicyAdminResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyAdminResponse; + fromJSON(_: any): MsgUpdateGroupPolicyAdminResponse; + toJSON(_: MsgUpdateGroupPolicyAdminResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupPolicyAdminResponse; +}; +export declare const MsgCreateGroupWithPolicy: { + encode(message: MsgCreateGroupWithPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroupWithPolicy; + fromJSON(object: any): MsgCreateGroupWithPolicy; + toJSON(message: MsgCreateGroupWithPolicy): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + groupMetadata?: string | undefined; + groupPolicyMetadata?: string | undefined; + groupPolicyAsAdmin?: boolean | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgCreateGroupWithPolicy; +}; +export declare const MsgCreateGroupWithPolicyResponse: { + encode(message: MsgCreateGroupWithPolicyResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateGroupWithPolicyResponse; + fromJSON(object: any): MsgCreateGroupWithPolicyResponse; + toJSON(message: MsgCreateGroupWithPolicyResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyAddress?: string | undefined; + } & Record, never>>(object: I): MsgCreateGroupWithPolicyResponse; +}; +export declare const MsgUpdateGroupPolicyDecisionPolicy: { + encode(message: MsgUpdateGroupPolicyDecisionPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyDecisionPolicy; + fromJSON(object: any): MsgUpdateGroupPolicyDecisionPolicy; + toJSON(message: MsgUpdateGroupPolicyDecisionPolicy): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateGroupPolicyDecisionPolicy; +}; +export declare const MsgUpdateGroupPolicyDecisionPolicyResponse: { + encode(_: MsgUpdateGroupPolicyDecisionPolicyResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyDecisionPolicyResponse; + fromJSON(_: any): MsgUpdateGroupPolicyDecisionPolicyResponse; + toJSON(_: MsgUpdateGroupPolicyDecisionPolicyResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupPolicyDecisionPolicyResponse; +}; +export declare const MsgUpdateGroupPolicyMetadata: { + encode(message: MsgUpdateGroupPolicyMetadata, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyMetadata; + fromJSON(object: any): MsgUpdateGroupPolicyMetadata; + toJSON(message: MsgUpdateGroupPolicyMetadata): unknown; + fromPartial, never>>(object: I): MsgUpdateGroupPolicyMetadata; +}; +export declare const MsgUpdateGroupPolicyMetadataResponse: { + encode(_: MsgUpdateGroupPolicyMetadataResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateGroupPolicyMetadataResponse; + fromJSON(_: any): MsgUpdateGroupPolicyMetadataResponse; + toJSON(_: MsgUpdateGroupPolicyMetadataResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateGroupPolicyMetadataResponse; +}; +export declare const MsgSubmitProposal: { + encode(message: MsgSubmitProposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitProposal; + fromJSON(object: any): MsgSubmitProposal; + toJSON(message: MsgSubmitProposal): unknown; + fromPartial, never>) | undefined; + metadata?: string | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + exec?: Exec | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>>(object: I): MsgSubmitProposal; +}; +export declare const MsgSubmitProposalResponse: { + encode(message: MsgSubmitProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitProposalResponse; + fromJSON(object: any): MsgSubmitProposalResponse; + toJSON(message: MsgSubmitProposalResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgSubmitProposalResponse; +}; +export declare const MsgWithdrawProposal: { + encode(message: MsgWithdrawProposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawProposal; + fromJSON(object: any): MsgWithdrawProposal; + toJSON(message: MsgWithdrawProposal): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + address?: string | undefined; + } & Record, never>>(object: I): MsgWithdrawProposal; +}; +export declare const MsgWithdrawProposalResponse: { + encode(_: MsgWithdrawProposalResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawProposalResponse; + fromJSON(_: any): MsgWithdrawProposalResponse; + toJSON(_: MsgWithdrawProposalResponse): unknown; + fromPartial, never>>(_: I): MsgWithdrawProposalResponse; +}; +export declare const MsgVote: { + encode(message: MsgVote, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVote; + fromJSON(object: any): MsgVote; + toJSON(message: MsgVote): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: VoteOption | undefined; + metadata?: string | undefined; + exec?: Exec | undefined; + } & Record, never>>(object: I): MsgVote; +}; +export declare const MsgVoteResponse: { + encode(_: MsgVoteResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgVoteResponse; + fromJSON(_: any): MsgVoteResponse; + toJSON(_: MsgVoteResponse): unknown; + fromPartial, never>>(_: I): MsgVoteResponse; +}; +export declare const MsgExec: { + encode(message: MsgExec, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExec; + fromJSON(object: any): MsgExec; + toJSON(message: MsgExec): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + executor?: string | undefined; + } & Record, never>>(object: I): MsgExec; +}; +export declare const MsgExecResponse: { + encode(message: MsgExecResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecResponse; + fromJSON(object: any): MsgExecResponse; + toJSON(message: MsgExecResponse): unknown; + fromPartial, never>>(object: I): MsgExecResponse; +}; +export declare const MsgLeaveGroup: { + encode(message: MsgLeaveGroup, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLeaveGroup; + fromJSON(object: any): MsgLeaveGroup; + toJSON(message: MsgLeaveGroup): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgLeaveGroup; +}; +export declare const MsgLeaveGroupResponse: { + encode(_: MsgLeaveGroupResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgLeaveGroupResponse; + fromJSON(_: any): MsgLeaveGroupResponse; + toJSON(_: MsgLeaveGroupResponse): unknown; + fromPartial, never>>(_: I): MsgLeaveGroupResponse; +}; +/** Msg is the cosmos.group.v1 Msg service. */ +export interface Msg { + /** CreateGroup creates a new group with an admin account address, a list of members and some optional metadata. */ + CreateGroup(request: MsgCreateGroup): Promise; + /** UpdateGroupMembers updates the group members with given group id and admin address. */ + UpdateGroupMembers(request: MsgUpdateGroupMembers): Promise; + /** UpdateGroupAdmin updates the group admin with given group id and previous admin address. */ + UpdateGroupAdmin(request: MsgUpdateGroupAdmin): Promise; + /** UpdateGroupMetadata updates the group metadata with given group id and admin address. */ + UpdateGroupMetadata(request: MsgUpdateGroupMetadata): Promise; + /** CreateGroupPolicy creates a new group policy using given DecisionPolicy. */ + CreateGroupPolicy(request: MsgCreateGroupPolicy): Promise; + /** CreateGroupWithPolicy creates a new group with policy. */ + CreateGroupWithPolicy(request: MsgCreateGroupWithPolicy): Promise; + /** UpdateGroupPolicyAdmin updates a group policy admin. */ + UpdateGroupPolicyAdmin(request: MsgUpdateGroupPolicyAdmin): Promise; + /** UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated. */ + UpdateGroupPolicyDecisionPolicy(request: MsgUpdateGroupPolicyDecisionPolicy): Promise; + /** UpdateGroupPolicyMetadata updates a group policy metadata. */ + UpdateGroupPolicyMetadata(request: MsgUpdateGroupPolicyMetadata): Promise; + /** SubmitProposal submits a new proposal. */ + SubmitProposal(request: MsgSubmitProposal): Promise; + /** WithdrawProposal withdraws a proposal. */ + WithdrawProposal(request: MsgWithdrawProposal): Promise; + /** Vote allows a voter to vote on a proposal. */ + Vote(request: MsgVote): Promise; + /** Exec executes a proposal. */ + Exec(request: MsgExec): Promise; + /** LeaveGroup allows a group member to leave the group. */ + LeaveGroup(request: MsgLeaveGroup): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + CreateGroup(request: MsgCreateGroup): Promise; + UpdateGroupMembers(request: MsgUpdateGroupMembers): Promise; + UpdateGroupAdmin(request: MsgUpdateGroupAdmin): Promise; + UpdateGroupMetadata(request: MsgUpdateGroupMetadata): Promise; + CreateGroupPolicy(request: MsgCreateGroupPolicy): Promise; + CreateGroupWithPolicy(request: MsgCreateGroupWithPolicy): Promise; + UpdateGroupPolicyAdmin(request: MsgUpdateGroupPolicyAdmin): Promise; + UpdateGroupPolicyDecisionPolicy(request: MsgUpdateGroupPolicyDecisionPolicy): Promise; + UpdateGroupPolicyMetadata(request: MsgUpdateGroupPolicyMetadata): Promise; + SubmitProposal(request: MsgSubmitProposal): Promise; + WithdrawProposal(request: MsgWithdrawProposal): Promise; + Vote(request: MsgVote): Promise; + Exec(request: MsgExec): Promise; + LeaveGroup(request: MsgLeaveGroup): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js new file mode 100644 index 00000000..03b89447 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js @@ -0,0 +1,1741 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgLeaveGroupResponse = exports.MsgLeaveGroup = exports.MsgExecResponse = exports.MsgExec = exports.MsgVoteResponse = exports.MsgVote = exports.MsgWithdrawProposalResponse = exports.MsgWithdrawProposal = exports.MsgSubmitProposalResponse = exports.MsgSubmitProposal = exports.MsgUpdateGroupPolicyMetadataResponse = exports.MsgUpdateGroupPolicyMetadata = exports.MsgUpdateGroupPolicyDecisionPolicyResponse = exports.MsgUpdateGroupPolicyDecisionPolicy = exports.MsgCreateGroupWithPolicyResponse = exports.MsgCreateGroupWithPolicy = exports.MsgUpdateGroupPolicyAdminResponse = exports.MsgUpdateGroupPolicyAdmin = exports.MsgCreateGroupPolicyResponse = exports.MsgCreateGroupPolicy = exports.MsgUpdateGroupMetadataResponse = exports.MsgUpdateGroupMetadata = exports.MsgUpdateGroupAdminResponse = exports.MsgUpdateGroupAdmin = exports.MsgUpdateGroupMembersResponse = exports.MsgUpdateGroupMembers = exports.MsgCreateGroupResponse = exports.MsgCreateGroup = exports.execToJSON = exports.execFromJSON = exports.Exec = exports.protobufPackage = void 0; +/* eslint-disable */ +const types_1 = require("./types"); +const any_1 = require("../../../google/protobuf/any"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.v1"; +/** Exec defines modes of execution of a proposal on creation or on new vote. */ +var Exec; +(function (Exec) { + /** + * EXEC_UNSPECIFIED - An empty value means that there should be a separate + * MsgExec request for the proposal to execute. + */ + Exec[Exec["EXEC_UNSPECIFIED"] = 0] = "EXEC_UNSPECIFIED"; + /** + * EXEC_TRY - Try to execute the proposal immediately. + * If the proposal is not allowed per the DecisionPolicy, + * the proposal will still be open and could + * be executed at a later point. + */ + Exec[Exec["EXEC_TRY"] = 1] = "EXEC_TRY"; + Exec[Exec["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(Exec = exports.Exec || (exports.Exec = {})); +function execFromJSON(object) { + switch (object) { + case 0: + case "EXEC_UNSPECIFIED": + return Exec.EXEC_UNSPECIFIED; + case 1: + case "EXEC_TRY": + return Exec.EXEC_TRY; + case -1: + case "UNRECOGNIZED": + default: + return Exec.UNRECOGNIZED; + } +} +exports.execFromJSON = execFromJSON; +function execToJSON(object) { + switch (object) { + case Exec.EXEC_UNSPECIFIED: + return "EXEC_UNSPECIFIED"; + case Exec.EXEC_TRY: + return "EXEC_TRY"; + case Exec.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.execToJSON = execToJSON; +function createBaseMsgCreateGroup() { + return { + admin: "", + members: [], + metadata: "", + }; +} +exports.MsgCreateGroup = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + for (const v of message.members) { + types_1.MemberRequest.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.members.push(types_1.MemberRequest.decode(reader, reader.uint32())); + break; + case 3: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + members: Array.isArray(object?.members) + ? object.members.map((e) => types_1.MemberRequest.fromJSON(e)) + : [], + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + if (message.members) { + obj.members = message.members.map((e) => (e ? types_1.MemberRequest.toJSON(e) : undefined)); + } + else { + obj.members = []; + } + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroup(); + message.admin = object.admin ?? ""; + message.members = object.members?.map((e) => types_1.MemberRequest.fromPartial(e)) || []; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseMsgCreateGroupResponse() { + return { + groupId: helpers_1.Long.UZERO, + }; +} +exports.MsgCreateGroupResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroupResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroupResponse(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMsgUpdateGroupMembers() { + return { + admin: "", + groupId: helpers_1.Long.UZERO, + memberUpdates: [], + }; +} +exports.MsgUpdateGroupMembers = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + for (const v of message.memberUpdates) { + types_1.MemberRequest.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupMembers(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + case 3: + message.memberUpdates.push(types_1.MemberRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + memberUpdates: Array.isArray(object?.memberUpdates) + ? object.memberUpdates.map((e) => types_1.MemberRequest.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + if (message.memberUpdates) { + obj.memberUpdates = message.memberUpdates.map((e) => (e ? types_1.MemberRequest.toJSON(e) : undefined)); + } + else { + obj.memberUpdates = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupMembers(); + message.admin = object.admin ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.memberUpdates = object.memberUpdates?.map((e) => types_1.MemberRequest.fromPartial(e)) || []; + return message; + }, +}; +function createBaseMsgUpdateGroupMembersResponse() { + return {}; +} +exports.MsgUpdateGroupMembersResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupMembersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupMembersResponse(); + return message; + }, +}; +function createBaseMsgUpdateGroupAdmin() { + return { + admin: "", + groupId: helpers_1.Long.UZERO, + newAdmin: "", + }; +} +exports.MsgUpdateGroupAdmin = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + if (message.newAdmin !== "") { + writer.uint32(26).string(message.newAdmin); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + case 3: + message.newAdmin = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + newAdmin: (0, helpers_1.isSet)(object.newAdmin) ? String(object.newAdmin) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.newAdmin !== undefined && (obj.newAdmin = message.newAdmin); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupAdmin(); + message.admin = object.admin ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.newAdmin = object.newAdmin ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupAdminResponse() { + return {}; +} +exports.MsgUpdateGroupAdminResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupAdminResponse(); + return message; + }, +}; +function createBaseMsgUpdateGroupMetadata() { + return { + admin: "", + groupId: helpers_1.Long.UZERO, + metadata: "", + }; +} +exports.MsgUpdateGroupMetadata = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + case 3: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupMetadata(); + message.admin = object.admin ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupMetadataResponse() { + return {}; +} +exports.MsgUpdateGroupMetadataResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupMetadataResponse(); + return message; + }, +}; +function createBaseMsgCreateGroupPolicy() { + return { + admin: "", + groupId: helpers_1.Long.UZERO, + metadata: "", + decisionPolicy: undefined, + }; +} +exports.MsgCreateGroupPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + if (message.decisionPolicy !== undefined) { + any_1.Any.encode(message.decisionPolicy, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroupPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + case 3: + message.metadata = reader.string(); + break; + case 4: + message.decisionPolicy = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + decisionPolicy: (0, helpers_1.isSet)(object.decisionPolicy) ? any_1.Any.fromJSON(object.decisionPolicy) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.decisionPolicy !== undefined && + (obj.decisionPolicy = message.decisionPolicy ? any_1.Any.toJSON(message.decisionPolicy) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroupPolicy(); + message.admin = object.admin ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.metadata = object.metadata ?? ""; + message.decisionPolicy = + object.decisionPolicy !== undefined && object.decisionPolicy !== null + ? any_1.Any.fromPartial(object.decisionPolicy) + : undefined; + return message; + }, +}; +function createBaseMsgCreateGroupPolicyResponse() { + return { + address: "", + }; +} +exports.MsgCreateGroupPolicyResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroupPolicyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroupPolicyResponse(); + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyAdmin() { + return { + admin: "", + groupPolicyAddress: "", + newAdmin: "", + }; +} +exports.MsgUpdateGroupPolicyAdmin = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (message.groupPolicyAddress !== "") { + writer.uint32(18).string(message.groupPolicyAddress); + } + if (message.newAdmin !== "") { + writer.uint32(26).string(message.newAdmin); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupPolicyAddress = reader.string(); + break; + case 3: + message.newAdmin = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + newAdmin: (0, helpers_1.isSet)(object.newAdmin) ? String(object.newAdmin) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + message.newAdmin !== undefined && (obj.newAdmin = message.newAdmin); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupPolicyAdmin(); + message.admin = object.admin ?? ""; + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + message.newAdmin = object.newAdmin ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyAdminResponse() { + return {}; +} +exports.MsgUpdateGroupPolicyAdminResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupPolicyAdminResponse(); + return message; + }, +}; +function createBaseMsgCreateGroupWithPolicy() { + return { + admin: "", + members: [], + groupMetadata: "", + groupPolicyMetadata: "", + groupPolicyAsAdmin: false, + decisionPolicy: undefined, + }; +} +exports.MsgCreateGroupWithPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + for (const v of message.members) { + types_1.MemberRequest.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.groupMetadata !== "") { + writer.uint32(26).string(message.groupMetadata); + } + if (message.groupPolicyMetadata !== "") { + writer.uint32(34).string(message.groupPolicyMetadata); + } + if (message.groupPolicyAsAdmin === true) { + writer.uint32(40).bool(message.groupPolicyAsAdmin); + } + if (message.decisionPolicy !== undefined) { + any_1.Any.encode(message.decisionPolicy, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroupWithPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.members.push(types_1.MemberRequest.decode(reader, reader.uint32())); + break; + case 3: + message.groupMetadata = reader.string(); + break; + case 4: + message.groupPolicyMetadata = reader.string(); + break; + case 5: + message.groupPolicyAsAdmin = reader.bool(); + break; + case 6: + message.decisionPolicy = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + members: Array.isArray(object?.members) + ? object.members.map((e) => types_1.MemberRequest.fromJSON(e)) + : [], + groupMetadata: (0, helpers_1.isSet)(object.groupMetadata) ? String(object.groupMetadata) : "", + groupPolicyMetadata: (0, helpers_1.isSet)(object.groupPolicyMetadata) ? String(object.groupPolicyMetadata) : "", + groupPolicyAsAdmin: (0, helpers_1.isSet)(object.groupPolicyAsAdmin) ? Boolean(object.groupPolicyAsAdmin) : false, + decisionPolicy: (0, helpers_1.isSet)(object.decisionPolicy) ? any_1.Any.fromJSON(object.decisionPolicy) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + if (message.members) { + obj.members = message.members.map((e) => (e ? types_1.MemberRequest.toJSON(e) : undefined)); + } + else { + obj.members = []; + } + message.groupMetadata !== undefined && (obj.groupMetadata = message.groupMetadata); + message.groupPolicyMetadata !== undefined && (obj.groupPolicyMetadata = message.groupPolicyMetadata); + message.groupPolicyAsAdmin !== undefined && (obj.groupPolicyAsAdmin = message.groupPolicyAsAdmin); + message.decisionPolicy !== undefined && + (obj.decisionPolicy = message.decisionPolicy ? any_1.Any.toJSON(message.decisionPolicy) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroupWithPolicy(); + message.admin = object.admin ?? ""; + message.members = object.members?.map((e) => types_1.MemberRequest.fromPartial(e)) || []; + message.groupMetadata = object.groupMetadata ?? ""; + message.groupPolicyMetadata = object.groupPolicyMetadata ?? ""; + message.groupPolicyAsAdmin = object.groupPolicyAsAdmin ?? false; + message.decisionPolicy = + object.decisionPolicy !== undefined && object.decisionPolicy !== null + ? any_1.Any.fromPartial(object.decisionPolicy) + : undefined; + return message; + }, +}; +function createBaseMsgCreateGroupWithPolicyResponse() { + return { + groupId: helpers_1.Long.UZERO, + groupPolicyAddress: "", + }; +} +exports.MsgCreateGroupWithPolicyResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + if (message.groupPolicyAddress !== "") { + writer.uint32(18).string(message.groupPolicyAddress); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateGroupWithPolicyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + case 2: + message.groupPolicyAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCreateGroupWithPolicyResponse(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyDecisionPolicy() { + return { + admin: "", + groupPolicyAddress: "", + decisionPolicy: undefined, + }; +} +exports.MsgUpdateGroupPolicyDecisionPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (message.groupPolicyAddress !== "") { + writer.uint32(18).string(message.groupPolicyAddress); + } + if (message.decisionPolicy !== undefined) { + any_1.Any.encode(message.decisionPolicy, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyDecisionPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupPolicyAddress = reader.string(); + break; + case 3: + message.decisionPolicy = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + decisionPolicy: (0, helpers_1.isSet)(object.decisionPolicy) ? any_1.Any.fromJSON(object.decisionPolicy) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + message.decisionPolicy !== undefined && + (obj.decisionPolicy = message.decisionPolicy ? any_1.Any.toJSON(message.decisionPolicy) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupPolicyDecisionPolicy(); + message.admin = object.admin ?? ""; + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + message.decisionPolicy = + object.decisionPolicy !== undefined && object.decisionPolicy !== null + ? any_1.Any.fromPartial(object.decisionPolicy) + : undefined; + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyDecisionPolicyResponse() { + return {}; +} +exports.MsgUpdateGroupPolicyDecisionPolicyResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyDecisionPolicyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupPolicyDecisionPolicyResponse(); + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyMetadata() { + return { + admin: "", + groupPolicyAddress: "", + metadata: "", + }; +} +exports.MsgUpdateGroupPolicyMetadata = { + encode(message, writer = _m0.Writer.create()) { + if (message.admin !== "") { + writer.uint32(10).string(message.admin); + } + if (message.groupPolicyAddress !== "") { + writer.uint32(18).string(message.groupPolicyAddress); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.groupPolicyAddress = reader.string(); + break; + case 3: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.admin !== undefined && (obj.admin = message.admin); + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateGroupPolicyMetadata(); + message.admin = object.admin ?? ""; + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseMsgUpdateGroupPolicyMetadataResponse() { + return {}; +} +exports.MsgUpdateGroupPolicyMetadataResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateGroupPolicyMetadataResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateGroupPolicyMetadataResponse(); + return message; + }, +}; +function createBaseMsgSubmitProposal() { + return { + groupPolicyAddress: "", + proposers: [], + metadata: "", + messages: [], + exec: 0, + title: "", + summary: "", + }; +} +exports.MsgSubmitProposal = { + encode(message, writer = _m0.Writer.create()) { + if (message.groupPolicyAddress !== "") { + writer.uint32(10).string(message.groupPolicyAddress); + } + for (const v of message.proposers) { + writer.uint32(18).string(v); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + for (const v of message.messages) { + any_1.Any.encode(v, writer.uint32(34).fork()).ldelim(); + } + if (message.exec !== 0) { + writer.uint32(40).int32(message.exec); + } + if (message.title !== "") { + writer.uint32(50).string(message.title); + } + if (message.summary !== "") { + writer.uint32(58).string(message.summary); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupPolicyAddress = reader.string(); + break; + case 2: + message.proposers.push(reader.string()); + break; + case 3: + message.metadata = reader.string(); + break; + case 4: + message.messages.push(any_1.Any.decode(reader, reader.uint32())); + break; + case 5: + message.exec = reader.int32(); + break; + case 6: + message.title = reader.string(); + break; + case 7: + message.summary = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + proposers: Array.isArray(object?.proposers) ? object.proposers.map((e) => String(e)) : [], + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + messages: Array.isArray(object?.messages) ? object.messages.map((e) => any_1.Any.fromJSON(e)) : [], + exec: (0, helpers_1.isSet)(object.exec) ? execFromJSON(object.exec) : 0, + title: (0, helpers_1.isSet)(object.title) ? String(object.title) : "", + summary: (0, helpers_1.isSet)(object.summary) ? String(object.summary) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + if (message.proposers) { + obj.proposers = message.proposers.map((e) => e); + } + else { + obj.proposers = []; + } + message.metadata !== undefined && (obj.metadata = message.metadata); + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.messages = []; + } + message.exec !== undefined && (obj.exec = execToJSON(message.exec)); + message.title !== undefined && (obj.title = message.title); + message.summary !== undefined && (obj.summary = message.summary); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSubmitProposal(); + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + message.proposers = object.proposers?.map((e) => e) || []; + message.metadata = object.metadata ?? ""; + message.messages = object.messages?.map((e) => any_1.Any.fromPartial(e)) || []; + message.exec = object.exec ?? 0; + message.title = object.title ?? ""; + message.summary = object.summary ?? ""; + return message; + }, +}; +function createBaseMsgSubmitProposalResponse() { + return { + proposalId: helpers_1.Long.UZERO, + }; +} +exports.MsgSubmitProposalResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSubmitProposalResponse(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMsgWithdrawProposal() { + return { + proposalId: helpers_1.Long.UZERO, + address: "", + }; +} +exports.MsgWithdrawProposal = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.address !== "") { + writer.uint32(18).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgWithdrawProposal(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseMsgWithdrawProposalResponse() { + return {}; +} +exports.MsgWithdrawProposalResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgWithdrawProposalResponse(); + return message; + }, +}; +function createBaseMsgVote() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + option: 0, + metadata: "", + exec: 0, + }; +} +exports.MsgVote = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + if (message.exec !== 0) { + writer.uint32(40).int32(message.exec); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.option = reader.int32(); + break; + case 4: + message.metadata = reader.string(); + break; + case 5: + message.exec = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + option: (0, helpers_1.isSet)(object.option) ? (0, types_1.voteOptionFromJSON)(object.option) : 0, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + exec: (0, helpers_1.isSet)(object.exec) ? execFromJSON(object.exec) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + message.option !== undefined && (obj.option = (0, types_1.voteOptionToJSON)(message.option)); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.exec !== undefined && (obj.exec = execToJSON(message.exec)); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + message.option = object.option ?? 0; + message.metadata = object.metadata ?? ""; + message.exec = object.exec ?? 0; + return message; + }, +}; +function createBaseMsgVoteResponse() { + return {}; +} +exports.MsgVoteResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgVoteResponse(); + return message; + }, +}; +function createBaseMsgExec() { + return { + proposalId: helpers_1.Long.UZERO, + executor: "", + }; +} +exports.MsgExec = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.executor !== "") { + writer.uint32(18).string(message.executor); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.executor = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + executor: (0, helpers_1.isSet)(object.executor) ? String(object.executor) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.executor !== undefined && (obj.executor = message.executor); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgExec(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.executor = object.executor ?? ""; + return message; + }, +}; +function createBaseMsgExecResponse() { + return { + result: 0, + }; +} +exports.MsgExecResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.result !== 0) { + writer.uint32(16).int32(message.result); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.result = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + result: (0, helpers_1.isSet)(object.result) ? (0, types_1.proposalExecutorResultFromJSON)(object.result) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.result !== undefined && (obj.result = (0, types_1.proposalExecutorResultToJSON)(message.result)); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgExecResponse(); + message.result = object.result ?? 0; + return message; + }, +}; +function createBaseMsgLeaveGroup() { + return { + address: "", + groupId: helpers_1.Long.UZERO, + }; +} +exports.MsgLeaveGroup = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLeaveGroup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgLeaveGroup(); + message.address = object.address ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMsgLeaveGroupResponse() { + return {}; +} +exports.MsgLeaveGroupResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLeaveGroupResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgLeaveGroupResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.CreateGroup = this.CreateGroup.bind(this); + this.UpdateGroupMembers = this.UpdateGroupMembers.bind(this); + this.UpdateGroupAdmin = this.UpdateGroupAdmin.bind(this); + this.UpdateGroupMetadata = this.UpdateGroupMetadata.bind(this); + this.CreateGroupPolicy = this.CreateGroupPolicy.bind(this); + this.CreateGroupWithPolicy = this.CreateGroupWithPolicy.bind(this); + this.UpdateGroupPolicyAdmin = this.UpdateGroupPolicyAdmin.bind(this); + this.UpdateGroupPolicyDecisionPolicy = this.UpdateGroupPolicyDecisionPolicy.bind(this); + this.UpdateGroupPolicyMetadata = this.UpdateGroupPolicyMetadata.bind(this); + this.SubmitProposal = this.SubmitProposal.bind(this); + this.WithdrawProposal = this.WithdrawProposal.bind(this); + this.Vote = this.Vote.bind(this); + this.Exec = this.Exec.bind(this); + this.LeaveGroup = this.LeaveGroup.bind(this); + } + CreateGroup(request) { + const data = exports.MsgCreateGroup.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "CreateGroup", data); + return promise.then((data) => exports.MsgCreateGroupResponse.decode(new _m0.Reader(data))); + } + UpdateGroupMembers(request) { + const data = exports.MsgUpdateGroupMembers.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupMembers", data); + return promise.then((data) => exports.MsgUpdateGroupMembersResponse.decode(new _m0.Reader(data))); + } + UpdateGroupAdmin(request) { + const data = exports.MsgUpdateGroupAdmin.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupAdmin", data); + return promise.then((data) => exports.MsgUpdateGroupAdminResponse.decode(new _m0.Reader(data))); + } + UpdateGroupMetadata(request) { + const data = exports.MsgUpdateGroupMetadata.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupMetadata", data); + return promise.then((data) => exports.MsgUpdateGroupMetadataResponse.decode(new _m0.Reader(data))); + } + CreateGroupPolicy(request) { + const data = exports.MsgCreateGroupPolicy.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "CreateGroupPolicy", data); + return promise.then((data) => exports.MsgCreateGroupPolicyResponse.decode(new _m0.Reader(data))); + } + CreateGroupWithPolicy(request) { + const data = exports.MsgCreateGroupWithPolicy.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "CreateGroupWithPolicy", data); + return promise.then((data) => exports.MsgCreateGroupWithPolicyResponse.decode(new _m0.Reader(data))); + } + UpdateGroupPolicyAdmin(request) { + const data = exports.MsgUpdateGroupPolicyAdmin.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupPolicyAdmin", data); + return promise.then((data) => exports.MsgUpdateGroupPolicyAdminResponse.decode(new _m0.Reader(data))); + } + UpdateGroupPolicyDecisionPolicy(request) { + const data = exports.MsgUpdateGroupPolicyDecisionPolicy.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupPolicyDecisionPolicy", data); + return promise.then((data) => exports.MsgUpdateGroupPolicyDecisionPolicyResponse.decode(new _m0.Reader(data))); + } + UpdateGroupPolicyMetadata(request) { + const data = exports.MsgUpdateGroupPolicyMetadata.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "UpdateGroupPolicyMetadata", data); + return promise.then((data) => exports.MsgUpdateGroupPolicyMetadataResponse.decode(new _m0.Reader(data))); + } + SubmitProposal(request) { + const data = exports.MsgSubmitProposal.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "SubmitProposal", data); + return promise.then((data) => exports.MsgSubmitProposalResponse.decode(new _m0.Reader(data))); + } + WithdrawProposal(request) { + const data = exports.MsgWithdrawProposal.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "WithdrawProposal", data); + return promise.then((data) => exports.MsgWithdrawProposalResponse.decode(new _m0.Reader(data))); + } + Vote(request) { + const data = exports.MsgVote.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "Vote", data); + return promise.then((data) => exports.MsgVoteResponse.decode(new _m0.Reader(data))); + } + Exec(request) { + const data = exports.MsgExec.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "Exec", data); + return promise.then((data) => exports.MsgExecResponse.decode(new _m0.Reader(data))); + } + LeaveGroup(request) { + const data = exports.MsgLeaveGroup.encode(request).finish(); + const promise = this.rpc.request("cosmos.group.v1.Msg", "LeaveGroup", data); + return promise.then((data) => exports.MsgLeaveGroupResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js.map new file mode 100644 index 00000000..7d26005d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/group/v1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.d.ts new file mode 100644 index 00000000..1e877be4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.d.ts @@ -0,0 +1,1946 @@ +/// +import { Timestamp } from "../../../google/protobuf/timestamp"; +import { Duration } from "../../../google/protobuf/duration"; +import { Any } from "../../../google/protobuf/any"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.group.v1"; +/** VoteOption enumerates the valid vote options for a given proposal. */ +export declare enum VoteOption { + /** + * VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will + * return an error. + */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1 +} +export declare function voteOptionFromJSON(object: any): VoteOption; +export declare function voteOptionToJSON(object: VoteOption): string; +/** ProposalStatus defines proposal statuses. */ +export declare enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - An empty value is invalid and not allowed. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** PROPOSAL_STATUS_SUBMITTED - Initial status of a proposal when submitted. */ + PROPOSAL_STATUS_SUBMITTED = 1, + /** + * PROPOSAL_STATUS_ACCEPTED - Final status of a proposal when the final tally is done and the outcome + * passes the group policy's decision policy. + */ + PROPOSAL_STATUS_ACCEPTED = 2, + /** + * PROPOSAL_STATUS_REJECTED - Final status of a proposal when the final tally is done and the outcome + * is rejected by the group policy's decision policy. + */ + PROPOSAL_STATUS_REJECTED = 3, + /** + * PROPOSAL_STATUS_ABORTED - Final status of a proposal when the group policy is modified before the + * final tally. + */ + PROPOSAL_STATUS_ABORTED = 4, + /** + * PROPOSAL_STATUS_WITHDRAWN - A proposal can be withdrawn before the voting start time by the owner. + * When this happens the final status is Withdrawn. + */ + PROPOSAL_STATUS_WITHDRAWN = 5, + UNRECOGNIZED = -1 +} +export declare function proposalStatusFromJSON(object: any): ProposalStatus; +export declare function proposalStatusToJSON(object: ProposalStatus): string; +/** ProposalExecutorResult defines types of proposal executor results. */ +export declare enum ProposalExecutorResult { + /** PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - An empty value is not allowed. */ + PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED = 0, + /** PROPOSAL_EXECUTOR_RESULT_NOT_RUN - We have not yet run the executor. */ + PROPOSAL_EXECUTOR_RESULT_NOT_RUN = 1, + /** PROPOSAL_EXECUTOR_RESULT_SUCCESS - The executor was successful and proposed action updated state. */ + PROPOSAL_EXECUTOR_RESULT_SUCCESS = 2, + /** PROPOSAL_EXECUTOR_RESULT_FAILURE - The executor returned an error and proposed action didn't update state. */ + PROPOSAL_EXECUTOR_RESULT_FAILURE = 3, + UNRECOGNIZED = -1 +} +export declare function proposalExecutorResultFromJSON(object: any): ProposalExecutorResult; +export declare function proposalExecutorResultToJSON(object: ProposalExecutorResult): string; +/** + * Member represents a group member with an account address, + * non-zero weight, metadata and added_at timestamp. + */ +export interface Member { + /** address is the member's account address. */ + address: string; + /** weight is the member's voting weight that should be greater than 0. */ + weight: string; + /** metadata is any arbitrary metadata attached to the member. */ + metadata: string; + /** added_at is a timestamp specifying when a member was added. */ + addedAt?: Timestamp; +} +/** + * MemberRequest represents a group member to be used in Msg server requests. + * Contrary to `Member`, it doesn't have any `added_at` field + * since this field cannot be set as part of requests. + */ +export interface MemberRequest { + /** address is the member's account address. */ + address: string; + /** weight is the member's voting weight that should be greater than 0. */ + weight: string; + /** metadata is any arbitrary metadata attached to the member. */ + metadata: string; +} +/** + * ThresholdDecisionPolicy is a decision policy where a proposal passes when it + * satisfies the two following conditions: + * 1. The sum of all `YES` voter's weights is greater or equal than the defined + * `threshold`. + * 2. The voting and execution periods of the proposal respect the parameters + * given by `windows`. + */ +export interface ThresholdDecisionPolicy { + /** + * threshold is the minimum weighted sum of `YES` votes that must be met or + * exceeded for a proposal to succeed. + */ + threshold: string; + /** windows defines the different windows for voting and execution. */ + windows?: DecisionPolicyWindows; +} +/** + * PercentageDecisionPolicy is a decision policy where a proposal passes when + * it satisfies the two following conditions: + * 1. The percentage of all `YES` voters' weights out of the total group weight + * is greater or equal than the given `percentage`. + * 2. The voting and execution periods of the proposal respect the parameters + * given by `windows`. + */ +export interface PercentageDecisionPolicy { + /** + * percentage is the minimum percentage of the weighted sum of `YES` votes must + * meet for a proposal to succeed. + */ + percentage: string; + /** windows defines the different windows for voting and execution. */ + windows?: DecisionPolicyWindows; +} +/** DecisionPolicyWindows defines the different windows for voting and execution. */ +export interface DecisionPolicyWindows { + /** + * voting_period is the duration from submission of a proposal to the end of voting period + * Within this times votes can be submitted with MsgVote. + */ + votingPeriod?: Duration; + /** + * min_execution_period is the minimum duration after the proposal submission + * where members can start sending MsgExec. This means that the window for + * sending a MsgExec transaction is: + * `[ submission + min_execution_period ; submission + voting_period + max_execution_period]` + * where max_execution_period is a app-specific config, defined in the keeper. + * If not set, min_execution_period will default to 0. + * + * Please make sure to set a `min_execution_period` that is smaller than + * `voting_period + max_execution_period`, or else the above execution window + * is empty, meaning that all proposals created with this decision policy + * won't be able to be executed. + */ + minExecutionPeriod?: Duration; +} +/** GroupInfo represents the high-level on-chain information for a group. */ +export interface GroupInfo { + /** id is the unique ID of the group. */ + id: Long; + /** admin is the account address of the group's admin. */ + admin: string; + /** metadata is any arbitrary metadata to attached to the group. */ + metadata: string; + /** + * version is used to track changes to a group's membership structure that + * would break existing proposals. Whenever any members weight is changed, + * or any member is added or removed this version is incremented and will + * cause proposals based on older versions of this group to fail + */ + version: Long; + /** total_weight is the sum of the group members' weights. */ + totalWeight: string; + /** created_at is a timestamp specifying when a group was created. */ + createdAt?: Timestamp; +} +/** GroupMember represents the relationship between a group and a member. */ +export interface GroupMember { + /** group_id is the unique ID of the group. */ + groupId: Long; + /** member is the member data. */ + member?: Member; +} +/** GroupPolicyInfo represents the high-level on-chain information for a group policy. */ +export interface GroupPolicyInfo { + /** address is the account address of group policy. */ + address: string; + /** group_id is the unique ID of the group. */ + groupId: Long; + /** admin is the account address of the group admin. */ + admin: string; + /** metadata is any arbitrary metadata attached to the group policy. */ + metadata: string; + /** + * version is used to track changes to a group's GroupPolicyInfo structure that + * would create a different result on a running proposal. + */ + version: Long; + /** decision_policy specifies the group policy's decision policy. */ + decisionPolicy?: Any; + /** created_at is a timestamp specifying when a group policy was created. */ + createdAt?: Timestamp; +} +/** + * Proposal defines a group proposal. Any member of a group can submit a proposal + * for a group policy to decide upon. + * A proposal consists of a set of `sdk.Msg`s that will be executed if the proposal + * passes as well as some optional metadata associated with the proposal. + */ +export interface Proposal { + /** id is the unique id of the proposal. */ + id: Long; + /** group_policy_address is the account address of group policy. */ + groupPolicyAddress: string; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata: string; + /** proposers are the account addresses of the proposers. */ + proposers: string[]; + /** submit_time is a timestamp specifying when a proposal was submitted. */ + submitTime?: Timestamp; + /** + * group_version tracks the version of the group at proposal submission. + * This field is here for informational purposes only. + */ + groupVersion: Long; + /** + * group_policy_version tracks the version of the group policy at proposal submission. + * When a decision policy is changed, existing proposals from previous policy + * versions will become invalid with the `ABORTED` status. + * This field is here for informational purposes only. + */ + groupPolicyVersion: Long; + /** status represents the high level position in the life cycle of the proposal. Initial value is Submitted. */ + status: ProposalStatus; + /** + * final_tally_result contains the sums of all weighted votes for this + * proposal for each vote option. It is empty at submission, and only + * populated after tallying, at voting period end or at proposal execution, + * whichever happens first. + */ + finalTallyResult?: TallyResult; + /** + * voting_period_end is the timestamp before which voting must be done. + * Unless a successful MsgExec is called before (to execute a proposal whose + * tally is successful before the voting period ends), tallying will be done + * at this point, and the `final_tally_result`and `status` fields will be + * accordingly updated. + */ + votingPeriodEnd?: Timestamp; + /** executor_result is the final result of the proposal execution. Initial value is NotRun. */ + executorResult: ProposalExecutorResult; + /** messages is a list of `sdk.Msg`s that will be executed if the proposal passes. */ + messages: Any[]; + /** + * title is the title of the proposal + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is a short summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary: string; +} +/** TallyResult represents the sum of weighted votes for each vote option. */ +export interface TallyResult { + /** yes_count is the weighted sum of yes votes. */ + yesCount: string; + /** abstain_count is the weighted sum of abstainers. */ + abstainCount: string; + /** no_count is the weighted sum of no votes. */ + noCount: string; + /** no_with_veto_count is the weighted sum of veto. */ + noWithVetoCount: string; +} +/** Vote represents a vote for a proposal. */ +export interface Vote { + /** proposal is the unique ID of the proposal. */ + proposalId: Long; + /** voter is the account address of the voter. */ + voter: string; + /** option is the voter's choice on the proposal. */ + option: VoteOption; + /** metadata is any arbitrary metadata attached to the vote. */ + metadata: string; + /** submit_time is the timestamp when the vote was submitted. */ + submitTime?: Timestamp; +} +export declare const Member: { + encode(message: Member, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Member; + fromJSON(object: any): Member; + toJSON(message: Member): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): Member; +}; +export declare const MemberRequest: { + encode(message: MemberRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MemberRequest; + fromJSON(object: any): MemberRequest; + toJSON(message: MemberRequest): unknown; + fromPartial, never>>(object: I): MemberRequest; +}; +export declare const ThresholdDecisionPolicy: { + encode(message: ThresholdDecisionPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ThresholdDecisionPolicy; + fromJSON(object: any): ThresholdDecisionPolicy; + toJSON(message: ThresholdDecisionPolicy): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + minExecutionPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ThresholdDecisionPolicy; +}; +export declare const PercentageDecisionPolicy: { + encode(message: PercentageDecisionPolicy, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): PercentageDecisionPolicy; + fromJSON(object: any): PercentageDecisionPolicy; + toJSON(message: PercentageDecisionPolicy): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + minExecutionPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): PercentageDecisionPolicy; +}; +export declare const DecisionPolicyWindows: { + encode(message: DecisionPolicyWindows, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): DecisionPolicyWindows; + fromJSON(object: any): DecisionPolicyWindows; + toJSON(message: DecisionPolicyWindows): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + minExecutionPeriod?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): DecisionPolicyWindows; +}; +export declare const GroupInfo: { + encode(message: GroupInfo, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GroupInfo; + fromJSON(object: any): GroupInfo; + toJSON(message: GroupInfo): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + totalWeight?: string | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): GroupInfo; +}; +export declare const GroupMember: { + encode(message: GroupMember, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GroupMember; + fromJSON(object: any): GroupMember; + toJSON(message: GroupMember): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + member?: ({ + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + address?: string | undefined; + weight?: string | undefined; + metadata?: string | undefined; + addedAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): GroupMember; +}; +export declare const GroupPolicyInfo: { + encode(message: GroupPolicyInfo, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GroupPolicyInfo; + fromJSON(object: any): GroupPolicyInfo; + toJSON(message: GroupPolicyInfo): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + admin?: string | undefined; + metadata?: string | undefined; + version?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + decisionPolicy?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + createdAt?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): GroupPolicyInfo; +}; +export declare const Proposal: { + encode(message: Proposal, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Proposal; + fromJSON(object: any): Proposal; + toJSON(message: Proposal): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyAddress?: string | undefined; + metadata?: string | undefined; + proposers?: (string[] & string[] & Record, never>) | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + groupVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + groupPolicyVersion?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + status?: ProposalStatus | undefined; + finalTallyResult?: ({ + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & { + yesCount?: string | undefined; + abstainCount?: string | undefined; + noCount?: string | undefined; + noWithVetoCount?: string | undefined; + } & Record, never>) | undefined; + votingPeriodEnd?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + executorResult?: ProposalExecutorResult | undefined; + messages?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + }[] & ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + title?: string | undefined; + summary?: string | undefined; + } & Record, never>>(object: I): Proposal; +}; +export declare const TallyResult: { + encode(message: TallyResult, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TallyResult; + fromJSON(object: any): TallyResult; + toJSON(message: TallyResult): unknown; + fromPartial, never>>(object: I): TallyResult; +}; +export declare const Vote: { + encode(message: Vote, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Vote; + fromJSON(object: any): Vote; + toJSON(message: Vote): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + voter?: string | undefined; + option?: VoteOption | undefined; + metadata?: string | undefined; + submitTime?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): Vote; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js new file mode 100644 index 00000000..e2489975 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js @@ -0,0 +1,1197 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Vote = exports.TallyResult = exports.Proposal = exports.GroupPolicyInfo = exports.GroupMember = exports.GroupInfo = exports.DecisionPolicyWindows = exports.PercentageDecisionPolicy = exports.ThresholdDecisionPolicy = exports.MemberRequest = exports.Member = exports.proposalExecutorResultToJSON = exports.proposalExecutorResultFromJSON = exports.ProposalExecutorResult = exports.proposalStatusToJSON = exports.proposalStatusFromJSON = exports.ProposalStatus = exports.voteOptionToJSON = exports.voteOptionFromJSON = exports.VoteOption = exports.protobufPackage = void 0; +/* eslint-disable */ +const timestamp_1 = require("../../../google/protobuf/timestamp"); +const duration_1 = require("../../../google/protobuf/duration"); +const any_1 = require("../../../google/protobuf/any"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.group.v1"; +/** VoteOption enumerates the valid vote options for a given proposal. */ +var VoteOption; +(function (VoteOption) { + /** + * VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will + * return an error. + */ + VoteOption[VoteOption["VOTE_OPTION_UNSPECIFIED"] = 0] = "VOTE_OPTION_UNSPECIFIED"; + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VoteOption[VoteOption["VOTE_OPTION_YES"] = 1] = "VOTE_OPTION_YES"; + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VoteOption[VoteOption["VOTE_OPTION_ABSTAIN"] = 2] = "VOTE_OPTION_ABSTAIN"; + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VoteOption[VoteOption["VOTE_OPTION_NO"] = 3] = "VOTE_OPTION_NO"; + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VoteOption[VoteOption["VOTE_OPTION_NO_WITH_VETO"] = 4] = "VOTE_OPTION_NO_WITH_VETO"; + VoteOption[VoteOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(VoteOption = exports.VoteOption || (exports.VoteOption = {})); +function voteOptionFromJSON(object) { + switch (object) { + case 0: + case "VOTE_OPTION_UNSPECIFIED": + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case "VOTE_OPTION_YES": + return VoteOption.VOTE_OPTION_YES; + case 2: + case "VOTE_OPTION_ABSTAIN": + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case "VOTE_OPTION_NO": + return VoteOption.VOTE_OPTION_NO; + case 4: + case "VOTE_OPTION_NO_WITH_VETO": + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case "UNRECOGNIZED": + default: + return VoteOption.UNRECOGNIZED; + } +} +exports.voteOptionFromJSON = voteOptionFromJSON; +function voteOptionToJSON(object) { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return "VOTE_OPTION_UNSPECIFIED"; + case VoteOption.VOTE_OPTION_YES: + return "VOTE_OPTION_YES"; + case VoteOption.VOTE_OPTION_ABSTAIN: + return "VOTE_OPTION_ABSTAIN"; + case VoteOption.VOTE_OPTION_NO: + return "VOTE_OPTION_NO"; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return "VOTE_OPTION_NO_WITH_VETO"; + case VoteOption.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.voteOptionToJSON = voteOptionToJSON; +/** ProposalStatus defines proposal statuses. */ +var ProposalStatus; +(function (ProposalStatus) { + /** PROPOSAL_STATUS_UNSPECIFIED - An empty value is invalid and not allowed. */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_UNSPECIFIED"] = 0] = "PROPOSAL_STATUS_UNSPECIFIED"; + /** PROPOSAL_STATUS_SUBMITTED - Initial status of a proposal when submitted. */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_SUBMITTED"] = 1] = "PROPOSAL_STATUS_SUBMITTED"; + /** + * PROPOSAL_STATUS_ACCEPTED - Final status of a proposal when the final tally is done and the outcome + * passes the group policy's decision policy. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_ACCEPTED"] = 2] = "PROPOSAL_STATUS_ACCEPTED"; + /** + * PROPOSAL_STATUS_REJECTED - Final status of a proposal when the final tally is done and the outcome + * is rejected by the group policy's decision policy. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_REJECTED"] = 3] = "PROPOSAL_STATUS_REJECTED"; + /** + * PROPOSAL_STATUS_ABORTED - Final status of a proposal when the group policy is modified before the + * final tally. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_ABORTED"] = 4] = "PROPOSAL_STATUS_ABORTED"; + /** + * PROPOSAL_STATUS_WITHDRAWN - A proposal can be withdrawn before the voting start time by the owner. + * When this happens the final status is Withdrawn. + */ + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_WITHDRAWN"] = 5] = "PROPOSAL_STATUS_WITHDRAWN"; + ProposalStatus[ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(ProposalStatus = exports.ProposalStatus || (exports.ProposalStatus = {})); +function proposalStatusFromJSON(object) { + switch (object) { + case 0: + case "PROPOSAL_STATUS_UNSPECIFIED": + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case "PROPOSAL_STATUS_SUBMITTED": + return ProposalStatus.PROPOSAL_STATUS_SUBMITTED; + case 2: + case "PROPOSAL_STATUS_ACCEPTED": + return ProposalStatus.PROPOSAL_STATUS_ACCEPTED; + case 3: + case "PROPOSAL_STATUS_REJECTED": + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 4: + case "PROPOSAL_STATUS_ABORTED": + return ProposalStatus.PROPOSAL_STATUS_ABORTED; + case 5: + case "PROPOSAL_STATUS_WITHDRAWN": + return ProposalStatus.PROPOSAL_STATUS_WITHDRAWN; + case -1: + case "UNRECOGNIZED": + default: + return ProposalStatus.UNRECOGNIZED; + } +} +exports.proposalStatusFromJSON = proposalStatusFromJSON; +function proposalStatusToJSON(object) { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return "PROPOSAL_STATUS_UNSPECIFIED"; + case ProposalStatus.PROPOSAL_STATUS_SUBMITTED: + return "PROPOSAL_STATUS_SUBMITTED"; + case ProposalStatus.PROPOSAL_STATUS_ACCEPTED: + return "PROPOSAL_STATUS_ACCEPTED"; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return "PROPOSAL_STATUS_REJECTED"; + case ProposalStatus.PROPOSAL_STATUS_ABORTED: + return "PROPOSAL_STATUS_ABORTED"; + case ProposalStatus.PROPOSAL_STATUS_WITHDRAWN: + return "PROPOSAL_STATUS_WITHDRAWN"; + case ProposalStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.proposalStatusToJSON = proposalStatusToJSON; +/** ProposalExecutorResult defines types of proposal executor results. */ +var ProposalExecutorResult; +(function (ProposalExecutorResult) { + /** PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - An empty value is not allowed. */ + ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"] = 0] = "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"; + /** PROPOSAL_EXECUTOR_RESULT_NOT_RUN - We have not yet run the executor. */ + ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_NOT_RUN"] = 1] = "PROPOSAL_EXECUTOR_RESULT_NOT_RUN"; + /** PROPOSAL_EXECUTOR_RESULT_SUCCESS - The executor was successful and proposed action updated state. */ + ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_SUCCESS"] = 2] = "PROPOSAL_EXECUTOR_RESULT_SUCCESS"; + /** PROPOSAL_EXECUTOR_RESULT_FAILURE - The executor returned an error and proposed action didn't update state. */ + ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_FAILURE"] = 3] = "PROPOSAL_EXECUTOR_RESULT_FAILURE"; + ProposalExecutorResult[ProposalExecutorResult["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(ProposalExecutorResult = exports.ProposalExecutorResult || (exports.ProposalExecutorResult = {})); +function proposalExecutorResultFromJSON(object) { + switch (object) { + case 0: + case "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED": + return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED; + case 1: + case "PROPOSAL_EXECUTOR_RESULT_NOT_RUN": + return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_NOT_RUN; + case 2: + case "PROPOSAL_EXECUTOR_RESULT_SUCCESS": + return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_SUCCESS; + case 3: + case "PROPOSAL_EXECUTOR_RESULT_FAILURE": + return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_FAILURE; + case -1: + case "UNRECOGNIZED": + default: + return ProposalExecutorResult.UNRECOGNIZED; + } +} +exports.proposalExecutorResultFromJSON = proposalExecutorResultFromJSON; +function proposalExecutorResultToJSON(object) { + switch (object) { + case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: + return "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"; + case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_NOT_RUN: + return "PROPOSAL_EXECUTOR_RESULT_NOT_RUN"; + case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_SUCCESS: + return "PROPOSAL_EXECUTOR_RESULT_SUCCESS"; + case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_FAILURE: + return "PROPOSAL_EXECUTOR_RESULT_FAILURE"; + case ProposalExecutorResult.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.proposalExecutorResultToJSON = proposalExecutorResultToJSON; +function createBaseMember() { + return { + address: "", + weight: "", + metadata: "", + addedAt: undefined, + }; +} +exports.Member = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.weight !== "") { + writer.uint32(18).string(message.weight); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + if (message.addedAt !== undefined) { + timestamp_1.Timestamp.encode(message.addedAt, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMember(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.weight = reader.string(); + break; + case 3: + message.metadata = reader.string(); + break; + case 4: + message.addedAt = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + weight: (0, helpers_1.isSet)(object.weight) ? String(object.weight) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + addedAt: (0, helpers_1.isSet)(object.addedAt) ? (0, helpers_1.fromJsonTimestamp)(object.addedAt) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.weight !== undefined && (obj.weight = message.weight); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.addedAt !== undefined && (obj.addedAt = (0, helpers_1.fromTimestamp)(message.addedAt).toISOString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMember(); + message.address = object.address ?? ""; + message.weight = object.weight ?? ""; + message.metadata = object.metadata ?? ""; + message.addedAt = + object.addedAt !== undefined && object.addedAt !== null + ? timestamp_1.Timestamp.fromPartial(object.addedAt) + : undefined; + return message; + }, +}; +function createBaseMemberRequest() { + return { + address: "", + weight: "", + metadata: "", + }; +} +exports.MemberRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.weight !== "") { + writer.uint32(18).string(message.weight); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMemberRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.weight = reader.string(); + break; + case 3: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + weight: (0, helpers_1.isSet)(object.weight) ? String(object.weight) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.weight !== undefined && (obj.weight = message.weight); + message.metadata !== undefined && (obj.metadata = message.metadata); + return obj; + }, + fromPartial(object) { + const message = createBaseMemberRequest(); + message.address = object.address ?? ""; + message.weight = object.weight ?? ""; + message.metadata = object.metadata ?? ""; + return message; + }, +}; +function createBaseThresholdDecisionPolicy() { + return { + threshold: "", + windows: undefined, + }; +} +exports.ThresholdDecisionPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.threshold !== "") { + writer.uint32(10).string(message.threshold); + } + if (message.windows !== undefined) { + exports.DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseThresholdDecisionPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.threshold = reader.string(); + break; + case 2: + message.windows = exports.DecisionPolicyWindows.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + threshold: (0, helpers_1.isSet)(object.threshold) ? String(object.threshold) : "", + windows: (0, helpers_1.isSet)(object.windows) ? exports.DecisionPolicyWindows.fromJSON(object.windows) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.threshold !== undefined && (obj.threshold = message.threshold); + message.windows !== undefined && + (obj.windows = message.windows ? exports.DecisionPolicyWindows.toJSON(message.windows) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseThresholdDecisionPolicy(); + message.threshold = object.threshold ?? ""; + message.windows = + object.windows !== undefined && object.windows !== null + ? exports.DecisionPolicyWindows.fromPartial(object.windows) + : undefined; + return message; + }, +}; +function createBasePercentageDecisionPolicy() { + return { + percentage: "", + windows: undefined, + }; +} +exports.PercentageDecisionPolicy = { + encode(message, writer = _m0.Writer.create()) { + if (message.percentage !== "") { + writer.uint32(10).string(message.percentage); + } + if (message.windows !== undefined) { + exports.DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePercentageDecisionPolicy(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.percentage = reader.string(); + break; + case 2: + message.windows = exports.DecisionPolicyWindows.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + percentage: (0, helpers_1.isSet)(object.percentage) ? String(object.percentage) : "", + windows: (0, helpers_1.isSet)(object.windows) ? exports.DecisionPolicyWindows.fromJSON(object.windows) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.percentage !== undefined && (obj.percentage = message.percentage); + message.windows !== undefined && + (obj.windows = message.windows ? exports.DecisionPolicyWindows.toJSON(message.windows) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBasePercentageDecisionPolicy(); + message.percentage = object.percentage ?? ""; + message.windows = + object.windows !== undefined && object.windows !== null + ? exports.DecisionPolicyWindows.fromPartial(object.windows) + : undefined; + return message; + }, +}; +function createBaseDecisionPolicyWindows() { + return { + votingPeriod: undefined, + minExecutionPeriod: undefined, + }; +} +exports.DecisionPolicyWindows = { + encode(message, writer = _m0.Writer.create()) { + if (message.votingPeriod !== undefined) { + duration_1.Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); + } + if (message.minExecutionPeriod !== undefined) { + duration_1.Duration.encode(message.minExecutionPeriod, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecisionPolicyWindows(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.minExecutionPeriod = duration_1.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + votingPeriod: (0, helpers_1.isSet)(object.votingPeriod) ? duration_1.Duration.fromJSON(object.votingPeriod) : undefined, + minExecutionPeriod: (0, helpers_1.isSet)(object.minExecutionPeriod) + ? duration_1.Duration.fromJSON(object.minExecutionPeriod) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.votingPeriod !== undefined && + (obj.votingPeriod = message.votingPeriod ? duration_1.Duration.toJSON(message.votingPeriod) : undefined); + message.minExecutionPeriod !== undefined && + (obj.minExecutionPeriod = message.minExecutionPeriod + ? duration_1.Duration.toJSON(message.minExecutionPeriod) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseDecisionPolicyWindows(); + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? duration_1.Duration.fromPartial(object.votingPeriod) + : undefined; + message.minExecutionPeriod = + object.minExecutionPeriod !== undefined && object.minExecutionPeriod !== null + ? duration_1.Duration.fromPartial(object.minExecutionPeriod) + : undefined; + return message; + }, +}; +function createBaseGroupInfo() { + return { + id: helpers_1.Long.UZERO, + admin: "", + metadata: "", + version: helpers_1.Long.UZERO, + totalWeight: "", + createdAt: undefined, + }; +} +exports.GroupInfo = { + encode(message, writer = _m0.Writer.create()) { + if (!message.id.isZero()) { + writer.uint32(8).uint64(message.id); + } + if (message.admin !== "") { + writer.uint32(18).string(message.admin); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + if (!message.version.isZero()) { + writer.uint32(32).uint64(message.version); + } + if (message.totalWeight !== "") { + writer.uint32(42).string(message.totalWeight); + } + if (message.createdAt !== undefined) { + timestamp_1.Timestamp.encode(message.createdAt, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint64(); + break; + case 2: + message.admin = reader.string(); + break; + case 3: + message.metadata = reader.string(); + break; + case 4: + message.version = reader.uint64(); + break; + case 5: + message.totalWeight = reader.string(); + break; + case 6: + message.createdAt = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO, + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + version: (0, helpers_1.isSet)(object.version) ? helpers_1.Long.fromValue(object.version) : helpers_1.Long.UZERO, + totalWeight: (0, helpers_1.isSet)(object.totalWeight) ? String(object.totalWeight) : "", + createdAt: (0, helpers_1.isSet)(object.createdAt) ? (0, helpers_1.fromJsonTimestamp)(object.createdAt) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = (message.id || helpers_1.Long.UZERO).toString()); + message.admin !== undefined && (obj.admin = message.admin); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.version !== undefined && (obj.version = (message.version || helpers_1.Long.UZERO).toString()); + message.totalWeight !== undefined && (obj.totalWeight = message.totalWeight); + message.createdAt !== undefined && (obj.createdAt = (0, helpers_1.fromTimestamp)(message.createdAt).toISOString()); + return obj; + }, + fromPartial(object) { + const message = createBaseGroupInfo(); + message.id = object.id !== undefined && object.id !== null ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO; + message.admin = object.admin ?? ""; + message.metadata = object.metadata ?? ""; + message.version = + object.version !== undefined && object.version !== null ? helpers_1.Long.fromValue(object.version) : helpers_1.Long.UZERO; + message.totalWeight = object.totalWeight ?? ""; + message.createdAt = + object.createdAt !== undefined && object.createdAt !== null + ? timestamp_1.Timestamp.fromPartial(object.createdAt) + : undefined; + return message; + }, +}; +function createBaseGroupMember() { + return { + groupId: helpers_1.Long.UZERO, + member: undefined, + }; +} +exports.GroupMember = { + encode(message, writer = _m0.Writer.create()) { + if (!message.groupId.isZero()) { + writer.uint32(8).uint64(message.groupId); + } + if (message.member !== undefined) { + exports.Member.encode(message.member, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupMember(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupId = reader.uint64(); + break; + case 2: + message.member = exports.Member.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + member: (0, helpers_1.isSet)(object.member) ? exports.Member.fromJSON(object.member) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.member !== undefined && (obj.member = message.member ? exports.Member.toJSON(message.member) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseGroupMember(); + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.member = + object.member !== undefined && object.member !== null ? exports.Member.fromPartial(object.member) : undefined; + return message; + }, +}; +function createBaseGroupPolicyInfo() { + return { + address: "", + groupId: helpers_1.Long.UZERO, + admin: "", + metadata: "", + version: helpers_1.Long.UZERO, + decisionPolicy: undefined, + createdAt: undefined, + }; +} +exports.GroupPolicyInfo = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (!message.groupId.isZero()) { + writer.uint32(16).uint64(message.groupId); + } + if (message.admin !== "") { + writer.uint32(26).string(message.admin); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + if (!message.version.isZero()) { + writer.uint32(40).uint64(message.version); + } + if (message.decisionPolicy !== undefined) { + any_1.Any.encode(message.decisionPolicy, writer.uint32(50).fork()).ldelim(); + } + if (message.createdAt !== undefined) { + timestamp_1.Timestamp.encode(message.createdAt, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGroupPolicyInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.groupId = reader.uint64(); + break; + case 3: + message.admin = reader.string(); + break; + case 4: + message.metadata = reader.string(); + break; + case 5: + message.version = reader.uint64(); + break; + case 6: + message.decisionPolicy = any_1.Any.decode(reader, reader.uint32()); + break; + case 7: + message.createdAt = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + groupId: (0, helpers_1.isSet)(object.groupId) ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO, + admin: (0, helpers_1.isSet)(object.admin) ? String(object.admin) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + version: (0, helpers_1.isSet)(object.version) ? helpers_1.Long.fromValue(object.version) : helpers_1.Long.UZERO, + decisionPolicy: (0, helpers_1.isSet)(object.decisionPolicy) ? any_1.Any.fromJSON(object.decisionPolicy) : undefined, + createdAt: (0, helpers_1.isSet)(object.createdAt) ? (0, helpers_1.fromJsonTimestamp)(object.createdAt) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.groupId !== undefined && (obj.groupId = (message.groupId || helpers_1.Long.UZERO).toString()); + message.admin !== undefined && (obj.admin = message.admin); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.version !== undefined && (obj.version = (message.version || helpers_1.Long.UZERO).toString()); + message.decisionPolicy !== undefined && + (obj.decisionPolicy = message.decisionPolicy ? any_1.Any.toJSON(message.decisionPolicy) : undefined); + message.createdAt !== undefined && (obj.createdAt = (0, helpers_1.fromTimestamp)(message.createdAt).toISOString()); + return obj; + }, + fromPartial(object) { + const message = createBaseGroupPolicyInfo(); + message.address = object.address ?? ""; + message.groupId = + object.groupId !== undefined && object.groupId !== null ? helpers_1.Long.fromValue(object.groupId) : helpers_1.Long.UZERO; + message.admin = object.admin ?? ""; + message.metadata = object.metadata ?? ""; + message.version = + object.version !== undefined && object.version !== null ? helpers_1.Long.fromValue(object.version) : helpers_1.Long.UZERO; + message.decisionPolicy = + object.decisionPolicy !== undefined && object.decisionPolicy !== null + ? any_1.Any.fromPartial(object.decisionPolicy) + : undefined; + message.createdAt = + object.createdAt !== undefined && object.createdAt !== null + ? timestamp_1.Timestamp.fromPartial(object.createdAt) + : undefined; + return message; + }, +}; +function createBaseProposal() { + return { + id: helpers_1.Long.UZERO, + groupPolicyAddress: "", + metadata: "", + proposers: [], + submitTime: undefined, + groupVersion: helpers_1.Long.UZERO, + groupPolicyVersion: helpers_1.Long.UZERO, + status: 0, + finalTallyResult: undefined, + votingPeriodEnd: undefined, + executorResult: 0, + messages: [], + title: "", + summary: "", + }; +} +exports.Proposal = { + encode(message, writer = _m0.Writer.create()) { + if (!message.id.isZero()) { + writer.uint32(8).uint64(message.id); + } + if (message.groupPolicyAddress !== "") { + writer.uint32(18).string(message.groupPolicyAddress); + } + if (message.metadata !== "") { + writer.uint32(26).string(message.metadata); + } + for (const v of message.proposers) { + writer.uint32(34).string(v); + } + if (message.submitTime !== undefined) { + timestamp_1.Timestamp.encode(message.submitTime, writer.uint32(42).fork()).ldelim(); + } + if (!message.groupVersion.isZero()) { + writer.uint32(48).uint64(message.groupVersion); + } + if (!message.groupPolicyVersion.isZero()) { + writer.uint32(56).uint64(message.groupPolicyVersion); + } + if (message.status !== 0) { + writer.uint32(64).int32(message.status); + } + if (message.finalTallyResult !== undefined) { + exports.TallyResult.encode(message.finalTallyResult, writer.uint32(74).fork()).ldelim(); + } + if (message.votingPeriodEnd !== undefined) { + timestamp_1.Timestamp.encode(message.votingPeriodEnd, writer.uint32(82).fork()).ldelim(); + } + if (message.executorResult !== 0) { + writer.uint32(88).int32(message.executorResult); + } + for (const v of message.messages) { + any_1.Any.encode(v, writer.uint32(98).fork()).ldelim(); + } + if (message.title !== "") { + writer.uint32(106).string(message.title); + } + if (message.summary !== "") { + writer.uint32(114).string(message.summary); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint64(); + break; + case 2: + message.groupPolicyAddress = reader.string(); + break; + case 3: + message.metadata = reader.string(); + break; + case 4: + message.proposers.push(reader.string()); + break; + case 5: + message.submitTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.groupVersion = reader.uint64(); + break; + case 7: + message.groupPolicyVersion = reader.uint64(); + break; + case 8: + message.status = reader.int32(); + break; + case 9: + message.finalTallyResult = exports.TallyResult.decode(reader, reader.uint32()); + break; + case 10: + message.votingPeriodEnd = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 11: + message.executorResult = reader.int32(); + break; + case 12: + message.messages.push(any_1.Any.decode(reader, reader.uint32())); + break; + case 13: + message.title = reader.string(); + break; + case 14: + message.summary = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO, + groupPolicyAddress: (0, helpers_1.isSet)(object.groupPolicyAddress) ? String(object.groupPolicyAddress) : "", + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + proposers: Array.isArray(object?.proposers) ? object.proposers.map((e) => String(e)) : [], + submitTime: (0, helpers_1.isSet)(object.submitTime) ? (0, helpers_1.fromJsonTimestamp)(object.submitTime) : undefined, + groupVersion: (0, helpers_1.isSet)(object.groupVersion) ? helpers_1.Long.fromValue(object.groupVersion) : helpers_1.Long.UZERO, + groupPolicyVersion: (0, helpers_1.isSet)(object.groupPolicyVersion) + ? helpers_1.Long.fromValue(object.groupPolicyVersion) + : helpers_1.Long.UZERO, + status: (0, helpers_1.isSet)(object.status) ? proposalStatusFromJSON(object.status) : 0, + finalTallyResult: (0, helpers_1.isSet)(object.finalTallyResult) + ? exports.TallyResult.fromJSON(object.finalTallyResult) + : undefined, + votingPeriodEnd: (0, helpers_1.isSet)(object.votingPeriodEnd) ? (0, helpers_1.fromJsonTimestamp)(object.votingPeriodEnd) : undefined, + executorResult: (0, helpers_1.isSet)(object.executorResult) + ? proposalExecutorResultFromJSON(object.executorResult) + : 0, + messages: Array.isArray(object?.messages) ? object.messages.map((e) => any_1.Any.fromJSON(e)) : [], + title: (0, helpers_1.isSet)(object.title) ? String(object.title) : "", + summary: (0, helpers_1.isSet)(object.summary) ? String(object.summary) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = (message.id || helpers_1.Long.UZERO).toString()); + message.groupPolicyAddress !== undefined && (obj.groupPolicyAddress = message.groupPolicyAddress); + message.metadata !== undefined && (obj.metadata = message.metadata); + if (message.proposers) { + obj.proposers = message.proposers.map((e) => e); + } + else { + obj.proposers = []; + } + message.submitTime !== undefined && (obj.submitTime = (0, helpers_1.fromTimestamp)(message.submitTime).toISOString()); + message.groupVersion !== undefined && + (obj.groupVersion = (message.groupVersion || helpers_1.Long.UZERO).toString()); + message.groupPolicyVersion !== undefined && + (obj.groupPolicyVersion = (message.groupPolicyVersion || helpers_1.Long.UZERO).toString()); + message.status !== undefined && (obj.status = proposalStatusToJSON(message.status)); + message.finalTallyResult !== undefined && + (obj.finalTallyResult = message.finalTallyResult + ? exports.TallyResult.toJSON(message.finalTallyResult) + : undefined); + message.votingPeriodEnd !== undefined && + (obj.votingPeriodEnd = (0, helpers_1.fromTimestamp)(message.votingPeriodEnd).toISOString()); + message.executorResult !== undefined && + (obj.executorResult = proposalExecutorResultToJSON(message.executorResult)); + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.messages = []; + } + message.title !== undefined && (obj.title = message.title); + message.summary !== undefined && (obj.summary = message.summary); + return obj; + }, + fromPartial(object) { + const message = createBaseProposal(); + message.id = object.id !== undefined && object.id !== null ? helpers_1.Long.fromValue(object.id) : helpers_1.Long.UZERO; + message.groupPolicyAddress = object.groupPolicyAddress ?? ""; + message.metadata = object.metadata ?? ""; + message.proposers = object.proposers?.map((e) => e) || []; + message.submitTime = + object.submitTime !== undefined && object.submitTime !== null + ? timestamp_1.Timestamp.fromPartial(object.submitTime) + : undefined; + message.groupVersion = + object.groupVersion !== undefined && object.groupVersion !== null + ? helpers_1.Long.fromValue(object.groupVersion) + : helpers_1.Long.UZERO; + message.groupPolicyVersion = + object.groupPolicyVersion !== undefined && object.groupPolicyVersion !== null + ? helpers_1.Long.fromValue(object.groupPolicyVersion) + : helpers_1.Long.UZERO; + message.status = object.status ?? 0; + message.finalTallyResult = + object.finalTallyResult !== undefined && object.finalTallyResult !== null + ? exports.TallyResult.fromPartial(object.finalTallyResult) + : undefined; + message.votingPeriodEnd = + object.votingPeriodEnd !== undefined && object.votingPeriodEnd !== null + ? timestamp_1.Timestamp.fromPartial(object.votingPeriodEnd) + : undefined; + message.executorResult = object.executorResult ?? 0; + message.messages = object.messages?.map((e) => any_1.Any.fromPartial(e)) || []; + message.title = object.title ?? ""; + message.summary = object.summary ?? ""; + return message; + }, +}; +function createBaseTallyResult() { + return { + yesCount: "", + abstainCount: "", + noCount: "", + noWithVetoCount: "", + }; +} +exports.TallyResult = { + encode(message, writer = _m0.Writer.create()) { + if (message.yesCount !== "") { + writer.uint32(10).string(message.yesCount); + } + if (message.abstainCount !== "") { + writer.uint32(18).string(message.abstainCount); + } + if (message.noCount !== "") { + writer.uint32(26).string(message.noCount); + } + if (message.noWithVetoCount !== "") { + writer.uint32(34).string(message.noWithVetoCount); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.yesCount = reader.string(); + break; + case 2: + message.abstainCount = reader.string(); + break; + case 3: + message.noCount = reader.string(); + break; + case 4: + message.noWithVetoCount = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + yesCount: (0, helpers_1.isSet)(object.yesCount) ? String(object.yesCount) : "", + abstainCount: (0, helpers_1.isSet)(object.abstainCount) ? String(object.abstainCount) : "", + noCount: (0, helpers_1.isSet)(object.noCount) ? String(object.noCount) : "", + noWithVetoCount: (0, helpers_1.isSet)(object.noWithVetoCount) ? String(object.noWithVetoCount) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.yesCount !== undefined && (obj.yesCount = message.yesCount); + message.abstainCount !== undefined && (obj.abstainCount = message.abstainCount); + message.noCount !== undefined && (obj.noCount = message.noCount); + message.noWithVetoCount !== undefined && (obj.noWithVetoCount = message.noWithVetoCount); + return obj; + }, + fromPartial(object) { + const message = createBaseTallyResult(); + message.yesCount = object.yesCount ?? ""; + message.abstainCount = object.abstainCount ?? ""; + message.noCount = object.noCount ?? ""; + message.noWithVetoCount = object.noWithVetoCount ?? ""; + return message; + }, +}; +function createBaseVote() { + return { + proposalId: helpers_1.Long.UZERO, + voter: "", + option: 0, + metadata: "", + submitTime: undefined, + }; +} +exports.Vote = { + encode(message, writer = _m0.Writer.create()) { + if (!message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== "") { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + if (message.metadata !== "") { + writer.uint32(34).string(message.metadata); + } + if (message.submitTime !== undefined) { + timestamp_1.Timestamp.encode(message.submitTime, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.option = reader.int32(); + break; + case 4: + message.metadata = reader.string(); + break; + case 5: + message.submitTime = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + proposalId: (0, helpers_1.isSet)(object.proposalId) ? helpers_1.Long.fromValue(object.proposalId) : helpers_1.Long.UZERO, + voter: (0, helpers_1.isSet)(object.voter) ? String(object.voter) : "", + option: (0, helpers_1.isSet)(object.option) ? voteOptionFromJSON(object.option) : 0, + metadata: (0, helpers_1.isSet)(object.metadata) ? String(object.metadata) : "", + submitTime: (0, helpers_1.isSet)(object.submitTime) ? (0, helpers_1.fromJsonTimestamp)(object.submitTime) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || helpers_1.Long.UZERO).toString()); + message.voter !== undefined && (obj.voter = message.voter); + message.option !== undefined && (obj.option = voteOptionToJSON(message.option)); + message.metadata !== undefined && (obj.metadata = message.metadata); + message.submitTime !== undefined && (obj.submitTime = (0, helpers_1.fromTimestamp)(message.submitTime).toISOString()); + return obj; + }, + fromPartial(object) { + const message = createBaseVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null + ? helpers_1.Long.fromValue(object.proposalId) + : helpers_1.Long.UZERO; + message.voter = object.voter ?? ""; + message.option = object.option ?? 0; + message.metadata = object.metadata ?? ""; + message.submitTime = + object.submitTime !== undefined && object.submitTime !== null + ? timestamp_1.Timestamp.fromPartial(object.submitTime) + : undefined; + return message; + }, +}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js.map b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js.map new file mode 100644 index 00000000..1cf2a88a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/group/v1/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cosmos/group/v1/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.d.ts new file mode 100644 index 00000000..cbb94071 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.d.ts @@ -0,0 +1,2825 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.ics23.v1"; +export declare enum HashOp { + /** NO_HASH - NO_HASH is the default if no data passed. Note this is an illegal argument some places. */ + NO_HASH = 0, + SHA256 = 1, + SHA512 = 2, + KECCAK = 3, + RIPEMD160 = 4, + /** BITCOIN - ripemd160(sha256(x)) */ + BITCOIN = 5, + SHA512_256 = 6, + UNRECOGNIZED = -1 +} +export declare function hashOpFromJSON(object: any): HashOp; +export declare function hashOpToJSON(object: HashOp): string; +/** + * LengthOp defines how to process the key and value of the LeafOp + * to include length information. After encoding the length with the given + * algorithm, the length will be prepended to the key and value bytes. + * (Each one with it's own encoded length) + */ +export declare enum LengthOp { + /** NO_PREFIX - NO_PREFIX don't include any length info */ + NO_PREFIX = 0, + /** VAR_PROTO - VAR_PROTO uses protobuf (and go-amino) varint encoding of the length */ + VAR_PROTO = 1, + /** VAR_RLP - VAR_RLP uses rlp int encoding of the length */ + VAR_RLP = 2, + /** FIXED32_BIG - FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer */ + FIXED32_BIG = 3, + /** FIXED32_LITTLE - FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer */ + FIXED32_LITTLE = 4, + /** FIXED64_BIG - FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer */ + FIXED64_BIG = 5, + /** FIXED64_LITTLE - FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer */ + FIXED64_LITTLE = 6, + /** REQUIRE_32_BYTES - REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) */ + REQUIRE_32_BYTES = 7, + /** REQUIRE_64_BYTES - REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output) */ + REQUIRE_64_BYTES = 8, + UNRECOGNIZED = -1 +} +export declare function lengthOpFromJSON(object: any): LengthOp; +export declare function lengthOpToJSON(object: LengthOp): string; +/** + * ExistenceProof takes a key and a value and a set of steps to perform on it. + * The result of peforming all these steps will provide a "root hash", which can + * be compared to the value in a header. + * + * Since it is computationally infeasible to produce a hash collission for any of the used + * cryptographic hash functions, if someone can provide a series of operations to transform + * a given key and value into a root hash that matches some trusted root, these key and values + * must be in the referenced merkle tree. + * + * The only possible issue is maliablity in LeafOp, such as providing extra prefix data, + * which should be controlled by a spec. Eg. with lengthOp as NONE, + * prefix = FOO, key = BAR, value = CHOICE + * and + * prefix = F, key = OOBAR, value = CHOICE + * would produce the same value. + * + * With LengthOp this is tricker but not impossible. Which is why the "leafPrefixEqual" field + * in the ProofSpec is valuable to prevent this mutability. And why all trees should + * length-prefix the data before hashing it. + */ +export interface ExistenceProof { + key: Uint8Array; + value: Uint8Array; + leaf?: LeafOp; + path: InnerOp[]; +} +/** + * NonExistenceProof takes a proof of two neighbors, one left of the desired key, + * one right of the desired key. If both proofs are valid AND they are neighbors, + * then there is no valid proof for the given key. + */ +export interface NonExistenceProof { + /** TODO: remove this as unnecessary??? we prove a range */ + key: Uint8Array; + left?: ExistenceProof; + right?: ExistenceProof; +} +/** CommitmentProof is either an ExistenceProof or a NonExistenceProof, or a Batch of such messages */ +export interface CommitmentProof { + exist?: ExistenceProof; + nonexist?: NonExistenceProof; + batch?: BatchProof; + compressed?: CompressedBatchProof; +} +/** + * LeafOp represents the raw key-value data we wish to prove, and + * must be flexible to represent the internal transformation from + * the original key-value pairs into the basis hash, for many existing + * merkle trees. + * + * key and value are passed in. So that the signature of this operation is: + * leafOp(key, value) -> output + * + * To process this, first prehash the keys and values if needed (ANY means no hash in this case): + * hkey = prehashKey(key) + * hvalue = prehashValue(value) + * + * Then combine the bytes, and hash it + * output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue) + */ +export interface LeafOp { + hash: HashOp; + prehashKey: HashOp; + prehashValue: HashOp; + length: LengthOp; + /** + * prefix is a fixed bytes that may optionally be included at the beginning to differentiate + * a leaf node from an inner node. + */ + prefix: Uint8Array; +} +/** + * InnerOp represents a merkle-proof step that is not a leaf. + * It represents concatenating two children and hashing them to provide the next result. + * + * The result of the previous step is passed in, so the signature of this op is: + * innerOp(child) -> output + * + * The result of applying InnerOp should be: + * output = op.hash(op.prefix || child || op.suffix) + * + * where the || operator is concatenation of binary data, + * and child is the result of hashing all the tree below this step. + * + * Any special data, like prepending child with the length, or prepending the entire operation with + * some value to differentiate from leaf nodes, should be included in prefix and suffix. + * If either of prefix or suffix is empty, we just treat it as an empty string + */ +export interface InnerOp { + hash: HashOp; + prefix: Uint8Array; + suffix: Uint8Array; +} +/** + * ProofSpec defines what the expected parameters are for a given proof type. + * This can be stored in the client and used to validate any incoming proofs. + * + * verify(ProofSpec, Proof) -> Proof | Error + * + * As demonstrated in tests, if we don't fix the algorithm used to calculate the + * LeafHash for a given tree, there are many possible key-value pairs that can + * generate a given hash (by interpretting the preimage differently). + * We need this for proper security, requires client knows a priori what + * tree format server uses. But not in code, rather a configuration object. + */ +export interface ProofSpec { + /** + * any field in the ExistenceProof must be the same as in this spec. + * except Prefix, which is just the first bytes of prefix (spec can be longer) + */ + leafSpec?: LeafOp; + innerSpec?: InnerSpec; + /** max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries) */ + maxDepth: number; + /** min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries) */ + minDepth: number; +} +/** + * InnerSpec contains all store-specific structure info to determine if two proofs from a + * given store are neighbors. + * + * This enables: + * + * isLeftMost(spec: InnerSpec, op: InnerOp) + * isRightMost(spec: InnerSpec, op: InnerOp) + * isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp) + */ +export interface InnerSpec { + /** + * Child order is the ordering of the children node, must count from 0 + * iavl tree is [0, 1] (left then right) + * merk is [0, 2, 1] (left, right, here) + */ + childOrder: number[]; + childSize: number; + minPrefixLength: number; + maxPrefixLength: number; + /** empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0) */ + emptyChild: Uint8Array; + /** hash is the algorithm that must be used for each InnerOp */ + hash: HashOp; +} +/** BatchProof is a group of multiple proof types than can be compressed */ +export interface BatchProof { + entries: BatchEntry[]; +} +/** Use BatchEntry not CommitmentProof, to avoid recursion */ +export interface BatchEntry { + exist?: ExistenceProof; + nonexist?: NonExistenceProof; +} +export interface CompressedBatchProof { + entries: CompressedBatchEntry[]; + lookupInners: InnerOp[]; +} +/** Use BatchEntry not CommitmentProof, to avoid recursion */ +export interface CompressedBatchEntry { + exist?: CompressedExistenceProof; + nonexist?: CompressedNonExistenceProof; +} +export interface CompressedExistenceProof { + key: Uint8Array; + value: Uint8Array; + leaf?: LeafOp; + /** these are indexes into the lookup_inners table in CompressedBatchProof */ + path: number[]; +} +export interface CompressedNonExistenceProof { + /** TODO: remove this as unnecessary??? we prove a range */ + key: Uint8Array; + left?: CompressedExistenceProof; + right?: CompressedExistenceProof; +} +export declare const ExistenceProof: { + encode(message: ExistenceProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ExistenceProof; + fromJSON(object: any): ExistenceProof; + toJSON(message: ExistenceProof): unknown; + fromPartial, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ExistenceProof; +}; +export declare const NonExistenceProof: { + encode(message: NonExistenceProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): NonExistenceProof; + fromJSON(object: any): NonExistenceProof; + toJSON(message: NonExistenceProof): unknown; + fromPartial, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): NonExistenceProof; +}; +export declare const CommitmentProof: { + encode(message: CommitmentProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CommitmentProof; + fromJSON(object: any): CommitmentProof; + toJSON(message: CommitmentProof): unknown; + fromPartial, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + batch?: ({ + entries?: { + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + }[] | undefined; + } & { + entries?: ({ + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + }[] & ({ + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } | undefined; + } & { + exist?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + compressed?: ({ + entries?: { + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } | undefined; + }[] | undefined; + lookupInners?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + entries?: ({ + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } | undefined; + }[] & ({ + exist?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + nonexist?: { + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } | undefined; + } & { + exist?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + lookupInners?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): CommitmentProof; +}; +export declare const LeafOp: { + encode(message: LeafOp, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): LeafOp; + fromJSON(object: any): LeafOp; + toJSON(message: LeafOp): unknown; + fromPartial, never>>(object: I): LeafOp; +}; +export declare const InnerOp: { + encode(message: InnerOp, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): InnerOp; + fromJSON(object: any): InnerOp; + toJSON(message: InnerOp): unknown; + fromPartial, never>>(object: I): InnerOp; +}; +export declare const ProofSpec: { + encode(message: ProofSpec, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ProofSpec; + fromJSON(object: any): ProofSpec; + toJSON(message: ProofSpec): unknown; + fromPartial, never>) | undefined; + innerSpec?: ({ + childOrder?: number[] | undefined; + childSize?: number | undefined; + minPrefixLength?: number | undefined; + maxPrefixLength?: number | undefined; + emptyChild?: Uint8Array | undefined; + hash?: HashOp | undefined; + } & { + childOrder?: (number[] & number[] & Record, never>) | undefined; + childSize?: number | undefined; + minPrefixLength?: number | undefined; + maxPrefixLength?: number | undefined; + emptyChild?: Uint8Array | undefined; + hash?: HashOp | undefined; + } & Record, never>) | undefined; + maxDepth?: number | undefined; + minDepth?: number | undefined; + } & Record, never>>(object: I): ProofSpec; +}; +export declare const InnerSpec: { + encode(message: InnerSpec, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): InnerSpec; + fromJSON(object: any): InnerSpec; + toJSON(message: InnerSpec): unknown; + fromPartial, never>) | undefined; + childSize?: number | undefined; + minPrefixLength?: number | undefined; + maxPrefixLength?: number | undefined; + emptyChild?: Uint8Array | undefined; + hash?: HashOp | undefined; + } & Record, never>>(object: I): InnerSpec; +}; +export declare const BatchProof: { + encode(message: BatchProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): BatchProof; + fromJSON(object: any): BatchProof; + toJSON(message: BatchProof): unknown; + fromPartial, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): BatchProof; +}; +export declare const BatchEntry: { + encode(message: BatchEntry, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): BatchEntry; + fromJSON(object: any): BatchEntry; + toJSON(message: BatchEntry): unknown; + fromPartial, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): BatchEntry; +}; +export declare const CompressedBatchProof: { + encode(message: CompressedBatchProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CompressedBatchProof; + fromJSON(object: any): CompressedBatchProof; + toJSON(message: CompressedBatchProof): unknown; + fromPartial, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + lookupInners?: ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + }[] & ({ + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prefix?: Uint8Array | undefined; + suffix?: Uint8Array | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): CompressedBatchProof; +}; +export declare const CompressedBatchEntry: { + encode(message: CompressedBatchEntry, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CompressedBatchEntry; + fromJSON(object: any): CompressedBatchEntry; + toJSON(message: CompressedBatchEntry): unknown; + fromPartial, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + nonexist?: ({ + key?: Uint8Array | undefined; + left?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + right?: { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } | undefined; + } & { + key?: Uint8Array | undefined; + left?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): CompressedBatchEntry; +}; +export declare const CompressedExistenceProof: { + encode(message: CompressedExistenceProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CompressedExistenceProof; + fromJSON(object: any): CompressedExistenceProof; + toJSON(message: CompressedExistenceProof): unknown; + fromPartial, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>>(object: I): CompressedExistenceProof; +}; +export declare const CompressedNonExistenceProof: { + encode(message: CompressedNonExistenceProof, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CompressedNonExistenceProof; + fromJSON(object: any): CompressedNonExistenceProof; + toJSON(message: CompressedNonExistenceProof): unknown; + fromPartial, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + right?: ({ + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } | undefined; + path?: number[] | undefined; + } & { + key?: Uint8Array | undefined; + value?: Uint8Array | undefined; + leaf?: ({ + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & { + hash?: HashOp | undefined; + prehashKey?: HashOp | undefined; + prehashValue?: HashOp | undefined; + length?: LengthOp | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>) | undefined; + path?: (number[] & number[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): CompressedNonExistenceProof; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js new file mode 100644 index 00000000..5f7fa36a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js @@ -0,0 +1,1187 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CompressedNonExistenceProof = exports.CompressedExistenceProof = exports.CompressedBatchEntry = exports.CompressedBatchProof = exports.BatchEntry = exports.BatchProof = exports.InnerSpec = exports.ProofSpec = exports.InnerOp = exports.LeafOp = exports.CommitmentProof = exports.NonExistenceProof = exports.ExistenceProof = exports.lengthOpToJSON = exports.lengthOpFromJSON = exports.LengthOp = exports.hashOpToJSON = exports.hashOpFromJSON = exports.HashOp = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.ics23.v1"; +var HashOp; +(function (HashOp) { + /** NO_HASH - NO_HASH is the default if no data passed. Note this is an illegal argument some places. */ + HashOp[HashOp["NO_HASH"] = 0] = "NO_HASH"; + HashOp[HashOp["SHA256"] = 1] = "SHA256"; + HashOp[HashOp["SHA512"] = 2] = "SHA512"; + HashOp[HashOp["KECCAK"] = 3] = "KECCAK"; + HashOp[HashOp["RIPEMD160"] = 4] = "RIPEMD160"; + /** BITCOIN - ripemd160(sha256(x)) */ + HashOp[HashOp["BITCOIN"] = 5] = "BITCOIN"; + HashOp[HashOp["SHA512_256"] = 6] = "SHA512_256"; + HashOp[HashOp["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(HashOp = exports.HashOp || (exports.HashOp = {})); +function hashOpFromJSON(object) { + switch (object) { + case 0: + case "NO_HASH": + return HashOp.NO_HASH; + case 1: + case "SHA256": + return HashOp.SHA256; + case 2: + case "SHA512": + return HashOp.SHA512; + case 3: + case "KECCAK": + return HashOp.KECCAK; + case 4: + case "RIPEMD160": + return HashOp.RIPEMD160; + case 5: + case "BITCOIN": + return HashOp.BITCOIN; + case 6: + case "SHA512_256": + return HashOp.SHA512_256; + case -1: + case "UNRECOGNIZED": + default: + return HashOp.UNRECOGNIZED; + } +} +exports.hashOpFromJSON = hashOpFromJSON; +function hashOpToJSON(object) { + switch (object) { + case HashOp.NO_HASH: + return "NO_HASH"; + case HashOp.SHA256: + return "SHA256"; + case HashOp.SHA512: + return "SHA512"; + case HashOp.KECCAK: + return "KECCAK"; + case HashOp.RIPEMD160: + return "RIPEMD160"; + case HashOp.BITCOIN: + return "BITCOIN"; + case HashOp.SHA512_256: + return "SHA512_256"; + case HashOp.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.hashOpToJSON = hashOpToJSON; +/** + * LengthOp defines how to process the key and value of the LeafOp + * to include length information. After encoding the length with the given + * algorithm, the length will be prepended to the key and value bytes. + * (Each one with it's own encoded length) + */ +var LengthOp; +(function (LengthOp) { + /** NO_PREFIX - NO_PREFIX don't include any length info */ + LengthOp[LengthOp["NO_PREFIX"] = 0] = "NO_PREFIX"; + /** VAR_PROTO - VAR_PROTO uses protobuf (and go-amino) varint encoding of the length */ + LengthOp[LengthOp["VAR_PROTO"] = 1] = "VAR_PROTO"; + /** VAR_RLP - VAR_RLP uses rlp int encoding of the length */ + LengthOp[LengthOp["VAR_RLP"] = 2] = "VAR_RLP"; + /** FIXED32_BIG - FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer */ + LengthOp[LengthOp["FIXED32_BIG"] = 3] = "FIXED32_BIG"; + /** FIXED32_LITTLE - FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer */ + LengthOp[LengthOp["FIXED32_LITTLE"] = 4] = "FIXED32_LITTLE"; + /** FIXED64_BIG - FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer */ + LengthOp[LengthOp["FIXED64_BIG"] = 5] = "FIXED64_BIG"; + /** FIXED64_LITTLE - FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer */ + LengthOp[LengthOp["FIXED64_LITTLE"] = 6] = "FIXED64_LITTLE"; + /** REQUIRE_32_BYTES - REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) */ + LengthOp[LengthOp["REQUIRE_32_BYTES"] = 7] = "REQUIRE_32_BYTES"; + /** REQUIRE_64_BYTES - REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output) */ + LengthOp[LengthOp["REQUIRE_64_BYTES"] = 8] = "REQUIRE_64_BYTES"; + LengthOp[LengthOp["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(LengthOp = exports.LengthOp || (exports.LengthOp = {})); +function lengthOpFromJSON(object) { + switch (object) { + case 0: + case "NO_PREFIX": + return LengthOp.NO_PREFIX; + case 1: + case "VAR_PROTO": + return LengthOp.VAR_PROTO; + case 2: + case "VAR_RLP": + return LengthOp.VAR_RLP; + case 3: + case "FIXED32_BIG": + return LengthOp.FIXED32_BIG; + case 4: + case "FIXED32_LITTLE": + return LengthOp.FIXED32_LITTLE; + case 5: + case "FIXED64_BIG": + return LengthOp.FIXED64_BIG; + case 6: + case "FIXED64_LITTLE": + return LengthOp.FIXED64_LITTLE; + case 7: + case "REQUIRE_32_BYTES": + return LengthOp.REQUIRE_32_BYTES; + case 8: + case "REQUIRE_64_BYTES": + return LengthOp.REQUIRE_64_BYTES; + case -1: + case "UNRECOGNIZED": + default: + return LengthOp.UNRECOGNIZED; + } +} +exports.lengthOpFromJSON = lengthOpFromJSON; +function lengthOpToJSON(object) { + switch (object) { + case LengthOp.NO_PREFIX: + return "NO_PREFIX"; + case LengthOp.VAR_PROTO: + return "VAR_PROTO"; + case LengthOp.VAR_RLP: + return "VAR_RLP"; + case LengthOp.FIXED32_BIG: + return "FIXED32_BIG"; + case LengthOp.FIXED32_LITTLE: + return "FIXED32_LITTLE"; + case LengthOp.FIXED64_BIG: + return "FIXED64_BIG"; + case LengthOp.FIXED64_LITTLE: + return "FIXED64_LITTLE"; + case LengthOp.REQUIRE_32_BYTES: + return "REQUIRE_32_BYTES"; + case LengthOp.REQUIRE_64_BYTES: + return "REQUIRE_64_BYTES"; + case LengthOp.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.lengthOpToJSON = lengthOpToJSON; +function createBaseExistenceProof() { + return { + key: new Uint8Array(), + value: new Uint8Array(), + leaf: undefined, + path: [], + }; +} +exports.ExistenceProof = { + encode(message, writer = _m0.Writer.create()) { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + if (message.leaf !== undefined) { + exports.LeafOp.encode(message.leaf, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.path) { + exports.InnerOp.encode(v, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.value = reader.bytes(); + break; + case 3: + message.leaf = exports.LeafOp.decode(reader, reader.uint32()); + break; + case 4: + message.path.push(exports.InnerOp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(), + value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(), + leaf: (0, helpers_1.isSet)(object.leaf) ? exports.LeafOp.fromJSON(object.leaf) : undefined, + path: Array.isArray(object?.path) ? object.path.map((e) => exports.InnerOp.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.key !== undefined && + (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array())); + message.value !== undefined && + (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array())); + message.leaf !== undefined && (obj.leaf = message.leaf ? exports.LeafOp.toJSON(message.leaf) : undefined); + if (message.path) { + obj.path = message.path.map((e) => (e ? exports.InnerOp.toJSON(e) : undefined)); + } + else { + obj.path = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseExistenceProof(); + message.key = object.key ?? new Uint8Array(); + message.value = object.value ?? new Uint8Array(); + message.leaf = + object.leaf !== undefined && object.leaf !== null ? exports.LeafOp.fromPartial(object.leaf) : undefined; + message.path = object.path?.map((e) => exports.InnerOp.fromPartial(e)) || []; + return message; + }, +}; +function createBaseNonExistenceProof() { + return { + key: new Uint8Array(), + left: undefined, + right: undefined, + }; +} +exports.NonExistenceProof = { + encode(message, writer = _m0.Writer.create()) { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.left !== undefined) { + exports.ExistenceProof.encode(message.left, writer.uint32(18).fork()).ldelim(); + } + if (message.right !== undefined) { + exports.ExistenceProof.encode(message.right, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNonExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.left = exports.ExistenceProof.decode(reader, reader.uint32()); + break; + case 3: + message.right = exports.ExistenceProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(), + left: (0, helpers_1.isSet)(object.left) ? exports.ExistenceProof.fromJSON(object.left) : undefined, + right: (0, helpers_1.isSet)(object.right) ? exports.ExistenceProof.fromJSON(object.right) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.key !== undefined && + (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array())); + message.left !== undefined && (obj.left = message.left ? exports.ExistenceProof.toJSON(message.left) : undefined); + message.right !== undefined && + (obj.right = message.right ? exports.ExistenceProof.toJSON(message.right) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseNonExistenceProof(); + message.key = object.key ?? new Uint8Array(); + message.left = + object.left !== undefined && object.left !== null ? exports.ExistenceProof.fromPartial(object.left) : undefined; + message.right = + object.right !== undefined && object.right !== null + ? exports.ExistenceProof.fromPartial(object.right) + : undefined; + return message; + }, +}; +function createBaseCommitmentProof() { + return { + exist: undefined, + nonexist: undefined, + batch: undefined, + compressed: undefined, + }; +} +exports.CommitmentProof = { + encode(message, writer = _m0.Writer.create()) { + if (message.exist !== undefined) { + exports.ExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim(); + } + if (message.nonexist !== undefined) { + exports.NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim(); + } + if (message.batch !== undefined) { + exports.BatchProof.encode(message.batch, writer.uint32(26).fork()).ldelim(); + } + if (message.compressed !== undefined) { + exports.CompressedBatchProof.encode(message.compressed, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitmentProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.exist = exports.ExistenceProof.decode(reader, reader.uint32()); + break; + case 2: + message.nonexist = exports.NonExistenceProof.decode(reader, reader.uint32()); + break; + case 3: + message.batch = exports.BatchProof.decode(reader, reader.uint32()); + break; + case 4: + message.compressed = exports.CompressedBatchProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + exist: (0, helpers_1.isSet)(object.exist) ? exports.ExistenceProof.fromJSON(object.exist) : undefined, + nonexist: (0, helpers_1.isSet)(object.nonexist) ? exports.NonExistenceProof.fromJSON(object.nonexist) : undefined, + batch: (0, helpers_1.isSet)(object.batch) ? exports.BatchProof.fromJSON(object.batch) : undefined, + compressed: (0, helpers_1.isSet)(object.compressed) ? exports.CompressedBatchProof.fromJSON(object.compressed) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.exist !== undefined && + (obj.exist = message.exist ? exports.ExistenceProof.toJSON(message.exist) : undefined); + message.nonexist !== undefined && + (obj.nonexist = message.nonexist ? exports.NonExistenceProof.toJSON(message.nonexist) : undefined); + message.batch !== undefined && (obj.batch = message.batch ? exports.BatchProof.toJSON(message.batch) : undefined); + message.compressed !== undefined && + (obj.compressed = message.compressed ? exports.CompressedBatchProof.toJSON(message.compressed) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseCommitmentProof(); + message.exist = + object.exist !== undefined && object.exist !== null + ? exports.ExistenceProof.fromPartial(object.exist) + : undefined; + message.nonexist = + object.nonexist !== undefined && object.nonexist !== null + ? exports.NonExistenceProof.fromPartial(object.nonexist) + : undefined; + message.batch = + object.batch !== undefined && object.batch !== null ? exports.BatchProof.fromPartial(object.batch) : undefined; + message.compressed = + object.compressed !== undefined && object.compressed !== null + ? exports.CompressedBatchProof.fromPartial(object.compressed) + : undefined; + return message; + }, +}; +function createBaseLeafOp() { + return { + hash: 0, + prehashKey: 0, + prehashValue: 0, + length: 0, + prefix: new Uint8Array(), + }; +} +exports.LeafOp = { + encode(message, writer = _m0.Writer.create()) { + if (message.hash !== 0) { + writer.uint32(8).int32(message.hash); + } + if (message.prehashKey !== 0) { + writer.uint32(16).int32(message.prehashKey); + } + if (message.prehashValue !== 0) { + writer.uint32(24).int32(message.prehashValue); + } + if (message.length !== 0) { + writer.uint32(32).int32(message.length); + } + if (message.prefix.length !== 0) { + writer.uint32(42).bytes(message.prefix); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLeafOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.int32(); + break; + case 2: + message.prehashKey = reader.int32(); + break; + case 3: + message.prehashValue = reader.int32(); + break; + case 4: + message.length = reader.int32(); + break; + case 5: + message.prefix = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + hash: (0, helpers_1.isSet)(object.hash) ? hashOpFromJSON(object.hash) : 0, + prehashKey: (0, helpers_1.isSet)(object.prehashKey) ? hashOpFromJSON(object.prehashKey) : 0, + prehashValue: (0, helpers_1.isSet)(object.prehashValue) ? hashOpFromJSON(object.prehashValue) : 0, + length: (0, helpers_1.isSet)(object.length) ? lengthOpFromJSON(object.length) : 0, + prefix: (0, helpers_1.isSet)(object.prefix) ? (0, helpers_1.bytesFromBase64)(object.prefix) : new Uint8Array(), + }; + }, + toJSON(message) { + const obj = {}; + message.hash !== undefined && (obj.hash = hashOpToJSON(message.hash)); + message.prehashKey !== undefined && (obj.prehashKey = hashOpToJSON(message.prehashKey)); + message.prehashValue !== undefined && (obj.prehashValue = hashOpToJSON(message.prehashValue)); + message.length !== undefined && (obj.length = lengthOpToJSON(message.length)); + message.prefix !== undefined && + (obj.prefix = (0, helpers_1.base64FromBytes)(message.prefix !== undefined ? message.prefix : new Uint8Array())); + return obj; + }, + fromPartial(object) { + const message = createBaseLeafOp(); + message.hash = object.hash ?? 0; + message.prehashKey = object.prehashKey ?? 0; + message.prehashValue = object.prehashValue ?? 0; + message.length = object.length ?? 0; + message.prefix = object.prefix ?? new Uint8Array(); + return message; + }, +}; +function createBaseInnerOp() { + return { + hash: 0, + prefix: new Uint8Array(), + suffix: new Uint8Array(), + }; +} +exports.InnerOp = { + encode(message, writer = _m0.Writer.create()) { + if (message.hash !== 0) { + writer.uint32(8).int32(message.hash); + } + if (message.prefix.length !== 0) { + writer.uint32(18).bytes(message.prefix); + } + if (message.suffix.length !== 0) { + writer.uint32(26).bytes(message.suffix); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInnerOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.int32(); + break; + case 2: + message.prefix = reader.bytes(); + break; + case 3: + message.suffix = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + hash: (0, helpers_1.isSet)(object.hash) ? hashOpFromJSON(object.hash) : 0, + prefix: (0, helpers_1.isSet)(object.prefix) ? (0, helpers_1.bytesFromBase64)(object.prefix) : new Uint8Array(), + suffix: (0, helpers_1.isSet)(object.suffix) ? (0, helpers_1.bytesFromBase64)(object.suffix) : new Uint8Array(), + }; + }, + toJSON(message) { + const obj = {}; + message.hash !== undefined && (obj.hash = hashOpToJSON(message.hash)); + message.prefix !== undefined && + (obj.prefix = (0, helpers_1.base64FromBytes)(message.prefix !== undefined ? message.prefix : new Uint8Array())); + message.suffix !== undefined && + (obj.suffix = (0, helpers_1.base64FromBytes)(message.suffix !== undefined ? message.suffix : new Uint8Array())); + return obj; + }, + fromPartial(object) { + const message = createBaseInnerOp(); + message.hash = object.hash ?? 0; + message.prefix = object.prefix ?? new Uint8Array(); + message.suffix = object.suffix ?? new Uint8Array(); + return message; + }, +}; +function createBaseProofSpec() { + return { + leafSpec: undefined, + innerSpec: undefined, + maxDepth: 0, + minDepth: 0, + }; +} +exports.ProofSpec = { + encode(message, writer = _m0.Writer.create()) { + if (message.leafSpec !== undefined) { + exports.LeafOp.encode(message.leafSpec, writer.uint32(10).fork()).ldelim(); + } + if (message.innerSpec !== undefined) { + exports.InnerSpec.encode(message.innerSpec, writer.uint32(18).fork()).ldelim(); + } + if (message.maxDepth !== 0) { + writer.uint32(24).int32(message.maxDepth); + } + if (message.minDepth !== 0) { + writer.uint32(32).int32(message.minDepth); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofSpec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.leafSpec = exports.LeafOp.decode(reader, reader.uint32()); + break; + case 2: + message.innerSpec = exports.InnerSpec.decode(reader, reader.uint32()); + break; + case 3: + message.maxDepth = reader.int32(); + break; + case 4: + message.minDepth = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + leafSpec: (0, helpers_1.isSet)(object.leafSpec) ? exports.LeafOp.fromJSON(object.leafSpec) : undefined, + innerSpec: (0, helpers_1.isSet)(object.innerSpec) ? exports.InnerSpec.fromJSON(object.innerSpec) : undefined, + maxDepth: (0, helpers_1.isSet)(object.maxDepth) ? Number(object.maxDepth) : 0, + minDepth: (0, helpers_1.isSet)(object.minDepth) ? Number(object.minDepth) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.leafSpec !== undefined && + (obj.leafSpec = message.leafSpec ? exports.LeafOp.toJSON(message.leafSpec) : undefined); + message.innerSpec !== undefined && + (obj.innerSpec = message.innerSpec ? exports.InnerSpec.toJSON(message.innerSpec) : undefined); + message.maxDepth !== undefined && (obj.maxDepth = Math.round(message.maxDepth)); + message.minDepth !== undefined && (obj.minDepth = Math.round(message.minDepth)); + return obj; + }, + fromPartial(object) { + const message = createBaseProofSpec(); + message.leafSpec = + object.leafSpec !== undefined && object.leafSpec !== null + ? exports.LeafOp.fromPartial(object.leafSpec) + : undefined; + message.innerSpec = + object.innerSpec !== undefined && object.innerSpec !== null + ? exports.InnerSpec.fromPartial(object.innerSpec) + : undefined; + message.maxDepth = object.maxDepth ?? 0; + message.minDepth = object.minDepth ?? 0; + return message; + }, +}; +function createBaseInnerSpec() { + return { + childOrder: [], + childSize: 0, + minPrefixLength: 0, + maxPrefixLength: 0, + emptyChild: new Uint8Array(), + hash: 0, + }; +} +exports.InnerSpec = { + encode(message, writer = _m0.Writer.create()) { + writer.uint32(10).fork(); + for (const v of message.childOrder) { + writer.int32(v); + } + writer.ldelim(); + if (message.childSize !== 0) { + writer.uint32(16).int32(message.childSize); + } + if (message.minPrefixLength !== 0) { + writer.uint32(24).int32(message.minPrefixLength); + } + if (message.maxPrefixLength !== 0) { + writer.uint32(32).int32(message.maxPrefixLength); + } + if (message.emptyChild.length !== 0) { + writer.uint32(42).bytes(message.emptyChild); + } + if (message.hash !== 0) { + writer.uint32(48).int32(message.hash); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInnerSpec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.childOrder.push(reader.int32()); + } + } + else { + message.childOrder.push(reader.int32()); + } + break; + case 2: + message.childSize = reader.int32(); + break; + case 3: + message.minPrefixLength = reader.int32(); + break; + case 4: + message.maxPrefixLength = reader.int32(); + break; + case 5: + message.emptyChild = reader.bytes(); + break; + case 6: + message.hash = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + childOrder: Array.isArray(object?.childOrder) ? object.childOrder.map((e) => Number(e)) : [], + childSize: (0, helpers_1.isSet)(object.childSize) ? Number(object.childSize) : 0, + minPrefixLength: (0, helpers_1.isSet)(object.minPrefixLength) ? Number(object.minPrefixLength) : 0, + maxPrefixLength: (0, helpers_1.isSet)(object.maxPrefixLength) ? Number(object.maxPrefixLength) : 0, + emptyChild: (0, helpers_1.isSet)(object.emptyChild) ? (0, helpers_1.bytesFromBase64)(object.emptyChild) : new Uint8Array(), + hash: (0, helpers_1.isSet)(object.hash) ? hashOpFromJSON(object.hash) : 0, + }; + }, + toJSON(message) { + const obj = {}; + if (message.childOrder) { + obj.childOrder = message.childOrder.map((e) => Math.round(e)); + } + else { + obj.childOrder = []; + } + message.childSize !== undefined && (obj.childSize = Math.round(message.childSize)); + message.minPrefixLength !== undefined && (obj.minPrefixLength = Math.round(message.minPrefixLength)); + message.maxPrefixLength !== undefined && (obj.maxPrefixLength = Math.round(message.maxPrefixLength)); + message.emptyChild !== undefined && + (obj.emptyChild = (0, helpers_1.base64FromBytes)(message.emptyChild !== undefined ? message.emptyChild : new Uint8Array())); + message.hash !== undefined && (obj.hash = hashOpToJSON(message.hash)); + return obj; + }, + fromPartial(object) { + const message = createBaseInnerSpec(); + message.childOrder = object.childOrder?.map((e) => e) || []; + message.childSize = object.childSize ?? 0; + message.minPrefixLength = object.minPrefixLength ?? 0; + message.maxPrefixLength = object.maxPrefixLength ?? 0; + message.emptyChild = object.emptyChild ?? new Uint8Array(); + message.hash = object.hash ?? 0; + return message; + }, +}; +function createBaseBatchProof() { + return { + entries: [], + }; +} +exports.BatchProof = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.entries) { + exports.BatchEntry.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entries.push(exports.BatchEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + entries: Array.isArray(object?.entries) ? object.entries.map((e) => exports.BatchEntry.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? exports.BatchEntry.toJSON(e) : undefined)); + } + else { + obj.entries = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseBatchProof(); + message.entries = object.entries?.map((e) => exports.BatchEntry.fromPartial(e)) || []; + return message; + }, +}; +function createBaseBatchEntry() { + return { + exist: undefined, + nonexist: undefined, + }; +} +exports.BatchEntry = { + encode(message, writer = _m0.Writer.create()) { + if (message.exist !== undefined) { + exports.ExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim(); + } + if (message.nonexist !== undefined) { + exports.NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.exist = exports.ExistenceProof.decode(reader, reader.uint32()); + break; + case 2: + message.nonexist = exports.NonExistenceProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + exist: (0, helpers_1.isSet)(object.exist) ? exports.ExistenceProof.fromJSON(object.exist) : undefined, + nonexist: (0, helpers_1.isSet)(object.nonexist) ? exports.NonExistenceProof.fromJSON(object.nonexist) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.exist !== undefined && + (obj.exist = message.exist ? exports.ExistenceProof.toJSON(message.exist) : undefined); + message.nonexist !== undefined && + (obj.nonexist = message.nonexist ? exports.NonExistenceProof.toJSON(message.nonexist) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseBatchEntry(); + message.exist = + object.exist !== undefined && object.exist !== null + ? exports.ExistenceProof.fromPartial(object.exist) + : undefined; + message.nonexist = + object.nonexist !== undefined && object.nonexist !== null + ? exports.NonExistenceProof.fromPartial(object.nonexist) + : undefined; + return message; + }, +}; +function createBaseCompressedBatchProof() { + return { + entries: [], + lookupInners: [], + }; +} +exports.CompressedBatchProof = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.entries) { + exports.CompressedBatchEntry.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.lookupInners) { + exports.InnerOp.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedBatchProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entries.push(exports.CompressedBatchEntry.decode(reader, reader.uint32())); + break; + case 2: + message.lookupInners.push(exports.InnerOp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + entries: Array.isArray(object?.entries) + ? object.entries.map((e) => exports.CompressedBatchEntry.fromJSON(e)) + : [], + lookupInners: Array.isArray(object?.lookupInners) + ? object.lookupInners.map((e) => exports.InnerOp.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? exports.CompressedBatchEntry.toJSON(e) : undefined)); + } + else { + obj.entries = []; + } + if (message.lookupInners) { + obj.lookupInners = message.lookupInners.map((e) => (e ? exports.InnerOp.toJSON(e) : undefined)); + } + else { + obj.lookupInners = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseCompressedBatchProof(); + message.entries = object.entries?.map((e) => exports.CompressedBatchEntry.fromPartial(e)) || []; + message.lookupInners = object.lookupInners?.map((e) => exports.InnerOp.fromPartial(e)) || []; + return message; + }, +}; +function createBaseCompressedBatchEntry() { + return { + exist: undefined, + nonexist: undefined, + }; +} +exports.CompressedBatchEntry = { + encode(message, writer = _m0.Writer.create()) { + if (message.exist !== undefined) { + exports.CompressedExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim(); + } + if (message.nonexist !== undefined) { + exports.CompressedNonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedBatchEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.exist = exports.CompressedExistenceProof.decode(reader, reader.uint32()); + break; + case 2: + message.nonexist = exports.CompressedNonExistenceProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + exist: (0, helpers_1.isSet)(object.exist) ? exports.CompressedExistenceProof.fromJSON(object.exist) : undefined, + nonexist: (0, helpers_1.isSet)(object.nonexist) ? exports.CompressedNonExistenceProof.fromJSON(object.nonexist) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.exist !== undefined && + (obj.exist = message.exist ? exports.CompressedExistenceProof.toJSON(message.exist) : undefined); + message.nonexist !== undefined && + (obj.nonexist = message.nonexist ? exports.CompressedNonExistenceProof.toJSON(message.nonexist) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseCompressedBatchEntry(); + message.exist = + object.exist !== undefined && object.exist !== null + ? exports.CompressedExistenceProof.fromPartial(object.exist) + : undefined; + message.nonexist = + object.nonexist !== undefined && object.nonexist !== null + ? exports.CompressedNonExistenceProof.fromPartial(object.nonexist) + : undefined; + return message; + }, +}; +function createBaseCompressedExistenceProof() { + return { + key: new Uint8Array(), + value: new Uint8Array(), + leaf: undefined, + path: [], + }; +} +exports.CompressedExistenceProof = { + encode(message, writer = _m0.Writer.create()) { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + if (message.leaf !== undefined) { + exports.LeafOp.encode(message.leaf, writer.uint32(26).fork()).ldelim(); + } + writer.uint32(34).fork(); + for (const v of message.path) { + writer.int32(v); + } + writer.ldelim(); + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.value = reader.bytes(); + break; + case 3: + message.leaf = exports.LeafOp.decode(reader, reader.uint32()); + break; + case 4: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.path.push(reader.int32()); + } + } + else { + message.path.push(reader.int32()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(), + value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(), + leaf: (0, helpers_1.isSet)(object.leaf) ? exports.LeafOp.fromJSON(object.leaf) : undefined, + path: Array.isArray(object?.path) ? object.path.map((e) => Number(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.key !== undefined && + (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array())); + message.value !== undefined && + (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array())); + message.leaf !== undefined && (obj.leaf = message.leaf ? exports.LeafOp.toJSON(message.leaf) : undefined); + if (message.path) { + obj.path = message.path.map((e) => Math.round(e)); + } + else { + obj.path = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseCompressedExistenceProof(); + message.key = object.key ?? new Uint8Array(); + message.value = object.value ?? new Uint8Array(); + message.leaf = + object.leaf !== undefined && object.leaf !== null ? exports.LeafOp.fromPartial(object.leaf) : undefined; + message.path = object.path?.map((e) => e) || []; + return message; + }, +}; +function createBaseCompressedNonExistenceProof() { + return { + key: new Uint8Array(), + left: undefined, + right: undefined, + }; +} +exports.CompressedNonExistenceProof = { + encode(message, writer = _m0.Writer.create()) { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.left !== undefined) { + exports.CompressedExistenceProof.encode(message.left, writer.uint32(18).fork()).ldelim(); + } + if (message.right !== undefined) { + exports.CompressedExistenceProof.encode(message.right, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompressedNonExistenceProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.left = exports.CompressedExistenceProof.decode(reader, reader.uint32()); + break; + case 3: + message.right = exports.CompressedExistenceProof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(), + left: (0, helpers_1.isSet)(object.left) ? exports.CompressedExistenceProof.fromJSON(object.left) : undefined, + right: (0, helpers_1.isSet)(object.right) ? exports.CompressedExistenceProof.fromJSON(object.right) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.key !== undefined && + (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array())); + message.left !== undefined && + (obj.left = message.left ? exports.CompressedExistenceProof.toJSON(message.left) : undefined); + message.right !== undefined && + (obj.right = message.right ? exports.CompressedExistenceProof.toJSON(message.right) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseCompressedNonExistenceProof(); + message.key = object.key ?? new Uint8Array(); + message.left = + object.left !== undefined && object.left !== null + ? exports.CompressedExistenceProof.fromPartial(object.left) + : undefined; + message.right = + object.right !== undefined && object.right !== null + ? exports.CompressedExistenceProof.fromPartial(object.right) + : undefined; + return message; + }, +}; +//# sourceMappingURL=proofs.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js.map b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js.map new file mode 100644 index 00000000..391fbee8 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/ics23/v1/proofs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proofs.js","sourceRoot":"","sources":["../../../../src/cosmos/ics23/v1/proofs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.d.ts new file mode 100644 index 00000000..5381f798 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.d.ts @@ -0,0 +1,21 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.mint.module.v1"; +/** Module is the config object of the mint module. */ +export interface Module { + feeCollectorName: string; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js new file mode 100644 index 00000000..d2076df5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js @@ -0,0 +1,86 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.mint.module.v1"; +function createBaseModule() { + return { + feeCollectorName: "", + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.feeCollectorName !== "") { + writer.uint32(10).string(message.feeCollectorName); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeCollectorName = reader.string(); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeCollectorName: (0, helpers_1.isSet)(object.feeCollectorName) ? String(object.feeCollectorName) : "", + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.feeCollectorName !== undefined && (obj.feeCollectorName = message.feeCollectorName); + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.feeCollectorName = object.feeCollectorName ?? ""; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js.map new file mode 100644 index 00000000..a1145254 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/mint/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.d.ts new file mode 100644 index 00000000..1262f071 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.d.ts @@ -0,0 +1,140 @@ +import { Params } from "./mint"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.mint.v1beta1"; +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/mint parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: Params; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse { +} +export declare const MsgUpdateParams: { + encode(message: MsgUpdateParams, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams; + fromJSON(object: any): MsgUpdateParams; + toJSON(message: MsgUpdateParams): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgUpdateParams; +}; +export declare const MsgUpdateParamsResponse: { + encode(_: MsgUpdateParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse; + fromJSON(_: any): MsgUpdateParamsResponse; + toJSON(_: MsgUpdateParamsResponse): unknown; + fromPartial, never>>(_: I): MsgUpdateParamsResponse; +}; +/** Msg defines the x/mint Msg service. */ +export interface Msg { + /** + * UpdateParams defines a governance operation for updating the x/mint module + * parameters. The authority is defaults to the x/gov module account. + * + * Since: cosmos-sdk 0.47 + */ + UpdateParams(request: MsgUpdateParams): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + UpdateParams(request: MsgUpdateParams): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js new file mode 100644 index 00000000..b00f9cc3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js @@ -0,0 +1,133 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgUpdateParamsResponse = exports.MsgUpdateParams = exports.protobufPackage = void 0; +/* eslint-disable */ +const mint_1 = require("./mint"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.mint.v1beta1"; +function createBaseMsgUpdateParams() { + return { + authority: "", + params: undefined, + }; +} +exports.MsgUpdateParams = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + mint_1.Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = mint_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + params: (0, helpers_1.isSet)(object.params) ? mint_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.params !== undefined && (obj.params = message.params ? mint_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ""; + message.params = + object.params !== undefined && object.params !== null ? mint_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseMsgUpdateParamsResponse() { + return {}; +} +exports.MsgUpdateParamsResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.UpdateParams = this.UpdateParams.bind(this); + } + UpdateParams(request) { + const data = exports.MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request("cosmos.mint.v1beta1.Msg", "UpdateParams", data); + return promise.then((data) => exports.MsgUpdateParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js.map new file mode 100644 index 00000000..c0e1b393 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/mint/v1beta1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/mint/v1beta1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js new file mode 100644 index 00000000..887edbc8 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=msg.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js.map b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js.map new file mode 100644 index 00000000..f2a51342 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/msg/v1/msg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"msg.js","sourceRoot":"","sources":["../../../../src/cosmos/msg/v1/msg.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.d.ts new file mode 100644 index 00000000..df8c2eb6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.nft.module.v1"; +/** Module is the config object of the nft module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js new file mode 100644 index 00000000..8ac234fd --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.nft.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js.map new file mode 100644 index 00000000..ec06197b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/nft/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,sBAAsB,CAAC;AAGtD,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.d.ts new file mode 100644 index 00000000..9592db52 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.d.ts @@ -0,0 +1,78 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.nft.v1beta1"; +/** EventSend is emitted on Msg/Send */ +export interface EventSend { + /** class_id associated with the nft */ + classId: string; + /** id is a unique identifier of the nft */ + id: string; + /** sender is the address of the owner of nft */ + sender: string; + /** receiver is the receiver address of nft */ + receiver: string; +} +/** EventMint is emitted on Mint */ +export interface EventMint { + /** class_id associated with the nft */ + classId: string; + /** id is a unique identifier of the nft */ + id: string; + /** owner is the owner address of the nft */ + owner: string; +} +/** EventBurn is emitted on Burn */ +export interface EventBurn { + /** class_id associated with the nft */ + classId: string; + /** id is a unique identifier of the nft */ + id: string; + /** owner is the owner address of the nft */ + owner: string; +} +export declare const EventSend: { + encode(message: EventSend, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventSend; + fromJSON(object: any): EventSend; + toJSON(message: EventSend): unknown; + fromPartial, never>>(object: I): EventSend; +}; +export declare const EventMint: { + encode(message: EventMint, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventMint; + fromJSON(object: any): EventMint; + toJSON(message: EventMint): unknown; + fromPartial, never>>(object: I): EventMint; +}; +export declare const EventBurn: { + encode(message: EventBurn, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): EventBurn; + fromJSON(object: any): EventBurn; + toJSON(message: EventBurn): unknown; + fromPartial, never>>(object: I): EventBurn; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js new file mode 100644 index 00000000..8c72d29d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js @@ -0,0 +1,236 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EventBurn = exports.EventMint = exports.EventSend = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.nft.v1beta1"; +function createBaseEventSend() { + return { + classId: "", + id: "", + sender: "", + receiver: "", + }; +} +exports.EventSend = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + if (message.sender !== "") { + writer.uint32(26).string(message.sender); + } + if (message.receiver !== "") { + writer.uint32(34).string(message.receiver); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + case 3: + message.sender = reader.string(); + break; + case 4: + message.receiver = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "", + receiver: (0, helpers_1.isSet)(object.receiver) ? String(object.receiver) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + message.sender !== undefined && (obj.sender = message.sender); + message.receiver !== undefined && (obj.receiver = message.receiver); + return obj; + }, + fromPartial(object) { + const message = createBaseEventSend(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + message.sender = object.sender ?? ""; + message.receiver = object.receiver ?? ""; + return message; + }, +}; +function createBaseEventMint() { + return { + classId: "", + id: "", + owner: "", + }; +} +exports.EventMint = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + if (message.owner !== "") { + writer.uint32(26).string(message.owner); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventMint(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + case 3: + message.owner = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + message.owner !== undefined && (obj.owner = message.owner); + return obj; + }, + fromPartial(object) { + const message = createBaseEventMint(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + message.owner = object.owner ?? ""; + return message; + }, +}; +function createBaseEventBurn() { + return { + classId: "", + id: "", + owner: "", + }; +} +exports.EventBurn = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + if (message.owner !== "") { + writer.uint32(26).string(message.owner); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventBurn(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + case 3: + message.owner = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + message.owner !== undefined && (obj.owner = message.owner); + return obj; + }, + fromPartial(object) { + const message = createBaseEventBurn(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + message.owner = object.owner ?? ""; + return message; + }, +}; +//# sourceMappingURL=event.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js.map new file mode 100644 index 00000000..7477ea24 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/event.js.map @@ -0,0 +1 @@ +{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/cosmos/nft/v1beta1/event.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.d.ts new file mode 100644 index 00000000..e902f30f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.d.ts @@ -0,0 +1,239 @@ +import { Class, NFT } from "./nft"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.nft.v1beta1"; +/** GenesisState defines the nft module's genesis state. */ +export interface GenesisState { + /** class defines the class of the nft type. */ + classes: Class[]; + /** entry defines all nft owned by a person. */ + entries: Entry[]; +} +/** Entry Defines all nft owned by a person */ +export interface Entry { + /** owner is the owner address of the following nft */ + owner: string; + /** nfts is a group of nfts of the same owner */ + nfts: NFT[]; +} +export declare const GenesisState: { + encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState; + fromJSON(object: any): GenesisState; + toJSON(message: GenesisState): unknown; + fromPartial, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + entries?: ({ + owner?: string | undefined; + nfts?: { + classId?: string | undefined; + id?: string | undefined; + uri?: string | undefined; + uriHash?: string | undefined; + data?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + }[] | undefined; + }[] & ({ + owner?: string | undefined; + nfts?: { + classId?: string | undefined; + id?: string | undefined; + uri?: string | undefined; + uriHash?: string | undefined; + data?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + }[] | undefined; + } & { + owner?: string | undefined; + nfts?: ({ + classId?: string | undefined; + id?: string | undefined; + uri?: string | undefined; + uriHash?: string | undefined; + data?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + }[] & ({ + classId?: string | undefined; + id?: string | undefined; + uri?: string | undefined; + uriHash?: string | undefined; + data?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + } & { + classId?: string | undefined; + id?: string | undefined; + uri?: string | undefined; + uriHash?: string | undefined; + data?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): GenesisState; +}; +export declare const Entry: { + encode(message: Entry, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Entry; + fromJSON(object: any): Entry; + toJSON(message: Entry): unknown; + fromPartial, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): Entry; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js new file mode 100644 index 00000000..e4efd10a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js @@ -0,0 +1,157 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Entry = exports.GenesisState = exports.protobufPackage = void 0; +/* eslint-disable */ +const nft_1 = require("./nft"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.nft.v1beta1"; +function createBaseGenesisState() { + return { + classes: [], + entries: [], + }; +} +exports.GenesisState = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.classes) { + nft_1.Class.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.entries) { + exports.Entry.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classes.push(nft_1.Class.decode(reader, reader.uint32())); + break; + case 2: + message.entries.push(exports.Entry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classes: Array.isArray(object?.classes) ? object.classes.map((e) => nft_1.Class.fromJSON(e)) : [], + entries: Array.isArray(object?.entries) ? object.entries.map((e) => exports.Entry.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.classes) { + obj.classes = message.classes.map((e) => (e ? nft_1.Class.toJSON(e) : undefined)); + } + else { + obj.classes = []; + } + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? exports.Entry.toJSON(e) : undefined)); + } + else { + obj.entries = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseGenesisState(); + message.classes = object.classes?.map((e) => nft_1.Class.fromPartial(e)) || []; + message.entries = object.entries?.map((e) => exports.Entry.fromPartial(e)) || []; + return message; + }, +}; +function createBaseEntry() { + return { + owner: "", + nfts: [], + }; +} +exports.Entry = { + encode(message, writer = _m0.Writer.create()) { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + for (const v of message.nfts) { + nft_1.NFT.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = reader.string(); + break; + case 2: + message.nfts.push(nft_1.NFT.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + nfts: Array.isArray(object?.nfts) ? object.nfts.map((e) => nft_1.NFT.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.owner !== undefined && (obj.owner = message.owner); + if (message.nfts) { + obj.nfts = message.nfts.map((e) => (e ? nft_1.NFT.toJSON(e) : undefined)); + } + else { + obj.nfts = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseEntry(); + message.owner = object.owner ?? ""; + message.nfts = object.nfts?.map((e) => nft_1.NFT.fromPartial(e)) || []; + return message; + }, +}; +//# sourceMappingURL=genesis.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js.map new file mode 100644 index 00000000..c927f581 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/genesis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../../src/cosmos/nft/v1beta1/genesis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.d.ts new file mode 100644 index 00000000..c04f8f23 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.d.ts @@ -0,0 +1,93 @@ +import { Any } from "../../../google/protobuf/any"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.nft.v1beta1"; +/** Class defines the class of the nft type. */ +export interface Class { + /** id defines the unique identifier of the NFT classification, similar to the contract address of ERC721 */ + id: string; + /** name defines the human-readable name of the NFT classification. Optional */ + name: string; + /** symbol is an abbreviated name for nft classification. Optional */ + symbol: string; + /** description is a brief description of nft classification. Optional */ + description: string; + /** uri for the class metadata stored off chain. It can define schema for Class and NFT `Data` attributes. Optional */ + uri: string; + /** uri_hash is a hash of the document pointed by uri. Optional */ + uriHash: string; + /** data is the app specific metadata of the NFT class. Optional */ + data?: Any; +} +/** NFT defines the NFT. */ +export interface NFT { + /** class_id associated with the NFT, similar to the contract address of ERC721 */ + classId: string; + /** id is a unique identifier of the NFT */ + id: string; + /** uri for the NFT metadata stored off chain */ + uri: string; + /** uri_hash is a hash of the document pointed by uri */ + uriHash: string; + /** data is an app specific data of the NFT. Optional */ + data?: Any; +} +export declare const Class: { + encode(message: Class, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Class; + fromJSON(object: any): Class; + toJSON(message: Class): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): Class; +}; +export declare const NFT: { + encode(message: NFT, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): NFT; + fromJSON(object: any): NFT; + toJSON(message: NFT): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): NFT; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js new file mode 100644 index 00000000..cc0e49d4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js @@ -0,0 +1,224 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NFT = exports.Class = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../google/protobuf/any"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.nft.v1beta1"; +function createBaseClass() { + return { + id: "", + name: "", + symbol: "", + description: "", + uri: "", + uriHash: "", + data: undefined, + }; +} +exports.Class = { + encode(message, writer = _m0.Writer.create()) { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + if (message.symbol !== "") { + writer.uint32(26).string(message.symbol); + } + if (message.description !== "") { + writer.uint32(34).string(message.description); + } + if (message.uri !== "") { + writer.uint32(42).string(message.uri); + } + if (message.uriHash !== "") { + writer.uint32(50).string(message.uriHash); + } + if (message.data !== undefined) { + any_1.Any.encode(message.data, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClass(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.string(); + break; + case 2: + message.name = reader.string(); + break; + case 3: + message.symbol = reader.string(); + break; + case 4: + message.description = reader.string(); + break; + case 5: + message.uri = reader.string(); + break; + case 6: + message.uriHash = reader.string(); + break; + case 7: + message.data = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "", + symbol: (0, helpers_1.isSet)(object.symbol) ? String(object.symbol) : "", + description: (0, helpers_1.isSet)(object.description) ? String(object.description) : "", + uri: (0, helpers_1.isSet)(object.uri) ? String(object.uri) : "", + uriHash: (0, helpers_1.isSet)(object.uriHash) ? String(object.uriHash) : "", + data: (0, helpers_1.isSet)(object.data) ? any_1.Any.fromJSON(object.data) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = message.id); + message.name !== undefined && (obj.name = message.name); + message.symbol !== undefined && (obj.symbol = message.symbol); + message.description !== undefined && (obj.description = message.description); + message.uri !== undefined && (obj.uri = message.uri); + message.uriHash !== undefined && (obj.uriHash = message.uriHash); + message.data !== undefined && (obj.data = message.data ? any_1.Any.toJSON(message.data) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseClass(); + message.id = object.id ?? ""; + message.name = object.name ?? ""; + message.symbol = object.symbol ?? ""; + message.description = object.description ?? ""; + message.uri = object.uri ?? ""; + message.uriHash = object.uriHash ?? ""; + message.data = + object.data !== undefined && object.data !== null ? any_1.Any.fromPartial(object.data) : undefined; + return message; + }, +}; +function createBaseNFT() { + return { + classId: "", + id: "", + uri: "", + uriHash: "", + data: undefined, + }; +} +exports.NFT = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + if (message.uri !== "") { + writer.uint32(26).string(message.uri); + } + if (message.uriHash !== "") { + writer.uint32(34).string(message.uriHash); + } + if (message.data !== undefined) { + any_1.Any.encode(message.data, writer.uint32(82).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNFT(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + case 3: + message.uri = reader.string(); + break; + case 4: + message.uriHash = reader.string(); + break; + case 10: + message.data = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + uri: (0, helpers_1.isSet)(object.uri) ? String(object.uri) : "", + uriHash: (0, helpers_1.isSet)(object.uriHash) ? String(object.uriHash) : "", + data: (0, helpers_1.isSet)(object.data) ? any_1.Any.fromJSON(object.data) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + message.uri !== undefined && (obj.uri = message.uri); + message.uriHash !== undefined && (obj.uriHash = message.uriHash); + message.data !== undefined && (obj.data = message.data ? any_1.Any.toJSON(message.data) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseNFT(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + message.uri = object.uri ?? ""; + message.uriHash = object.uriHash ?? ""; + message.data = + object.data !== undefined && object.data !== null ? any_1.Any.fromPartial(object.data) : undefined; + return message; + }, +}; +//# sourceMappingURL=nft.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js.map new file mode 100644 index 00000000..17f0fe1d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/nft.js.map @@ -0,0 +1 @@ +{"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../../src/cosmos/nft/v1beta1/nft.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.d.ts new file mode 100644 index 00000000..6014a2e0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.d.ts @@ -0,0 +1,971 @@ +/// +import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; +import { NFT, Class } from "./nft"; +import { Long, Rpc } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.nft.v1beta1"; +/** QueryBalanceRequest is the request type for the Query/Balance RPC method */ +export interface QueryBalanceRequest { + /** class_id associated with the nft */ + classId: string; + /** owner is the owner address of the nft */ + owner: string; +} +/** QueryBalanceResponse is the response type for the Query/Balance RPC method */ +export interface QueryBalanceResponse { + /** amount is the number of all NFTs of a given class owned by the owner */ + amount: Long; +} +/** QueryOwnerRequest is the request type for the Query/Owner RPC method */ +export interface QueryOwnerRequest { + /** class_id associated with the nft */ + classId: string; + /** id is a unique identifier of the NFT */ + id: string; +} +/** QueryOwnerResponse is the response type for the Query/Owner RPC method */ +export interface QueryOwnerResponse { + /** owner is the owner address of the nft */ + owner: string; +} +/** QuerySupplyRequest is the request type for the Query/Supply RPC method */ +export interface QuerySupplyRequest { + /** class_id associated with the nft */ + classId: string; +} +/** QuerySupplyResponse is the response type for the Query/Supply RPC method */ +export interface QuerySupplyResponse { + /** amount is the number of all NFTs from the given class */ + amount: Long; +} +/** QueryNFTstRequest is the request type for the Query/NFTs RPC method */ +export interface QueryNFTsRequest { + /** class_id associated with the nft */ + classId: string; + /** owner is the owner address of the nft */ + owner: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryNFTsResponse is the response type for the Query/NFTs RPC methods */ +export interface QueryNFTsResponse { + /** NFT defines the NFT */ + nfts: NFT[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +/** QueryNFTRequest is the request type for the Query/NFT RPC method */ +export interface QueryNFTRequest { + /** class_id associated with the nft */ + classId: string; + /** id is a unique identifier of the NFT */ + id: string; +} +/** QueryNFTResponse is the response type for the Query/NFT RPC method */ +export interface QueryNFTResponse { + /** owner is the owner address of the nft */ + nft?: NFT; +} +/** QueryClassRequest is the request type for the Query/Class RPC method */ +export interface QueryClassRequest { + /** class_id associated with the nft */ + classId: string; +} +/** QueryClassResponse is the response type for the Query/Class RPC method */ +export interface QueryClassResponse { + /** class defines the class of the nft type. */ + class?: Class; +} +/** QueryClassesRequest is the request type for the Query/Classes RPC method */ +export interface QueryClassesRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} +/** QueryClassesResponse is the response type for the Query/Classes RPC method */ +export interface QueryClassesResponse { + /** class defines the class of the nft type. */ + classes: Class[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} +export declare const QueryBalanceRequest: { + encode(message: QueryBalanceRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryBalanceRequest; + fromJSON(object: any): QueryBalanceRequest; + toJSON(message: QueryBalanceRequest): unknown; + fromPartial, never>>(object: I): QueryBalanceRequest; +}; +export declare const QueryBalanceResponse: { + encode(message: QueryBalanceResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryBalanceResponse; + fromJSON(object: any): QueryBalanceResponse; + toJSON(message: QueryBalanceResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryBalanceResponse; +}; +export declare const QueryOwnerRequest: { + encode(message: QueryOwnerRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryOwnerRequest; + fromJSON(object: any): QueryOwnerRequest; + toJSON(message: QueryOwnerRequest): unknown; + fromPartial, never>>(object: I): QueryOwnerRequest; +}; +export declare const QueryOwnerResponse: { + encode(message: QueryOwnerResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryOwnerResponse; + fromJSON(object: any): QueryOwnerResponse; + toJSON(message: QueryOwnerResponse): unknown; + fromPartial, never>>(object: I): QueryOwnerResponse; +}; +export declare const QuerySupplyRequest: { + encode(message: QuerySupplyRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QuerySupplyRequest; + fromJSON(object: any): QuerySupplyRequest; + toJSON(message: QuerySupplyRequest): unknown; + fromPartial, never>>(object: I): QuerySupplyRequest; +}; +export declare const QuerySupplyResponse: { + encode(message: QuerySupplyResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QuerySupplyResponse; + fromJSON(object: any): QuerySupplyResponse; + toJSON(message: QuerySupplyResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QuerySupplyResponse; +}; +export declare const QueryNFTsRequest: { + encode(message: QueryNFTsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryNFTsRequest; + fromJSON(object: any): QueryNFTsRequest; + toJSON(message: QueryNFTsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryNFTsRequest; +}; +export declare const QueryNFTsResponse: { + encode(message: QueryNFTsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryNFTsResponse; + fromJSON(object: any): QueryNFTsResponse; + toJSON(message: QueryNFTsResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryNFTsResponse; +}; +export declare const QueryNFTRequest: { + encode(message: QueryNFTRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryNFTRequest; + fromJSON(object: any): QueryNFTRequest; + toJSON(message: QueryNFTRequest): unknown; + fromPartial, never>>(object: I): QueryNFTRequest; +}; +export declare const QueryNFTResponse: { + encode(message: QueryNFTResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryNFTResponse; + fromJSON(object: any): QueryNFTResponse; + toJSON(message: QueryNFTResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryNFTResponse; +}; +export declare const QueryClassRequest: { + encode(message: QueryClassRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryClassRequest; + fromJSON(object: any): QueryClassRequest; + toJSON(message: QueryClassRequest): unknown; + fromPartial, never>>(object: I): QueryClassRequest; +}; +export declare const QueryClassResponse: { + encode(message: QueryClassResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryClassResponse; + fromJSON(object: any): QueryClassResponse; + toJSON(message: QueryClassResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryClassResponse; +}; +export declare const QueryClassesRequest: { + encode(message: QueryClassesRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryClassesRequest; + fromJSON(object: any): QueryClassesRequest; + toJSON(message: QueryClassesRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryClassesRequest; +}; +export declare const QueryClassesResponse: { + encode(message: QueryClassesResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryClassesResponse; + fromJSON(object: any): QueryClassesResponse; + toJSON(message: QueryClassesResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryClassesResponse; +}; +/** Query defines the gRPC querier service. */ +export interface Query { + /** Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721 */ + Balance(request: QueryBalanceRequest): Promise; + /** Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721 */ + Owner(request: QueryOwnerRequest): Promise; + /** Supply queries the number of NFTs from the given class, same as totalSupply of ERC721. */ + Supply(request: QuerySupplyRequest): Promise; + /** + * NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in + * ERC721Enumerable + */ + NFTs(request: QueryNFTsRequest): Promise; + /** NFT queries an NFT based on its class and id. */ + NFT(request: QueryNFTRequest): Promise; + /** Class queries an NFT class based on its id */ + Class(request: QueryClassRequest): Promise; + /** Classes queries all NFT classes */ + Classes(request?: QueryClassesRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Balance(request: QueryBalanceRequest): Promise; + Owner(request: QueryOwnerRequest): Promise; + Supply(request: QuerySupplyRequest): Promise; + NFTs(request: QueryNFTsRequest): Promise; + NFT(request: QueryNFTRequest): Promise; + Class(request: QueryClassRequest): Promise; + Classes(request?: QueryClassesRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js new file mode 100644 index 00000000..93c3efe6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js @@ -0,0 +1,812 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryClassesResponse = exports.QueryClassesRequest = exports.QueryClassResponse = exports.QueryClassRequest = exports.QueryNFTResponse = exports.QueryNFTRequest = exports.QueryNFTsResponse = exports.QueryNFTsRequest = exports.QuerySupplyResponse = exports.QuerySupplyRequest = exports.QueryOwnerResponse = exports.QueryOwnerRequest = exports.QueryBalanceResponse = exports.QueryBalanceRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const pagination_1 = require("../../base/query/v1beta1/pagination"); +const nft_1 = require("./nft"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.nft.v1beta1"; +function createBaseQueryBalanceRequest() { + return { + classId: "", + owner: "", + }; +} +exports.QueryBalanceRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.owner !== "") { + writer.uint32(18).string(message.owner); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryBalanceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.owner = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.owner !== undefined && (obj.owner = message.owner); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryBalanceRequest(); + message.classId = object.classId ?? ""; + message.owner = object.owner ?? ""; + return message; + }, +}; +function createBaseQueryBalanceResponse() { + return { + amount: helpers_1.Long.UZERO, + }; +} +exports.QueryBalanceResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.amount.isZero()) { + writer.uint32(8).uint64(message.amount); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryBalanceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + amount: (0, helpers_1.isSet)(object.amount) ? helpers_1.Long.fromValue(object.amount) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.amount !== undefined && (obj.amount = (message.amount || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryBalanceResponse(); + message.amount = + object.amount !== undefined && object.amount !== null ? helpers_1.Long.fromValue(object.amount) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryOwnerRequest() { + return { + classId: "", + id: "", + }; +} +exports.QueryOwnerRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryOwnerRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryOwnerRequest(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + return message; + }, +}; +function createBaseQueryOwnerResponse() { + return { + owner: "", + }; +} +exports.QueryOwnerResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryOwnerResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.owner !== undefined && (obj.owner = message.owner); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryOwnerResponse(); + message.owner = object.owner ?? ""; + return message; + }, +}; +function createBaseQuerySupplyRequest() { + return { + classId: "", + }; +} +exports.QuerySupplyRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySupplyRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + return obj; + }, + fromPartial(object) { + const message = createBaseQuerySupplyRequest(); + message.classId = object.classId ?? ""; + return message; + }, +}; +function createBaseQuerySupplyResponse() { + return { + amount: helpers_1.Long.UZERO, + }; +} +exports.QuerySupplyResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.amount.isZero()) { + writer.uint32(8).uint64(message.amount); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySupplyResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + amount: (0, helpers_1.isSet)(object.amount) ? helpers_1.Long.fromValue(object.amount) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.amount !== undefined && (obj.amount = (message.amount || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQuerySupplyResponse(); + message.amount = + object.amount !== undefined && object.amount !== null ? helpers_1.Long.fromValue(object.amount) : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryNFTsRequest() { + return { + classId: "", + owner: "", + pagination: undefined, + }; +} +exports.QueryNFTsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.owner !== "") { + writer.uint32(18).string(message.owner); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNFTsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.owner = reader.string(); + break; + case 3: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.owner !== undefined && (obj.owner = message.owner); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryNFTsRequest(); + message.classId = object.classId ?? ""; + message.owner = object.owner ?? ""; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryNFTsResponse() { + return { + nfts: [], + pagination: undefined, + }; +} +exports.QueryNFTsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.nfts) { + nft_1.NFT.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNFTsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.nfts.push(nft_1.NFT.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + nfts: Array.isArray(object?.nfts) ? object.nfts.map((e) => nft_1.NFT.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.nfts) { + obj.nfts = message.nfts.map((e) => (e ? nft_1.NFT.toJSON(e) : undefined)); + } + else { + obj.nfts = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryNFTsResponse(); + message.nfts = object.nfts?.map((e) => nft_1.NFT.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryNFTRequest() { + return { + classId: "", + id: "", + }; +} +exports.QueryNFTRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNFTRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryNFTRequest(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + return message; + }, +}; +function createBaseQueryNFTResponse() { + return { + nft: undefined, + }; +} +exports.QueryNFTResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.nft !== undefined) { + nft_1.NFT.encode(message.nft, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryNFTResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.nft = nft_1.NFT.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + nft: (0, helpers_1.isSet)(object.nft) ? nft_1.NFT.fromJSON(object.nft) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.nft !== undefined && (obj.nft = message.nft ? nft_1.NFT.toJSON(message.nft) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryNFTResponse(); + message.nft = object.nft !== undefined && object.nft !== null ? nft_1.NFT.fromPartial(object.nft) : undefined; + return message; + }, +}; +function createBaseQueryClassRequest() { + return { + classId: "", + }; +} +exports.QueryClassRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryClassRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryClassRequest(); + message.classId = object.classId ?? ""; + return message; + }, +}; +function createBaseQueryClassResponse() { + return { + class: undefined, + }; +} +exports.QueryClassResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.class !== undefined) { + nft_1.Class.encode(message.class, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryClassResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.class = nft_1.Class.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + class: (0, helpers_1.isSet)(object.class) ? nft_1.Class.fromJSON(object.class) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.class !== undefined && (obj.class = message.class ? nft_1.Class.toJSON(message.class) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryClassResponse(); + message.class = + object.class !== undefined && object.class !== null ? nft_1.Class.fromPartial(object.class) : undefined; + return message; + }, +}; +function createBaseQueryClassesRequest() { + return { + pagination: undefined, + }; +} +exports.QueryClassesRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryClassesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryClassesRequest(); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseQueryClassesResponse() { + return { + classes: [], + pagination: undefined, + }; +} +exports.QueryClassesResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.classes) { + nft_1.Class.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryClassesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classes.push(nft_1.Class.decode(reader, reader.uint32())); + break; + case 2: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classes: Array.isArray(object?.classes) ? object.classes.map((e) => nft_1.Class.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.classes) { + obj.classes = message.classes.map((e) => (e ? nft_1.Class.toJSON(e) : undefined)); + } + else { + obj.classes = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryClassesResponse(); + message.classes = object.classes?.map((e) => nft_1.Class.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Balance = this.Balance.bind(this); + this.Owner = this.Owner.bind(this); + this.Supply = this.Supply.bind(this); + this.NFTs = this.NFTs.bind(this); + this.NFT = this.NFT.bind(this); + this.Class = this.Class.bind(this); + this.Classes = this.Classes.bind(this); + } + Balance(request) { + const data = exports.QueryBalanceRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "Balance", data); + return promise.then((data) => exports.QueryBalanceResponse.decode(new _m0.Reader(data))); + } + Owner(request) { + const data = exports.QueryOwnerRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "Owner", data); + return promise.then((data) => exports.QueryOwnerResponse.decode(new _m0.Reader(data))); + } + Supply(request) { + const data = exports.QuerySupplyRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "Supply", data); + return promise.then((data) => exports.QuerySupplyResponse.decode(new _m0.Reader(data))); + } + NFTs(request) { + const data = exports.QueryNFTsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "NFTs", data); + return promise.then((data) => exports.QueryNFTsResponse.decode(new _m0.Reader(data))); + } + NFT(request) { + const data = exports.QueryNFTRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "NFT", data); + return promise.then((data) => exports.QueryNFTResponse.decode(new _m0.Reader(data))); + } + Class(request) { + const data = exports.QueryClassRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "Class", data); + return promise.then((data) => exports.QueryClassResponse.decode(new _m0.Reader(data))); + } + Classes(request = { + pagination: undefined, + }) { + const data = exports.QueryClassesRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Query", "Classes", data); + return promise.then((data) => exports.QueryClassesResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js.map new file mode 100644 index 00000000..35aa1d14 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/nft/v1beta1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.d.ts new file mode 100644 index 00000000..ae0e9218 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.d.ts @@ -0,0 +1,51 @@ +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.nft.v1beta1"; +/** MsgSend represents a message to send a nft from one account to another account. */ +export interface MsgSend { + /** class_id defines the unique identifier of the nft classification, similar to the contract address of ERC721 */ + classId: string; + /** id defines the unique identification of nft */ + id: string; + /** sender is the address of the owner of nft */ + sender: string; + /** receiver is the receiver address of nft */ + receiver: string; +} +/** MsgSendResponse defines the Msg/Send response type. */ +export interface MsgSendResponse { +} +export declare const MsgSend: { + encode(message: MsgSend, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSend; + fromJSON(object: any): MsgSend; + toJSON(message: MsgSend): unknown; + fromPartial, never>>(object: I): MsgSend; +}; +export declare const MsgSendResponse: { + encode(_: MsgSendResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSendResponse; + fromJSON(_: any): MsgSendResponse; + toJSON(_: MsgSendResponse): unknown; + fromPartial, never>>(_: I): MsgSendResponse; +}; +/** Msg defines the nft Msg service. */ +export interface Msg { + /** Send defines a method to send a nft from one account to another account. */ + Send(request: MsgSend): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + Send(request: MsgSend): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js new file mode 100644 index 00000000..a89fa9bb --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js @@ -0,0 +1,151 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgSendResponse = exports.MsgSend = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.nft.v1beta1"; +function createBaseMsgSend() { + return { + classId: "", + id: "", + sender: "", + receiver: "", + }; +} +exports.MsgSend = { + encode(message, writer = _m0.Writer.create()) { + if (message.classId !== "") { + writer.uint32(10).string(message.classId); + } + if (message.id !== "") { + writer.uint32(18).string(message.id); + } + if (message.sender !== "") { + writer.uint32(26).string(message.sender); + } + if (message.receiver !== "") { + writer.uint32(34).string(message.receiver); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.classId = reader.string(); + break; + case 2: + message.id = reader.string(); + break; + case 3: + message.sender = reader.string(); + break; + case 4: + message.receiver = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + classId: (0, helpers_1.isSet)(object.classId) ? String(object.classId) : "", + id: (0, helpers_1.isSet)(object.id) ? String(object.id) : "", + sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "", + receiver: (0, helpers_1.isSet)(object.receiver) ? String(object.receiver) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.classId !== undefined && (obj.classId = message.classId); + message.id !== undefined && (obj.id = message.id); + message.sender !== undefined && (obj.sender = message.sender); + message.receiver !== undefined && (obj.receiver = message.receiver); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSend(); + message.classId = object.classId ?? ""; + message.id = object.id ?? ""; + message.sender = object.sender ?? ""; + message.receiver = object.receiver ?? ""; + return message; + }, +}; +function createBaseMsgSendResponse() { + return {}; +} +exports.MsgSendResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgSendResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Send = this.Send.bind(this); + } + Send(request) { + const data = exports.MsgSend.encode(request).finish(); + const promise = this.rpc.request("cosmos.nft.v1beta1.Msg", "Send", data); + return promise.then((data) => exports.MsgSendResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js.map new file mode 100644 index 00000000..0f0054ca --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/nft/v1beta1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/nft/v1beta1/tx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,8CAAkE;AACrD,QAAA,eAAe,GAAG,oBAAoB,CAAC;AAcpD,SAAS,iBAAiB;IACxB,OAAO;QACL,OAAO,EAAE,EAAE;QACX,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AACY,QAAA,OAAO,GAAG;IACrB,MAAM,CAAC,OAAgB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC/D,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC5C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,OAAO,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5D,EAAE,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7C,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAgB;QACrB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA2C,MAAS;QAC7D,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,yBAAyB;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,eAAe,GAAG;IAC7B,MAAM,CAAC,CAAkB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAkB;QACvB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAmD,CAAI;QAChE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAMF,MAAa,aAAa;IAExB,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,OAAgB;QACnB,MAAM,IAAI,GAAG,eAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAe,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF;AAXD,sCAWC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.d.ts new file mode 100644 index 00000000..e7d9a209 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.d.ts @@ -0,0 +1,16 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.orm.module.v1alpha1"; +/** + * Module defines the ORM module which adds providers to the app container for + * module-scoped DB's. In the future it may provide gRPC services for interacting + * with ORM data. + */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js new file mode 100644 index 00000000..97692db5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.orm.module.v1alpha1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js.map new file mode 100644 index 00000000..11bf6e63 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/module/v1alpha1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/orm/module/v1alpha1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,4BAA4B,CAAC;AAO5D,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.d.ts new file mode 100644 index 00000000..247244dd --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.d.ts @@ -0,0 +1,2916 @@ +/// +import { PageRequest, PageResponse } from "../../../base/query/v1beta1/pagination"; +import { Any } from "../../../../google/protobuf/any"; +import { Timestamp } from "../../../../google/protobuf/timestamp"; +import { Duration } from "../../../../google/protobuf/duration"; +import { Long, Rpc } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.orm.query.v1alpha1"; +/** GetRequest is the Query/Get request type. */ +export interface GetRequest { + /** message_name is the fully-qualified message name of the ORM table being queried. */ + messageName: string; + /** + * index is the index fields expression used in orm definitions. If it + * is empty, the table's primary key is assumed. If it is non-empty, it must + * refer to an unique index. + */ + index: string; + /** + * values are the values of the fields corresponding to the requested index. + * There must be as many values provided as there are fields in the index and + * these values must correspond to the index field types. + */ + values: IndexValue[]; +} +/** GetResponse is the Query/Get response type. */ +export interface GetResponse { + /** + * result is the result of the get query. If no value is found, the gRPC + * status code NOT_FOUND will be returned. + */ + result?: Any; +} +/** ListRequest is the Query/List request type. */ +export interface ListRequest { + /** message_name is the fully-qualified message name of the ORM table being queried. */ + messageName: string; + /** + * index is the index fields expression used in orm definitions. If it + * is empty, the table's primary key is assumed. + */ + index: string; + /** prefix defines a prefix query. */ + prefix?: ListRequest_Prefix; + /** range defines a range query. */ + range?: ListRequest_Range; + /** pagination is the pagination request. */ + pagination?: PageRequest; +} +/** Prefix specifies the arguments to a prefix query. */ +export interface ListRequest_Prefix { + /** + * values specifies the index values for the prefix query. + * It is valid to special a partial prefix with fewer values than + * the number of fields in the index. + */ + values: IndexValue[]; +} +/** Range specifies the arguments to a range query. */ +export interface ListRequest_Range { + /** + * start specifies the starting index values for the range query. + * It is valid to provide fewer values than the number of fields in the + * index. + */ + start: IndexValue[]; + /** + * end specifies the inclusive ending index values for the range query. + * It is valid to provide fewer values than the number of fields in the + * index. + */ + end: IndexValue[]; +} +/** ListResponse is the Query/List response type. */ +export interface ListResponse { + /** results are the results of the query. */ + results: Any[]; + /** pagination is the pagination response. */ + pagination?: PageResponse; +} +/** IndexValue represents the value of a field in an ORM index expression. */ +export interface IndexValue { + /** + * uint specifies a value for an uint32, fixed32, uint64, or fixed64 + * index field. + */ + uint?: Long; + /** + * int64 specifies a value for an int32, sfixed32, int64, or sfixed64 + * index field. + */ + int?: Long; + /** str specifies a value for a string index field. */ + str?: string; + /** bytes specifies a value for a bytes index field. */ + bytes?: Uint8Array; + /** enum specifies a value for an enum index field. */ + enum?: string; + /** bool specifies a value for a bool index field. */ + bool?: boolean; + /** timestamp specifies a value for a timestamp index field. */ + timestamp?: Timestamp; + /** duration specifies a value for a duration index field. */ + duration?: Duration; +} +export declare const GetRequest: { + encode(message: GetRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GetRequest; + fromJSON(object: any): GetRequest; + toJSON(message: GetRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): GetRequest; +}; +export declare const GetResponse: { + encode(message: GetResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GetResponse; + fromJSON(object: any): GetResponse; + toJSON(message: GetResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): GetResponse; +}; +export declare const ListRequest: { + encode(message: ListRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ListRequest; + fromJSON(object: any): ListRequest; + toJSON(message: ListRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + range?: ({ + start?: { + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] | undefined; + end?: { + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] | undefined; + } & { + start?: ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + uint?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + end?: ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + uint?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + pagination?: ({ + key?: Uint8Array | undefined; + offset?: string | number | Long.Long | undefined; + limit?: string | number | Long.Long | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & { + key?: Uint8Array | undefined; + offset?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ListRequest; +}; +export declare const ListRequest_Prefix: { + encode(message: ListRequest_Prefix, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ListRequest_Prefix; + fromJSON(object: any): ListRequest_Prefix; + toJSON(message: ListRequest_Prefix): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ListRequest_Prefix; +}; +export declare const ListRequest_Range: { + encode(message: ListRequest_Range, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ListRequest_Range; + fromJSON(object: any): ListRequest_Range; + toJSON(message: ListRequest_Range): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + end?: ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + }[] & ({ + uint?: string | number | Long.Long | undefined; + int?: string | number | Long.Long | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + duration?: { + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } | undefined; + } & { + uint?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ListRequest_Range; +}; +export declare const ListResponse: { + encode(message: ListResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ListResponse; + fromJSON(object: any): ListResponse; + toJSON(message: ListResponse): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + pagination?: ({ + nextKey?: Uint8Array | undefined; + total?: string | number | Long.Long | undefined; + } & { + nextKey?: Uint8Array | undefined; + total?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ListResponse; +}; +export declare const IndexValue: { + encode(message: IndexValue, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): IndexValue; + fromJSON(object: any): IndexValue; + toJSON(message: IndexValue): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + int?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + str?: string | undefined; + bytes?: Uint8Array | undefined; + enum?: string | undefined; + bool?: boolean | undefined; + timestamp?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + duration?: ({ + seconds?: string | number | Long.Long | undefined; + nanos?: number | undefined; + } & { + seconds?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): IndexValue; +}; +/** Query is a generic gRPC service for querying ORM data. */ +export interface Query { + /** Get queries an ORM table against an unique index. */ + Get(request: GetRequest): Promise; + /** List queries an ORM table against an index. */ + List(request: ListRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Get(request: GetRequest): Promise; + List(request: ListRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js new file mode 100644 index 00000000..182ab85f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js @@ -0,0 +1,569 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.IndexValue = exports.ListResponse = exports.ListRequest_Range = exports.ListRequest_Prefix = exports.ListRequest = exports.GetResponse = exports.GetRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const pagination_1 = require("../../../base/query/v1beta1/pagination"); +const any_1 = require("../../../../google/protobuf/any"); +const timestamp_1 = require("../../../../google/protobuf/timestamp"); +const duration_1 = require("../../../../google/protobuf/duration"); +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.orm.query.v1alpha1"; +function createBaseGetRequest() { + return { + messageName: "", + index: "", + values: [], + }; +} +exports.GetRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.messageName !== "") { + writer.uint32(10).string(message.messageName); + } + if (message.index !== "") { + writer.uint32(18).string(message.index); + } + for (const v of message.values) { + exports.IndexValue.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messageName = reader.string(); + break; + case 2: + message.index = reader.string(); + break; + case 3: + message.values.push(exports.IndexValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + messageName: (0, helpers_1.isSet)(object.messageName) ? String(object.messageName) : "", + index: (0, helpers_1.isSet)(object.index) ? String(object.index) : "", + values: Array.isArray(object?.values) ? object.values.map((e) => exports.IndexValue.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.messageName !== undefined && (obj.messageName = message.messageName); + message.index !== undefined && (obj.index = message.index); + if (message.values) { + obj.values = message.values.map((e) => (e ? exports.IndexValue.toJSON(e) : undefined)); + } + else { + obj.values = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseGetRequest(); + message.messageName = object.messageName ?? ""; + message.index = object.index ?? ""; + message.values = object.values?.map((e) => exports.IndexValue.fromPartial(e)) || []; + return message; + }, +}; +function createBaseGetResponse() { + return { + result: undefined, + }; +} +exports.GetResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.result !== undefined) { + any_1.Any.encode(message.result, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + result: (0, helpers_1.isSet)(object.result) ? any_1.Any.fromJSON(object.result) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.result !== undefined && (obj.result = message.result ? any_1.Any.toJSON(message.result) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseGetResponse(); + message.result = + object.result !== undefined && object.result !== null ? any_1.Any.fromPartial(object.result) : undefined; + return message; + }, +}; +function createBaseListRequest() { + return { + messageName: "", + index: "", + prefix: undefined, + range: undefined, + pagination: undefined, + }; +} +exports.ListRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.messageName !== "") { + writer.uint32(10).string(message.messageName); + } + if (message.index !== "") { + writer.uint32(18).string(message.index); + } + if (message.prefix !== undefined) { + exports.ListRequest_Prefix.encode(message.prefix, writer.uint32(26).fork()).ldelim(); + } + if (message.range !== undefined) { + exports.ListRequest_Range.encode(message.range, writer.uint32(34).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messageName = reader.string(); + break; + case 2: + message.index = reader.string(); + break; + case 3: + message.prefix = exports.ListRequest_Prefix.decode(reader, reader.uint32()); + break; + case 4: + message.range = exports.ListRequest_Range.decode(reader, reader.uint32()); + break; + case 5: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + messageName: (0, helpers_1.isSet)(object.messageName) ? String(object.messageName) : "", + index: (0, helpers_1.isSet)(object.index) ? String(object.index) : "", + prefix: (0, helpers_1.isSet)(object.prefix) ? exports.ListRequest_Prefix.fromJSON(object.prefix) : undefined, + range: (0, helpers_1.isSet)(object.range) ? exports.ListRequest_Range.fromJSON(object.range) : undefined, + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.messageName !== undefined && (obj.messageName = message.messageName); + message.index !== undefined && (obj.index = message.index); + message.prefix !== undefined && + (obj.prefix = message.prefix ? exports.ListRequest_Prefix.toJSON(message.prefix) : undefined); + message.range !== undefined && + (obj.range = message.range ? exports.ListRequest_Range.toJSON(message.range) : undefined); + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseListRequest(); + message.messageName = object.messageName ?? ""; + message.index = object.index ?? ""; + message.prefix = + object.prefix !== undefined && object.prefix !== null + ? exports.ListRequest_Prefix.fromPartial(object.prefix) + : undefined; + message.range = + object.range !== undefined && object.range !== null + ? exports.ListRequest_Range.fromPartial(object.range) + : undefined; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseListRequest_Prefix() { + return { + values: [], + }; +} +exports.ListRequest_Prefix = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.values) { + exports.IndexValue.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListRequest_Prefix(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.values.push(exports.IndexValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + values: Array.isArray(object?.values) ? object.values.map((e) => exports.IndexValue.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.values) { + obj.values = message.values.map((e) => (e ? exports.IndexValue.toJSON(e) : undefined)); + } + else { + obj.values = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseListRequest_Prefix(); + message.values = object.values?.map((e) => exports.IndexValue.fromPartial(e)) || []; + return message; + }, +}; +function createBaseListRequest_Range() { + return { + start: [], + end: [], + }; +} +exports.ListRequest_Range = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.start) { + exports.IndexValue.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.end) { + exports.IndexValue.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListRequest_Range(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start.push(exports.IndexValue.decode(reader, reader.uint32())); + break; + case 2: + message.end.push(exports.IndexValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + start: Array.isArray(object?.start) ? object.start.map((e) => exports.IndexValue.fromJSON(e)) : [], + end: Array.isArray(object?.end) ? object.end.map((e) => exports.IndexValue.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.start) { + obj.start = message.start.map((e) => (e ? exports.IndexValue.toJSON(e) : undefined)); + } + else { + obj.start = []; + } + if (message.end) { + obj.end = message.end.map((e) => (e ? exports.IndexValue.toJSON(e) : undefined)); + } + else { + obj.end = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseListRequest_Range(); + message.start = object.start?.map((e) => exports.IndexValue.fromPartial(e)) || []; + message.end = object.end?.map((e) => exports.IndexValue.fromPartial(e)) || []; + return message; + }, +}; +function createBaseListResponse() { + return { + results: [], + pagination: undefined, + }; +} +exports.ListResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.results) { + any_1.Any.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + pagination_1.PageResponse.encode(message.pagination, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseListResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.results.push(any_1.Any.decode(reader, reader.uint32())); + break; + case 5: + message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + results: Array.isArray(object?.results) ? object.results.map((e) => any_1.Any.fromJSON(e)) : [], + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.results) { + obj.results = message.results.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.results = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseListResponse(); + message.results = object.results?.map((e) => any_1.Any.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; +function createBaseIndexValue() { + return { + uint: undefined, + int: undefined, + str: undefined, + bytes: undefined, + enum: undefined, + bool: undefined, + timestamp: undefined, + duration: undefined, + }; +} +exports.IndexValue = { + encode(message, writer = _m0.Writer.create()) { + if (message.uint !== undefined) { + writer.uint32(8).uint64(message.uint); + } + if (message.int !== undefined) { + writer.uint32(16).int64(message.int); + } + if (message.str !== undefined) { + writer.uint32(26).string(message.str); + } + if (message.bytes !== undefined) { + writer.uint32(34).bytes(message.bytes); + } + if (message.enum !== undefined) { + writer.uint32(42).string(message.enum); + } + if (message.bool !== undefined) { + writer.uint32(48).bool(message.bool); + } + if (message.timestamp !== undefined) { + timestamp_1.Timestamp.encode(message.timestamp, writer.uint32(58).fork()).ldelim(); + } + if (message.duration !== undefined) { + duration_1.Duration.encode(message.duration, writer.uint32(66).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIndexValue(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uint = reader.uint64(); + break; + case 2: + message.int = reader.int64(); + break; + case 3: + message.str = reader.string(); + break; + case 4: + message.bytes = reader.bytes(); + break; + case 5: + message.enum = reader.string(); + break; + case 6: + message.bool = reader.bool(); + break; + case 7: + message.timestamp = timestamp_1.Timestamp.decode(reader, reader.uint32()); + break; + case 8: + message.duration = duration_1.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + uint: (0, helpers_1.isSet)(object.uint) ? helpers_1.Long.fromValue(object.uint) : undefined, + int: (0, helpers_1.isSet)(object.int) ? helpers_1.Long.fromValue(object.int) : undefined, + str: (0, helpers_1.isSet)(object.str) ? String(object.str) : undefined, + bytes: (0, helpers_1.isSet)(object.bytes) ? (0, helpers_1.bytesFromBase64)(object.bytes) : undefined, + enum: (0, helpers_1.isSet)(object.enum) ? String(object.enum) : undefined, + bool: (0, helpers_1.isSet)(object.bool) ? Boolean(object.bool) : undefined, + timestamp: (0, helpers_1.isSet)(object.timestamp) ? (0, helpers_1.fromJsonTimestamp)(object.timestamp) : undefined, + duration: (0, helpers_1.isSet)(object.duration) ? duration_1.Duration.fromJSON(object.duration) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.uint !== undefined && (obj.uint = (message.uint || undefined).toString()); + message.int !== undefined && (obj.int = (message.int || undefined).toString()); + message.str !== undefined && (obj.str = message.str); + message.bytes !== undefined && + (obj.bytes = message.bytes !== undefined ? (0, helpers_1.base64FromBytes)(message.bytes) : undefined); + message.enum !== undefined && (obj.enum = message.enum); + message.bool !== undefined && (obj.bool = message.bool); + message.timestamp !== undefined && (obj.timestamp = (0, helpers_1.fromTimestamp)(message.timestamp).toISOString()); + message.duration !== undefined && + (obj.duration = message.duration ? duration_1.Duration.toJSON(message.duration) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseIndexValue(); + message.uint = + object.uint !== undefined && object.uint !== null ? helpers_1.Long.fromValue(object.uint) : undefined; + message.int = object.int !== undefined && object.int !== null ? helpers_1.Long.fromValue(object.int) : undefined; + message.str = object.str ?? undefined; + message.bytes = object.bytes ?? undefined; + message.enum = object.enum ?? undefined; + message.bool = object.bool ?? undefined; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? timestamp_1.Timestamp.fromPartial(object.timestamp) + : undefined; + message.duration = + object.duration !== undefined && object.duration !== null + ? duration_1.Duration.fromPartial(object.duration) + : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Get = this.Get.bind(this); + this.List = this.List.bind(this); + } + Get(request) { + const data = exports.GetRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.orm.query.v1alpha1.Query", "Get", data); + return promise.then((data) => exports.GetResponse.decode(new _m0.Reader(data))); + } + List(request) { + const data = exports.ListRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.orm.query.v1alpha1.Query", "List", data); + return promise.then((data) => exports.ListResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js.map new file mode 100644 index 00000000..180da05f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/query/v1alpha1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/cosmos/orm/query/v1alpha1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.d.ts new file mode 100644 index 00000000..e916252b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.d.ts @@ -0,0 +1,172 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.orm.v1"; +/** TableDescriptor describes an ORM table. */ +export interface TableDescriptor { + /** primary_key defines the primary key for the table. */ + primaryKey?: PrimaryKeyDescriptor; + /** index defines one or more secondary indexes. */ + index: SecondaryIndexDescriptor[]; + /** + * id is a non-zero integer ID that must be unique within the + * tables and singletons in this file. It may be deprecated in the future when this + * can be auto-generated. + */ + id: number; +} +/** PrimaryKeyDescriptor describes a table primary key. */ +export interface PrimaryKeyDescriptor { + /** + * fields is a comma-separated list of fields in the primary key. Spaces are + * not allowed. Supported field types, their encodings, and any applicable constraints + * are described below. + * - uint32 are encoded as 2,3,4 or 5 bytes using a compact encoding that + * is suitable for sorted iteration (not varint encoding). This type is + * well-suited for small integers. + * - uint64 are encoded as 2,4,6 or 9 bytes using a compact encoding that + * is suitable for sorted iteration (not varint encoding). This type is + * well-suited for small integers such as auto-incrementing sequences. + * - fixed32, fixed64 are encoded as big-endian fixed width bytes and support + * sorted iteration. These types are well-suited for encoding fixed with + * decimals as integers. + * - string's are encoded as raw bytes in terminal key segments and null-terminated + * in non-terminal segments. Null characters are thus forbidden in strings. + * string fields support sorted iteration. + * - bytes are encoded as raw bytes in terminal segments and length-prefixed + * with a 32-bit unsigned varint in non-terminal segments. + * - int32, sint32, int64, sint64, sfixed32, sfixed64 are encoded as fixed width bytes with + * an encoding that enables sorted iteration. + * - google.protobuf.Timestamp and google.protobuf.Duration are encoded + * as 12 bytes using an encoding that enables sorted iteration. + * - enum fields are encoded using varint encoding and do not support sorted + * iteration. + * - bool fields are encoded as a single byte 0 or 1. + * + * All other fields types are unsupported in keys including repeated and + * oneof fields. + * + * Primary keys are prefixed by the varint encoded table id and the byte 0x0 + * plus any additional prefix specified by the schema. + */ + fields: string; + /** + * auto_increment specifies that the primary key is generated by an + * auto-incrementing integer. If this is set to true fields must only + * contain one field of that is of type uint64. + */ + autoIncrement: boolean; +} +/** PrimaryKeyDescriptor describes a table secondary index. */ +export interface SecondaryIndexDescriptor { + /** + * fields is a comma-separated list of fields in the index. The supported + * field types are the same as those for PrimaryKeyDescriptor.fields. + * Index keys are prefixed by the varint encoded table id and the varint + * encoded index id plus any additional prefix specified by the schema. + * + * In addition the field segments, non-unique index keys are suffixed with + * any additional primary key fields not present in the index fields so that the + * primary key can be reconstructed. Unique indexes instead of being suffixed + * store the remaining primary key fields in the value.. + */ + fields: string; + /** + * id is a non-zero integer ID that must be unique within the indexes for this + * table and less than 32768. It may be deprecated in the future when this can + * be auto-generated. + */ + id: number; + /** unique specifies that this an unique index. */ + unique: boolean; +} +/** TableDescriptor describes an ORM singleton table which has at most one instance. */ +export interface SingletonDescriptor { + /** + * id is a non-zero integer ID that must be unique within the + * tables and singletons in this file. It may be deprecated in the future when this + * can be auto-generated. + */ + id: number; +} +export declare const TableDescriptor: { + encode(message: TableDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TableDescriptor; + fromJSON(object: any): TableDescriptor; + toJSON(message: TableDescriptor): unknown; + fromPartial, never>) | undefined; + index?: ({ + fields?: string | undefined; + id?: number | undefined; + unique?: boolean | undefined; + }[] & ({ + fields?: string | undefined; + id?: number | undefined; + unique?: boolean | undefined; + } & { + fields?: string | undefined; + id?: number | undefined; + unique?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + id?: number | undefined; + } & Record, never>>(object: I): TableDescriptor; +}; +export declare const PrimaryKeyDescriptor: { + encode(message: PrimaryKeyDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): PrimaryKeyDescriptor; + fromJSON(object: any): PrimaryKeyDescriptor; + toJSON(message: PrimaryKeyDescriptor): unknown; + fromPartial, never>>(object: I): PrimaryKeyDescriptor; +}; +export declare const SecondaryIndexDescriptor: { + encode(message: SecondaryIndexDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): SecondaryIndexDescriptor; + fromJSON(object: any): SecondaryIndexDescriptor; + toJSON(message: SecondaryIndexDescriptor): unknown; + fromPartial, never>>(object: I): SecondaryIndexDescriptor; +}; +export declare const SingletonDescriptor: { + encode(message: SingletonDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): SingletonDescriptor; + fromJSON(object: any): SingletonDescriptor; + toJSON(message: SingletonDescriptor): unknown; + fromPartial, never>>(object: I): SingletonDescriptor; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js new file mode 100644 index 00000000..936d8938 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js @@ -0,0 +1,272 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SingletonDescriptor = exports.SecondaryIndexDescriptor = exports.PrimaryKeyDescriptor = exports.TableDescriptor = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.orm.v1"; +function createBaseTableDescriptor() { + return { + primaryKey: undefined, + index: [], + id: 0, + }; +} +exports.TableDescriptor = { + encode(message, writer = _m0.Writer.create()) { + if (message.primaryKey !== undefined) { + exports.PrimaryKeyDescriptor.encode(message.primaryKey, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.index) { + exports.SecondaryIndexDescriptor.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.id !== 0) { + writer.uint32(24).uint32(message.id); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTableDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.primaryKey = exports.PrimaryKeyDescriptor.decode(reader, reader.uint32()); + break; + case 2: + message.index.push(exports.SecondaryIndexDescriptor.decode(reader, reader.uint32())); + break; + case 3: + message.id = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + primaryKey: (0, helpers_1.isSet)(object.primaryKey) ? exports.PrimaryKeyDescriptor.fromJSON(object.primaryKey) : undefined, + index: Array.isArray(object?.index) + ? object.index.map((e) => exports.SecondaryIndexDescriptor.fromJSON(e)) + : [], + id: (0, helpers_1.isSet)(object.id) ? Number(object.id) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.primaryKey !== undefined && + (obj.primaryKey = message.primaryKey ? exports.PrimaryKeyDescriptor.toJSON(message.primaryKey) : undefined); + if (message.index) { + obj.index = message.index.map((e) => (e ? exports.SecondaryIndexDescriptor.toJSON(e) : undefined)); + } + else { + obj.index = []; + } + message.id !== undefined && (obj.id = Math.round(message.id)); + return obj; + }, + fromPartial(object) { + const message = createBaseTableDescriptor(); + message.primaryKey = + object.primaryKey !== undefined && object.primaryKey !== null + ? exports.PrimaryKeyDescriptor.fromPartial(object.primaryKey) + : undefined; + message.index = object.index?.map((e) => exports.SecondaryIndexDescriptor.fromPartial(e)) || []; + message.id = object.id ?? 0; + return message; + }, +}; +function createBasePrimaryKeyDescriptor() { + return { + fields: "", + autoIncrement: false, + }; +} +exports.PrimaryKeyDescriptor = { + encode(message, writer = _m0.Writer.create()) { + if (message.fields !== "") { + writer.uint32(10).string(message.fields); + } + if (message.autoIncrement === true) { + writer.uint32(16).bool(message.autoIncrement); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrimaryKeyDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fields = reader.string(); + break; + case 2: + message.autoIncrement = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + fields: (0, helpers_1.isSet)(object.fields) ? String(object.fields) : "", + autoIncrement: (0, helpers_1.isSet)(object.autoIncrement) ? Boolean(object.autoIncrement) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.fields !== undefined && (obj.fields = message.fields); + message.autoIncrement !== undefined && (obj.autoIncrement = message.autoIncrement); + return obj; + }, + fromPartial(object) { + const message = createBasePrimaryKeyDescriptor(); + message.fields = object.fields ?? ""; + message.autoIncrement = object.autoIncrement ?? false; + return message; + }, +}; +function createBaseSecondaryIndexDescriptor() { + return { + fields: "", + id: 0, + unique: false, + }; +} +exports.SecondaryIndexDescriptor = { + encode(message, writer = _m0.Writer.create()) { + if (message.fields !== "") { + writer.uint32(10).string(message.fields); + } + if (message.id !== 0) { + writer.uint32(16).uint32(message.id); + } + if (message.unique === true) { + writer.uint32(24).bool(message.unique); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSecondaryIndexDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fields = reader.string(); + break; + case 2: + message.id = reader.uint32(); + break; + case 3: + message.unique = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + fields: (0, helpers_1.isSet)(object.fields) ? String(object.fields) : "", + id: (0, helpers_1.isSet)(object.id) ? Number(object.id) : 0, + unique: (0, helpers_1.isSet)(object.unique) ? Boolean(object.unique) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.fields !== undefined && (obj.fields = message.fields); + message.id !== undefined && (obj.id = Math.round(message.id)); + message.unique !== undefined && (obj.unique = message.unique); + return obj; + }, + fromPartial(object) { + const message = createBaseSecondaryIndexDescriptor(); + message.fields = object.fields ?? ""; + message.id = object.id ?? 0; + message.unique = object.unique ?? false; + return message; + }, +}; +function createBaseSingletonDescriptor() { + return { + id: 0, + }; +} +exports.SingletonDescriptor = { + encode(message, writer = _m0.Writer.create()) { + if (message.id !== 0) { + writer.uint32(8).uint32(message.id); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSingletonDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? Number(object.id) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = Math.round(message.id)); + return obj; + }, + fromPartial(object) { + const message = createBaseSingletonDescriptor(); + message.id = object.id ?? 0; + return message; + }, +}; +//# sourceMappingURL=orm.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js.map b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js.map new file mode 100644 index 00000000..8034d45d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1/orm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"orm.js","sourceRoot":"","sources":["../../../../src/cosmos/orm/v1/orm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,8CAA6D;AAChD,QAAA,eAAe,GAAG,eAAe,CAAC;AAwF/C,SAAS,yBAAyB;IAChC,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,EAAE;QACT,EAAE,EAAE,CAAC;KACN,CAAC;AACJ,CAAC;AACY,QAAA,eAAe,GAAG;IAC7B,MAAM,CAAC,OAAwB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACvE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,4BAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACpF;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;YAC7B,gCAAwB,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACxE;QACD,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,4BAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4BAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACnG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;gBACjC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gCAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC,CAAC,EAAE;YACN,EAAE,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAwB;QAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,4BAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtG,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SAC5F;aAAM;YACL,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAmD,MAAS;QACrE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAC3D,CAAC,CAAC,4BAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;gBACrD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxF,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,8BAA8B;IACrC,OAAO;QACL,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AACY,QAAA,oBAAoB,GAAG;IAClC,MAAM,CAAC,OAA6B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,aAAa,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAA6B;QAClC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAwD,MAAS;QAC1E,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;QACjD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,kCAAkC;IACzC,OAAO;QACL,MAAM,EAAE,EAAE;QACV,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC;AACY,QAAA,wBAAwB,GAAG;IACtC,MAAM,CAAC,OAAiC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAChF,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACxC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,EAAE,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;SAC9D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAiC;QACtC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CACT,MAAS;QAET,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,6BAA6B;IACpC,OAAO;QACL,EAAE,EAAE,CAAC;KACN,CAAC;AACJ,CAAC;AACY,QAAA,mBAAmB,GAAG;IACjC,MAAM,CAAC,OAA4B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3E,IAAI,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,EAAE,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAA4B;QACjC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAuD,MAAS;QACzE,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.d.ts new file mode 100644 index 00000000..d70ee324 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.d.ts @@ -0,0 +1,124 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.orm.v1alpha1"; +/** StorageType */ +export declare enum StorageType { + /** + * STORAGE_TYPE_DEFAULT_UNSPECIFIED - STORAGE_TYPE_DEFAULT_UNSPECIFIED indicates the persistent + * KV-storage where primary key entries are stored in merkle-tree + * backed commitment storage and indexes and seqs are stored in + * fast index storage. Note that the Cosmos SDK before store/v2alpha1 + * does not support this. + */ + STORAGE_TYPE_DEFAULT_UNSPECIFIED = 0, + /** + * STORAGE_TYPE_MEMORY - STORAGE_TYPE_MEMORY indicates in-memory storage that will be + * reloaded every time an app restarts. Tables with this type of storage + * will by default be ignored when importing and exporting a module's + * state from JSON. + */ + STORAGE_TYPE_MEMORY = 1, + /** + * STORAGE_TYPE_TRANSIENT - STORAGE_TYPE_TRANSIENT indicates transient storage that is reset + * at the end of every block. Tables with this type of storage + * will by default be ignored when importing and exporting a module's + * state from JSON. + */ + STORAGE_TYPE_TRANSIENT = 2, + /** + * STORAGE_TYPE_INDEX - STORAGE_TYPE_INDEX indicates persistent storage which is not backed + * by a merkle-tree and won't affect the app hash. Note that the Cosmos SDK + * before store/v2alpha1 does not support this. + */ + STORAGE_TYPE_INDEX = 3, + /** + * STORAGE_TYPE_COMMITMENT - STORAGE_TYPE_INDEX indicates persistent storage which is backed by + * a merkle-tree. With this type of storage, both primary and index keys + * will affect the app hash and this is generally less efficient + * than using STORAGE_TYPE_DEFAULT_UNSPECIFIED which separates index + * keys into index storage. Note that modules built with the + * Cosmos SDK before store/v2alpha1 must specify STORAGE_TYPE_COMMITMENT + * instead of STORAGE_TYPE_DEFAULT_UNSPECIFIED or STORAGE_TYPE_INDEX + * because this is the only type of persistent storage available. + */ + STORAGE_TYPE_COMMITMENT = 4, + UNRECOGNIZED = -1 +} +export declare function storageTypeFromJSON(object: any): StorageType; +export declare function storageTypeToJSON(object: StorageType): string; +/** ModuleSchemaDescriptor describe's a module's ORM schema. */ +export interface ModuleSchemaDescriptor { + schemaFile: ModuleSchemaDescriptor_FileEntry[]; + /** + * prefix is an optional prefix that precedes all keys in this module's + * store. + */ + prefix: Uint8Array; +} +/** FileEntry describes an ORM file used in a module. */ +export interface ModuleSchemaDescriptor_FileEntry { + /** + * id is a prefix that will be varint encoded and prepended to all the + * table keys specified in the file's tables. + */ + id: number; + /** + * proto_file_name is the name of a file .proto in that contains + * table definitions. The .proto file must be in a package that the + * module has referenced using cosmos.app.v1.ModuleDescriptor.use_package. + */ + protoFileName: string; + /** + * storage_type optionally indicates the type of storage this file's + * tables should used. If it is left unspecified, the default KV-storage + * of the app will be used. + */ + storageType: StorageType; +} +export declare const ModuleSchemaDescriptor: { + encode(message: ModuleSchemaDescriptor, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleSchemaDescriptor; + fromJSON(object: any): ModuleSchemaDescriptor; + toJSON(message: ModuleSchemaDescriptor): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + prefix?: Uint8Array | undefined; + } & Record, never>>(object: I): ModuleSchemaDescriptor; +}; +export declare const ModuleSchemaDescriptor_FileEntry: { + encode(message: ModuleSchemaDescriptor_FileEntry, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleSchemaDescriptor_FileEntry; + fromJSON(object: any): ModuleSchemaDescriptor_FileEntry; + toJSON(message: ModuleSchemaDescriptor_FileEntry): unknown; + fromPartial, never>>(object: I): ModuleSchemaDescriptor_FileEntry; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js new file mode 100644 index 00000000..cb130da4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js @@ -0,0 +1,245 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ModuleSchemaDescriptor_FileEntry = exports.ModuleSchemaDescriptor = exports.storageTypeToJSON = exports.storageTypeFromJSON = exports.StorageType = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.orm.v1alpha1"; +/** StorageType */ +var StorageType; +(function (StorageType) { + /** + * STORAGE_TYPE_DEFAULT_UNSPECIFIED - STORAGE_TYPE_DEFAULT_UNSPECIFIED indicates the persistent + * KV-storage where primary key entries are stored in merkle-tree + * backed commitment storage and indexes and seqs are stored in + * fast index storage. Note that the Cosmos SDK before store/v2alpha1 + * does not support this. + */ + StorageType[StorageType["STORAGE_TYPE_DEFAULT_UNSPECIFIED"] = 0] = "STORAGE_TYPE_DEFAULT_UNSPECIFIED"; + /** + * STORAGE_TYPE_MEMORY - STORAGE_TYPE_MEMORY indicates in-memory storage that will be + * reloaded every time an app restarts. Tables with this type of storage + * will by default be ignored when importing and exporting a module's + * state from JSON. + */ + StorageType[StorageType["STORAGE_TYPE_MEMORY"] = 1] = "STORAGE_TYPE_MEMORY"; + /** + * STORAGE_TYPE_TRANSIENT - STORAGE_TYPE_TRANSIENT indicates transient storage that is reset + * at the end of every block. Tables with this type of storage + * will by default be ignored when importing and exporting a module's + * state from JSON. + */ + StorageType[StorageType["STORAGE_TYPE_TRANSIENT"] = 2] = "STORAGE_TYPE_TRANSIENT"; + /** + * STORAGE_TYPE_INDEX - STORAGE_TYPE_INDEX indicates persistent storage which is not backed + * by a merkle-tree and won't affect the app hash. Note that the Cosmos SDK + * before store/v2alpha1 does not support this. + */ + StorageType[StorageType["STORAGE_TYPE_INDEX"] = 3] = "STORAGE_TYPE_INDEX"; + /** + * STORAGE_TYPE_COMMITMENT - STORAGE_TYPE_INDEX indicates persistent storage which is backed by + * a merkle-tree. With this type of storage, both primary and index keys + * will affect the app hash and this is generally less efficient + * than using STORAGE_TYPE_DEFAULT_UNSPECIFIED which separates index + * keys into index storage. Note that modules built with the + * Cosmos SDK before store/v2alpha1 must specify STORAGE_TYPE_COMMITMENT + * instead of STORAGE_TYPE_DEFAULT_UNSPECIFIED or STORAGE_TYPE_INDEX + * because this is the only type of persistent storage available. + */ + StorageType[StorageType["STORAGE_TYPE_COMMITMENT"] = 4] = "STORAGE_TYPE_COMMITMENT"; + StorageType[StorageType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(StorageType = exports.StorageType || (exports.StorageType = {})); +function storageTypeFromJSON(object) { + switch (object) { + case 0: + case "STORAGE_TYPE_DEFAULT_UNSPECIFIED": + return StorageType.STORAGE_TYPE_DEFAULT_UNSPECIFIED; + case 1: + case "STORAGE_TYPE_MEMORY": + return StorageType.STORAGE_TYPE_MEMORY; + case 2: + case "STORAGE_TYPE_TRANSIENT": + return StorageType.STORAGE_TYPE_TRANSIENT; + case 3: + case "STORAGE_TYPE_INDEX": + return StorageType.STORAGE_TYPE_INDEX; + case 4: + case "STORAGE_TYPE_COMMITMENT": + return StorageType.STORAGE_TYPE_COMMITMENT; + case -1: + case "UNRECOGNIZED": + default: + return StorageType.UNRECOGNIZED; + } +} +exports.storageTypeFromJSON = storageTypeFromJSON; +function storageTypeToJSON(object) { + switch (object) { + case StorageType.STORAGE_TYPE_DEFAULT_UNSPECIFIED: + return "STORAGE_TYPE_DEFAULT_UNSPECIFIED"; + case StorageType.STORAGE_TYPE_MEMORY: + return "STORAGE_TYPE_MEMORY"; + case StorageType.STORAGE_TYPE_TRANSIENT: + return "STORAGE_TYPE_TRANSIENT"; + case StorageType.STORAGE_TYPE_INDEX: + return "STORAGE_TYPE_INDEX"; + case StorageType.STORAGE_TYPE_COMMITMENT: + return "STORAGE_TYPE_COMMITMENT"; + case StorageType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.storageTypeToJSON = storageTypeToJSON; +function createBaseModuleSchemaDescriptor() { + return { + schemaFile: [], + prefix: new Uint8Array(), + }; +} +exports.ModuleSchemaDescriptor = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.schemaFile) { + exports.ModuleSchemaDescriptor_FileEntry.encode(v, writer.uint32(10).fork()).ldelim(); + } + if (message.prefix.length !== 0) { + writer.uint32(18).bytes(message.prefix); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleSchemaDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.schemaFile.push(exports.ModuleSchemaDescriptor_FileEntry.decode(reader, reader.uint32())); + break; + case 2: + message.prefix = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + schemaFile: Array.isArray(object?.schemaFile) + ? object.schemaFile.map((e) => exports.ModuleSchemaDescriptor_FileEntry.fromJSON(e)) + : [], + prefix: (0, helpers_1.isSet)(object.prefix) ? (0, helpers_1.bytesFromBase64)(object.prefix) : new Uint8Array(), + }; + }, + toJSON(message) { + const obj = {}; + if (message.schemaFile) { + obj.schemaFile = message.schemaFile.map((e) => e ? exports.ModuleSchemaDescriptor_FileEntry.toJSON(e) : undefined); + } + else { + obj.schemaFile = []; + } + message.prefix !== undefined && + (obj.prefix = (0, helpers_1.base64FromBytes)(message.prefix !== undefined ? message.prefix : new Uint8Array())); + return obj; + }, + fromPartial(object) { + const message = createBaseModuleSchemaDescriptor(); + message.schemaFile = object.schemaFile?.map((e) => exports.ModuleSchemaDescriptor_FileEntry.fromPartial(e)) || []; + message.prefix = object.prefix ?? new Uint8Array(); + return message; + }, +}; +function createBaseModuleSchemaDescriptor_FileEntry() { + return { + id: 0, + protoFileName: "", + storageType: 0, + }; +} +exports.ModuleSchemaDescriptor_FileEntry = { + encode(message, writer = _m0.Writer.create()) { + if (message.id !== 0) { + writer.uint32(8).uint32(message.id); + } + if (message.protoFileName !== "") { + writer.uint32(18).string(message.protoFileName); + } + if (message.storageType !== 0) { + writer.uint32(24).int32(message.storageType); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleSchemaDescriptor_FileEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint32(); + break; + case 2: + message.protoFileName = reader.string(); + break; + case 3: + message.storageType = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + id: (0, helpers_1.isSet)(object.id) ? Number(object.id) : 0, + protoFileName: (0, helpers_1.isSet)(object.protoFileName) ? String(object.protoFileName) : "", + storageType: (0, helpers_1.isSet)(object.storageType) ? storageTypeFromJSON(object.storageType) : 0, + }; + }, + toJSON(message) { + const obj = {}; + message.id !== undefined && (obj.id = Math.round(message.id)); + message.protoFileName !== undefined && (obj.protoFileName = message.protoFileName); + message.storageType !== undefined && (obj.storageType = storageTypeToJSON(message.storageType)); + return obj; + }, + fromPartial(object) { + const message = createBaseModuleSchemaDescriptor_FileEntry(); + message.id = object.id ?? 0; + message.protoFileName = object.protoFileName ?? ""; + message.storageType = object.storageType ?? 0; + return message; + }, +}; +//# sourceMappingURL=schema.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js.map b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js.map new file mode 100644 index 00000000..a146b1d8 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/orm/v1alpha1/schema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/cosmos/orm/v1alpha1/schema.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.d.ts new file mode 100644 index 00000000..20b7ed3b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.params.module.v1"; +/** Module is the config object of the params module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js new file mode 100644 index 00000000..bcfc1ee9 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.params.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js.map new file mode 100644 index 00000000..4407162f --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/params/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/params/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,yBAAyB,CAAC;AAGzD,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js new file mode 100644 index 00000000..c57121b1 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js.map b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js.map new file mode 100644 index 00000000..50b324e5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/query/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/cosmos/query/v1/query.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.d.ts new file mode 100644 index 00000000..baa0539a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.d.ts @@ -0,0 +1,20280 @@ +import { FileDescriptorProto } from "../../../google/protobuf/descriptor"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.reflection.v1"; +/** FileDescriptorsRequest is the Query/FileDescriptors request type. */ +export interface FileDescriptorsRequest { +} +/** FileDescriptorsResponse is the Query/FileDescriptors response type. */ +export interface FileDescriptorsResponse { + /** files is the file descriptors. */ + files: FileDescriptorProto[]; +} +export declare const FileDescriptorsRequest: { + encode(_: FileDescriptorsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): FileDescriptorsRequest; + fromJSON(_: any): FileDescriptorsRequest; + toJSON(_: FileDescriptorsRequest): unknown; + fromPartial, never>>(_: I): FileDescriptorsRequest; +}; +export declare const FileDescriptorsResponse: { + encode(message: FileDescriptorsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): FileDescriptorsResponse; + fromJSON(object: any): FileDescriptorsResponse; + toJSON(message: FileDescriptorsResponse): unknown; + fromPartial, never>) | undefined; + publicDependency?: (number[] & number[] & Record, never>) | undefined; + weakDependency?: (number[] & number[] & Record, never>) | undefined; + messageType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + field?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + nestedType?: ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + field?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + extension?: { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + nestedType?: any[] | undefined; + enumType?: { + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] | undefined; + extensionRange?: { + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + oneofDecl?: { + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & any & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & any & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & any & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extensionRange?: ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + oneofDecl?: ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + options?: { + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + options?: ({ + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + messageSetWireFormat?: boolean | undefined; + noStandardDescriptorAccessor?: boolean | undefined; + deprecated?: boolean | undefined; + mapEntry?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + enumType?: ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + }[] & ({ + name?: string | undefined; + value?: { + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] | undefined; + options?: { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + reservedRange?: { + start?: number | undefined; + end?: number | undefined; + }[] | undefined; + reservedName?: string[] | undefined; + } & { + name?: string | undefined; + value?: ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + allowAlias?: boolean | undefined; + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + reservedRange?: ({ + start?: number | undefined; + end?: number | undefined; + }[] & ({ + start?: number | undefined; + end?: number | undefined; + } & { + start?: number | undefined; + end?: number | undefined; + } & Record, never>)[] & Record, never>) | undefined; + reservedName?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + service?: ({ + name?: string | undefined; + method?: { + name?: string | undefined; + inputType?: string | undefined; + outputType?: string | undefined; + options?: { + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + clientStreaming?: boolean | undefined; + serverStreaming?: boolean | undefined; + }[] | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + method?: { + name?: string | undefined; + inputType?: string | undefined; + outputType?: string | undefined; + options?: { + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + clientStreaming?: boolean | undefined; + serverStreaming?: boolean | undefined; + }[] | undefined; + options?: { + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + method?: ({ + name?: string | undefined; + inputType?: string | undefined; + outputType?: string | undefined; + options?: { + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + clientStreaming?: boolean | undefined; + serverStreaming?: boolean | undefined; + }[] & ({ + name?: string | undefined; + inputType?: string | undefined; + outputType?: string | undefined; + options?: { + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + clientStreaming?: boolean | undefined; + serverStreaming?: boolean | undefined; + } & { + name?: string | undefined; + inputType?: string | undefined; + outputType?: string | undefined; + options?: ({ + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + idempotencyLevel?: import("../../../google/protobuf/descriptor").MethodOptions_IdempotencyLevel | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + clientStreaming?: boolean | undefined; + serverStreaming?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + deprecated?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + deprecated?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + extension?: ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + }[] & ({ + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } | undefined; + } & { + name?: string | undefined; + number?: number | undefined; + label?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Label | undefined; + type?: import("../../../google/protobuf/descriptor").FieldDescriptorProto_Type | undefined; + typeName?: string | undefined; + extendee?: string | undefined; + defaultValue?: string | undefined; + oneofIndex?: number | undefined; + jsonName?: string | undefined; + options?: ({ + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + ctype?: import("../../../google/protobuf/descriptor").FieldOptions_CType | undefined; + packed?: boolean | undefined; + jstype?: import("../../../google/protobuf/descriptor").FieldOptions_JSType | undefined; + lazy?: boolean | undefined; + deprecated?: boolean | undefined; + weak?: boolean | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + options?: ({ + javaPackage?: string | undefined; + javaOuterClassname?: string | undefined; + javaMultipleFiles?: boolean | undefined; + javaGenerateEqualsAndHash?: boolean | undefined; + javaStringCheckUtf8?: boolean | undefined; + optimizeFor?: import("../../../google/protobuf/descriptor").FileOptions_OptimizeMode | undefined; + goPackage?: string | undefined; + ccGenericServices?: boolean | undefined; + javaGenericServices?: boolean | undefined; + pyGenericServices?: boolean | undefined; + phpGenericServices?: boolean | undefined; + deprecated?: boolean | undefined; + ccEnableArenas?: boolean | undefined; + objcClassPrefix?: string | undefined; + csharpNamespace?: string | undefined; + swiftPrefix?: string | undefined; + phpClassPrefix?: string | undefined; + phpNamespace?: string | undefined; + phpMetadataNamespace?: string | undefined; + rubyPackage?: string | undefined; + uninterpretedOption?: { + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] | undefined; + } & { + javaPackage?: string | undefined; + javaOuterClassname?: string | undefined; + javaMultipleFiles?: boolean | undefined; + javaGenerateEqualsAndHash?: boolean | undefined; + javaStringCheckUtf8?: boolean | undefined; + optimizeFor?: import("../../../google/protobuf/descriptor").FileOptions_OptimizeMode | undefined; + goPackage?: string | undefined; + ccGenericServices?: boolean | undefined; + javaGenericServices?: boolean | undefined; + pyGenericServices?: boolean | undefined; + phpGenericServices?: boolean | undefined; + deprecated?: boolean | undefined; + ccEnableArenas?: boolean | undefined; + objcClassPrefix?: string | undefined; + csharpNamespace?: string | undefined; + swiftPrefix?: string | undefined; + phpClassPrefix?: string | undefined; + phpNamespace?: string | undefined; + phpMetadataNamespace?: string | undefined; + rubyPackage?: string | undefined; + uninterpretedOption?: ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + }[] & ({ + name?: { + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | import("long").Long | undefined; + negativeIntValue?: string | number | import("long").Long | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & { + name?: ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + }[] & ({ + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & { + namePart?: string | undefined; + isExtension?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + identifierValue?: string | undefined; + positiveIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + negativeIntValue?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + doubleValue?: number | undefined; + stringValue?: Uint8Array | undefined; + aggregateValue?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + sourceCodeInfo?: ({ + location?: { + path?: number[] | undefined; + span?: number[] | undefined; + leadingComments?: string | undefined; + trailingComments?: string | undefined; + leadingDetachedComments?: string[] | undefined; + }[] | undefined; + } & { + location?: ({ + path?: number[] | undefined; + span?: number[] | undefined; + leadingComments?: string | undefined; + trailingComments?: string | undefined; + leadingDetachedComments?: string[] | undefined; + }[] & ({ + path?: number[] | undefined; + span?: number[] | undefined; + leadingComments?: string | undefined; + trailingComments?: string | undefined; + leadingDetachedComments?: string[] | undefined; + } & { + path?: (number[] & number[] & Record, never>) | undefined; + span?: (number[] & number[] & Record, never>) | undefined; + leadingComments?: string | undefined; + trailingComments?: string | undefined; + leadingDetachedComments?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + syntax?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): FileDescriptorsResponse; +}; +/** Package cosmos.reflection.v1 provides support for inspecting protobuf + file descriptors. */ +export interface ReflectionService { + /** + * FileDescriptors queries all the file descriptors in the app in order + * to enable easier generation of dynamic clients. + */ + FileDescriptors(request?: FileDescriptorsRequest): Promise; +} +export declare class ReflectionServiceClientImpl implements ReflectionService { + private readonly rpc; + constructor(rpc: Rpc); + FileDescriptors(request?: FileDescriptorsRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js new file mode 100644 index 00000000..57122faa --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js @@ -0,0 +1,128 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReflectionServiceClientImpl = exports.FileDescriptorsResponse = exports.FileDescriptorsRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const descriptor_1 = require("../../../google/protobuf/descriptor"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.reflection.v1"; +function createBaseFileDescriptorsRequest() { + return {}; +} +exports.FileDescriptorsRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseFileDescriptorsRequest(); + return message; + }, +}; +function createBaseFileDescriptorsResponse() { + return { + files: [], + }; +} +exports.FileDescriptorsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.files) { + descriptor_1.FileDescriptorProto.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFileDescriptorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.files.push(descriptor_1.FileDescriptorProto.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + files: Array.isArray(object?.files) + ? object.files.map((e) => descriptor_1.FileDescriptorProto.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.files) { + obj.files = message.files.map((e) => (e ? descriptor_1.FileDescriptorProto.toJSON(e) : undefined)); + } + else { + obj.files = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseFileDescriptorsResponse(); + message.files = object.files?.map((e) => descriptor_1.FileDescriptorProto.fromPartial(e)) || []; + return message; + }, +}; +class ReflectionServiceClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.FileDescriptors = this.FileDescriptors.bind(this); + } + FileDescriptors(request = {}) { + const data = exports.FileDescriptorsRequest.encode(request).finish(); + const promise = this.rpc.request("cosmos.reflection.v1.ReflectionService", "FileDescriptors", data); + return promise.then((data) => exports.FileDescriptorsResponse.decode(new _m0.Reader(data))); + } +} +exports.ReflectionServiceClientImpl = ReflectionServiceClientImpl; +//# sourceMappingURL=reflection.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js.map b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js.map new file mode 100644 index 00000000..789636ba --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/reflection/v1/reflection.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../../src/cosmos/reflection/v1/reflection.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.d.ts new file mode 100644 index 00000000..7f064fd4 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.d.ts @@ -0,0 +1,18 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.slashing.module.v1"; +/** Module is the config object of the slashing module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js new file mode 100644 index 00000000..de1c9b3c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.slashing.module.v1"; +function createBaseModule() { + return { + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js.map new file mode 100644 index 00000000..a4a5cc02 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/slashing/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/slashing/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,2BAA2B,CAAC;AAM3D,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.d.ts new file mode 100644 index 00000000..7aa81210 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.d.ts @@ -0,0 +1,26 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.staking.module.v1"; +/** Module is the config object of the staking module. */ +export interface Module { + /** + * hooks_order specifies the order of staking hooks and should be a list + * of module names which provide a staking hooks instance. If no order is + * provided, then hooks will be applied in alphabetical order of module names. + */ + hooksOrder: string[]; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>) | undefined; + authority?: string | undefined; + } & Record, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js new file mode 100644 index 00000000..b327dba0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js @@ -0,0 +1,91 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.staking.module.v1"; +function createBaseModule() { + return { + hooksOrder: [], + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.hooksOrder) { + writer.uint32(10).string(v); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hooksOrder.push(reader.string()); + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + hooksOrder: Array.isArray(object?.hooksOrder) ? object.hooksOrder.map((e) => String(e)) : [], + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + if (message.hooksOrder) { + obj.hooksOrder = message.hooksOrder.map((e) => e); + } + else { + obj.hooksOrder = []; + } + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.hooksOrder = object.hooksOrder?.map((e) => e) || []; + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js.map new file mode 100644 index 00000000..216528fd --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/staking/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/staking/module/v1/module.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.d.ts new file mode 100644 index 00000000..7b10564a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.d.ts @@ -0,0 +1,28 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.tx.config.v1"; +/** Config is the config object of the x/auth/tx package. */ +export interface Config { + /** + * skip_ante_handler defines whether the ante handler registration should be skipped in case an app wants to override + * this functionality. + */ + skipAnteHandler: boolean; + /** + * skip_post_handler defines whether the post handler registration should be skipped in case an app wants to override + * this functionality. + */ + skipPostHandler: boolean; +} +export declare const Config: { + encode(message: Config, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Config; + fromJSON(object: any): Config; + toJSON(message: Config): unknown; + fromPartial, never>>(object: I): Config; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js new file mode 100644 index 00000000..3c370885 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js @@ -0,0 +1,86 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Config = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.tx.config.v1"; +function createBaseConfig() { + return { + skipAnteHandler: false, + skipPostHandler: false, + }; +} +exports.Config = { + encode(message, writer = _m0.Writer.create()) { + if (message.skipAnteHandler === true) { + writer.uint32(8).bool(message.skipAnteHandler); + } + if (message.skipPostHandler === true) { + writer.uint32(16).bool(message.skipPostHandler); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.skipAnteHandler = reader.bool(); + break; + case 2: + message.skipPostHandler = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + skipAnteHandler: (0, helpers_1.isSet)(object.skipAnteHandler) ? Boolean(object.skipAnteHandler) : false, + skipPostHandler: (0, helpers_1.isSet)(object.skipPostHandler) ? Boolean(object.skipPostHandler) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.skipAnteHandler !== undefined && (obj.skipAnteHandler = message.skipAnteHandler); + message.skipPostHandler !== undefined && (obj.skipPostHandler = message.skipPostHandler); + return obj; + }, + fromPartial(object) { + const message = createBaseConfig(); + message.skipAnteHandler = object.skipAnteHandler ?? false; + message.skipPostHandler = object.skipPostHandler ?? false; + return message; + }, +}; +//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js.map b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js.map new file mode 100644 index 00000000..bff7e346 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/tx/config/v1/config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cosmos/tx/config/v1/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,qBAAqB,CAAC;AAcrD,SAAS,gBAAgB;IACvB,OAAO;QACL,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACjD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,eAAe,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK;YACxF,eAAe,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK;SACzF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC;QAC1D,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.d.ts new file mode 100644 index 00000000..c273c4a6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.d.ts @@ -0,0 +1,18 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.upgrade.module.v1"; +/** Module is the config object of the upgrade module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} +export declare const Module: { + encode(message: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(object: any): Module; + toJSON(message: Module): unknown; + fromPartial, never>>(object: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js new file mode 100644 index 00000000..5ab6fb92 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "cosmos.upgrade.module.v1"; +function createBaseModule() { + return { + authority: "", + }; +} +exports.Module = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js.map new file mode 100644 index 00000000..61f54196 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/upgrade/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,0BAA0B,CAAC;AAM1D,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.d.ts new file mode 100644 index 00000000..067aed93 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.d.ts @@ -0,0 +1,254 @@ +import { Plan } from "./upgrade"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../helpers"; +export declare const protobufPackage = "cosmos.upgrade.v1beta1"; +/** + * MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type. + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgSoftwareUpgrade { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** plan is the upgrade plan. */ + plan?: Plan; +} +/** + * MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type. + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgSoftwareUpgradeResponse { +} +/** + * MsgCancelUpgrade is the Msg/CancelUpgrade request type. + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUpgrade { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; +} +/** + * MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type. + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUpgradeResponse { +} +export declare const MsgSoftwareUpgrade: { + encode(message: MsgSoftwareUpgrade, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSoftwareUpgrade; + fromJSON(object: any): MsgSoftwareUpgrade; + toJSON(message: MsgSoftwareUpgrade): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + nanos?: number | undefined; + } & Record, never>) | undefined; + height?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + info?: string | undefined; + upgradedClientState?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgSoftwareUpgrade; +}; +export declare const MsgSoftwareUpgradeResponse: { + encode(_: MsgSoftwareUpgradeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSoftwareUpgradeResponse; + fromJSON(_: any): MsgSoftwareUpgradeResponse; + toJSON(_: MsgSoftwareUpgradeResponse): unknown; + fromPartial, never>>(_: I): MsgSoftwareUpgradeResponse; +}; +export declare const MsgCancelUpgrade: { + encode(message: MsgCancelUpgrade, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCancelUpgrade; + fromJSON(object: any): MsgCancelUpgrade; + toJSON(message: MsgCancelUpgrade): unknown; + fromPartial, never>>(object: I): MsgCancelUpgrade; +}; +export declare const MsgCancelUpgradeResponse: { + encode(_: MsgCancelUpgradeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgCancelUpgradeResponse; + fromJSON(_: any): MsgCancelUpgradeResponse; + toJSON(_: MsgCancelUpgradeResponse): unknown; + fromPartial, never>>(_: I): MsgCancelUpgradeResponse; +}; +/** Msg defines the upgrade Msg service. */ +export interface Msg { + /** + * SoftwareUpgrade is a governance operation for initiating a software upgrade. + * + * Since: cosmos-sdk 0.46 + */ + SoftwareUpgrade(request: MsgSoftwareUpgrade): Promise; + /** + * CancelUpgrade is a governance operation for cancelling a previously + * approved software upgrade. + * + * Since: cosmos-sdk 0.46 + */ + CancelUpgrade(request: MsgCancelUpgrade): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + SoftwareUpgrade(request: MsgSoftwareUpgrade): Promise; + CancelUpgrade(request: MsgCancelUpgrade): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js new file mode 100644 index 00000000..28ecde09 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js @@ -0,0 +1,217 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgCancelUpgradeResponse = exports.MsgCancelUpgrade = exports.MsgSoftwareUpgradeResponse = exports.MsgSoftwareUpgrade = exports.protobufPackage = void 0; +/* eslint-disable */ +const upgrade_1 = require("./upgrade"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../helpers"); +exports.protobufPackage = "cosmos.upgrade.v1beta1"; +function createBaseMsgSoftwareUpgrade() { + return { + authority: "", + plan: undefined, + }; +} +exports.MsgSoftwareUpgrade = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.plan !== undefined) { + upgrade_1.Plan.encode(message.plan, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSoftwareUpgrade(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.plan = upgrade_1.Plan.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + plan: (0, helpers_1.isSet)(object.plan) ? upgrade_1.Plan.fromJSON(object.plan) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.plan !== undefined && (obj.plan = message.plan ? upgrade_1.Plan.toJSON(message.plan) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSoftwareUpgrade(); + message.authority = object.authority ?? ""; + message.plan = + object.plan !== undefined && object.plan !== null ? upgrade_1.Plan.fromPartial(object.plan) : undefined; + return message; + }, +}; +function createBaseMsgSoftwareUpgradeResponse() { + return {}; +} +exports.MsgSoftwareUpgradeResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSoftwareUpgradeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgSoftwareUpgradeResponse(); + return message; + }, +}; +function createBaseMsgCancelUpgrade() { + return { + authority: "", + }; +} +exports.MsgCancelUpgrade = { + encode(message, writer = _m0.Writer.create()) { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelUpgrade(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + authority: (0, helpers_1.isSet)(object.authority) ? String(object.authority) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgCancelUpgrade(); + message.authority = object.authority ?? ""; + return message; + }, +}; +function createBaseMsgCancelUpgradeResponse() { + return {}; +} +exports.MsgCancelUpgradeResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelUpgradeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgCancelUpgradeResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.SoftwareUpgrade = this.SoftwareUpgrade.bind(this); + this.CancelUpgrade = this.CancelUpgrade.bind(this); + } + SoftwareUpgrade(request) { + const data = exports.MsgSoftwareUpgrade.encode(request).finish(); + const promise = this.rpc.request("cosmos.upgrade.v1beta1.Msg", "SoftwareUpgrade", data); + return promise.then((data) => exports.MsgSoftwareUpgradeResponse.decode(new _m0.Reader(data))); + } + CancelUpgrade(request) { + const data = exports.MsgCancelUpgrade.encode(request).finish(); + const promise = this.rpc.request("cosmos.upgrade.v1beta1.Msg", "CancelUpgrade", data); + return promise.then((data) => exports.MsgCancelUpgradeResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js.map b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js.map new file mode 100644 index 00000000..65a320ae --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/upgrade/v1beta1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../src/cosmos/upgrade/v1beta1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.d.ts b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.d.ts new file mode 100644 index 00000000..0e3ed12d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.d.ts @@ -0,0 +1,12 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmos.vesting.module.v1"; +/** Module is the config object of the vesting module. */ +export interface Module { +} +export declare const Module: { + encode(_: Module, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Module; + fromJSON(_: any): Module; + toJSON(_: Module): unknown; + fromPartial, never>>(_: I): Module; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js new file mode 100644 index 00000000..184f1376 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Module = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmos.vesting.module.v1"; +function createBaseModule() { + return {}; +} +exports.Module = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseModule(); + return message; + }, +}; +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js.map b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js.map new file mode 100644 index 00000000..c752f333 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmos/vesting/module/v1/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/cosmos/vesting/module/v1/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,0BAA0B,CAAC;AAG1D,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,CAAS,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,CAAS;QACd,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,CAAI;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.d.ts b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.d.ts new file mode 100644 index 00000000..7e3eddbb --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.d.ts @@ -0,0 +1,468 @@ +/// +import { Any } from "../../../google/protobuf/any"; +import { Coin } from "../../../cosmos/base/v1beta1/coin"; +import { Long } from "../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "cosmwasm.wasm.v1"; +/** + * ContractExecutionAuthorization defines authorization for wasm execute. + * Since: wasmd 0.30 + */ +export interface ContractExecutionAuthorization { + /** Grants for contract executions */ + grants: ContractGrant[]; +} +/** + * ContractMigrationAuthorization defines authorization for wasm contract + * migration. Since: wasmd 0.30 + */ +export interface ContractMigrationAuthorization { + /** Grants for contract migrations */ + grants: ContractGrant[]; +} +/** + * ContractGrant a granted permission for a single contract + * Since: wasmd 0.30 + */ +export interface ContractGrant { + /** Contract is the bech32 address of the smart contract */ + contract: string; + /** + * Limit defines execution limits that are enforced and updated when the grant + * is applied. When the limit lapsed the grant is removed. + */ + limit?: Any; + /** + * Filter define more fine-grained control on the message payload passed + * to the contract in the operation. When no filter applies on execution, the + * operation is prohibited. + */ + filter?: Any; +} +/** + * MaxCallsLimit limited number of calls to the contract. No funds transferable. + * Since: wasmd 0.30 + */ +export interface MaxCallsLimit { + /** Remaining number that is decremented on each execution */ + remaining: Long; +} +/** + * MaxFundsLimit defines the maximal amounts that can be sent to the contract. + * Since: wasmd 0.30 + */ +export interface MaxFundsLimit { + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} +/** + * CombinedLimit defines the maximal amounts that can be sent to a contract and + * the maximal number of calls executable. Both need to remain >0 to be valid. + * Since: wasmd 0.30 + */ +export interface CombinedLimit { + /** Remaining number that is decremented on each execution */ + callsRemaining: Long; + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} +/** + * AllowAllMessagesFilter is a wildcard to allow any type of contract payload + * message. + * Since: wasmd 0.30 + */ +export interface AllowAllMessagesFilter { +} +/** + * AcceptedMessageKeysFilter accept only the specific contract message keys in + * the json object to be executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessageKeysFilter { + /** Messages is the list of unique keys */ + keys: string[]; +} +/** + * AcceptedMessagesFilter accept only the specific raw contract messages to be + * executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessagesFilter { + /** Messages is the list of raw contract messages */ + messages: Uint8Array[]; +} +export declare const ContractExecutionAuthorization: { + encode(message: ContractExecutionAuthorization, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ContractExecutionAuthorization; + fromJSON(object: any): ContractExecutionAuthorization; + toJSON(message: ContractExecutionAuthorization): unknown; + fromPartial, never>) | undefined; + filter?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ContractExecutionAuthorization; +}; +export declare const ContractMigrationAuthorization: { + encode(message: ContractMigrationAuthorization, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ContractMigrationAuthorization; + fromJSON(object: any): ContractMigrationAuthorization; + toJSON(message: ContractMigrationAuthorization): unknown; + fromPartial, never>) | undefined; + filter?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): ContractMigrationAuthorization; +}; +export declare const ContractGrant: { + encode(message: ContractGrant, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ContractGrant; + fromJSON(object: any): ContractGrant; + toJSON(message: ContractGrant): unknown; + fromPartial, never>) | undefined; + filter?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ContractGrant; +}; +export declare const MaxCallsLimit: { + encode(message: MaxCallsLimit, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MaxCallsLimit; + fromJSON(object: any): MaxCallsLimit; + toJSON(message: MaxCallsLimit): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MaxCallsLimit; +}; +export declare const MaxFundsLimit: { + encode(message: MaxFundsLimit, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MaxFundsLimit; + fromJSON(object: any): MaxFundsLimit; + toJSON(message: MaxFundsLimit): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): MaxFundsLimit; +}; +export declare const CombinedLimit: { + encode(message: CombinedLimit, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CombinedLimit; + fromJSON(object: any): CombinedLimit; + toJSON(message: CombinedLimit): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + amounts?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): CombinedLimit; +}; +export declare const AllowAllMessagesFilter: { + encode(_: AllowAllMessagesFilter, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): AllowAllMessagesFilter; + fromJSON(_: any): AllowAllMessagesFilter; + toJSON(_: AllowAllMessagesFilter): unknown; + fromPartial, never>>(_: I): AllowAllMessagesFilter; +}; +export declare const AcceptedMessageKeysFilter: { + encode(message: AcceptedMessageKeysFilter, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): AcceptedMessageKeysFilter; + fromJSON(object: any): AcceptedMessageKeysFilter; + toJSON(message: AcceptedMessageKeysFilter): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): AcceptedMessageKeysFilter; +}; +export declare const AcceptedMessagesFilter: { + encode(message: AcceptedMessagesFilter, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): AcceptedMessagesFilter; + fromJSON(object: any): AcceptedMessagesFilter; + toJSON(message: AcceptedMessagesFilter): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): AcceptedMessagesFilter; +}; diff --git a/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js new file mode 100644 index 00000000..81c69910 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js @@ -0,0 +1,495 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AcceptedMessagesFilter = exports.AcceptedMessageKeysFilter = exports.AllowAllMessagesFilter = exports.CombinedLimit = exports.MaxFundsLimit = exports.MaxCallsLimit = exports.ContractGrant = exports.ContractMigrationAuthorization = exports.ContractExecutionAuthorization = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../google/protobuf/any"); +const coin_1 = require("../../../cosmos/base/v1beta1/coin"); +const helpers_1 = require("../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "cosmwasm.wasm.v1"; +function createBaseContractExecutionAuthorization() { + return { + grants: [], + }; +} +exports.ContractExecutionAuthorization = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.grants) { + exports.ContractGrant.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractExecutionAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grants.push(exports.ContractGrant.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + grants: Array.isArray(object?.grants) ? object.grants.map((e) => exports.ContractGrant.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? exports.ContractGrant.toJSON(e) : undefined)); + } + else { + obj.grants = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseContractExecutionAuthorization(); + message.grants = object.grants?.map((e) => exports.ContractGrant.fromPartial(e)) || []; + return message; + }, +}; +function createBaseContractMigrationAuthorization() { + return { + grants: [], + }; +} +exports.ContractMigrationAuthorization = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.grants) { + exports.ContractGrant.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractMigrationAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grants.push(exports.ContractGrant.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + grants: Array.isArray(object?.grants) ? object.grants.map((e) => exports.ContractGrant.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? exports.ContractGrant.toJSON(e) : undefined)); + } + else { + obj.grants = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseContractMigrationAuthorization(); + message.grants = object.grants?.map((e) => exports.ContractGrant.fromPartial(e)) || []; + return message; + }, +}; +function createBaseContractGrant() { + return { + contract: "", + limit: undefined, + filter: undefined, + }; +} +exports.ContractGrant = { + encode(message, writer = _m0.Writer.create()) { + if (message.contract !== "") { + writer.uint32(10).string(message.contract); + } + if (message.limit !== undefined) { + any_1.Any.encode(message.limit, writer.uint32(18).fork()).ldelim(); + } + if (message.filter !== undefined) { + any_1.Any.encode(message.filter, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contract = reader.string(); + break; + case 2: + message.limit = any_1.Any.decode(reader, reader.uint32()); + break; + case 3: + message.filter = any_1.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + contract: (0, helpers_1.isSet)(object.contract) ? String(object.contract) : "", + limit: (0, helpers_1.isSet)(object.limit) ? any_1.Any.fromJSON(object.limit) : undefined, + filter: (0, helpers_1.isSet)(object.filter) ? any_1.Any.fromJSON(object.filter) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.contract !== undefined && (obj.contract = message.contract); + message.limit !== undefined && (obj.limit = message.limit ? any_1.Any.toJSON(message.limit) : undefined); + message.filter !== undefined && (obj.filter = message.filter ? any_1.Any.toJSON(message.filter) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseContractGrant(); + message.contract = object.contract ?? ""; + message.limit = + object.limit !== undefined && object.limit !== null ? any_1.Any.fromPartial(object.limit) : undefined; + message.filter = + object.filter !== undefined && object.filter !== null ? any_1.Any.fromPartial(object.filter) : undefined; + return message; + }, +}; +function createBaseMaxCallsLimit() { + return { + remaining: helpers_1.Long.UZERO, + }; +} +exports.MaxCallsLimit = { + encode(message, writer = _m0.Writer.create()) { + if (!message.remaining.isZero()) { + writer.uint32(8).uint64(message.remaining); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxCallsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.remaining = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + remaining: (0, helpers_1.isSet)(object.remaining) ? helpers_1.Long.fromValue(object.remaining) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.remaining !== undefined && (obj.remaining = (message.remaining || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMaxCallsLimit(); + message.remaining = + object.remaining !== undefined && object.remaining !== null + ? helpers_1.Long.fromValue(object.remaining) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMaxFundsLimit() { + return { + amounts: [], + }; +} +exports.MaxFundsLimit = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.amounts) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxFundsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amounts.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + amounts: Array.isArray(object?.amounts) ? object.amounts.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.amounts) { + obj.amounts = message.amounts.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.amounts = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseMaxFundsLimit(); + message.amounts = object.amounts?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseCombinedLimit() { + return { + callsRemaining: helpers_1.Long.UZERO, + amounts: [], + }; +} +exports.CombinedLimit = { + encode(message, writer = _m0.Writer.create()) { + if (!message.callsRemaining.isZero()) { + writer.uint32(8).uint64(message.callsRemaining); + } + for (const v of message.amounts) { + coin_1.Coin.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCombinedLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.callsRemaining = reader.uint64(); + break; + case 2: + message.amounts.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + callsRemaining: (0, helpers_1.isSet)(object.callsRemaining) ? helpers_1.Long.fromValue(object.callsRemaining) : helpers_1.Long.UZERO, + amounts: Array.isArray(object?.amounts) ? object.amounts.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.callsRemaining !== undefined && + (obj.callsRemaining = (message.callsRemaining || helpers_1.Long.UZERO).toString()); + if (message.amounts) { + obj.amounts = message.amounts.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.amounts = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseCombinedLimit(); + message.callsRemaining = + object.callsRemaining !== undefined && object.callsRemaining !== null + ? helpers_1.Long.fromValue(object.callsRemaining) + : helpers_1.Long.UZERO; + message.amounts = object.amounts?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseAllowAllMessagesFilter() { + return {}; +} +exports.AllowAllMessagesFilter = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllowAllMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseAllowAllMessagesFilter(); + return message; + }, +}; +function createBaseAcceptedMessageKeysFilter() { + return { + keys: [], + }; +} +exports.AcceptedMessageKeysFilter = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.keys) { + writer.uint32(10).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessageKeysFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.keys.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + keys: Array.isArray(object?.keys) ? object.keys.map((e) => String(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.keys) { + obj.keys = message.keys.map((e) => e); + } + else { + obj.keys = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseAcceptedMessageKeysFilter(); + message.keys = object.keys?.map((e) => e) || []; + return message; + }, +}; +function createBaseAcceptedMessagesFilter() { + return { + messages: [], + }; +} +exports.AcceptedMessagesFilter = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.messages) { + writer.uint32(10).bytes(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + messages: Array.isArray(object?.messages) ? object.messages.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array())); + } + else { + obj.messages = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseAcceptedMessagesFilter(); + message.messages = object.messages?.map((e) => e) || []; + return message; + }, +}; +//# sourceMappingURL=authz.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js.map b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js.map new file mode 100644 index 00000000..6dfd6e91 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/cosmwasm/wasm/v1/authz.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authz.js","sourceRoot":"","sources":["../../../../src/cosmwasm/wasm/v1/authz.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/helpers.d.ts b/ts-client/node_modules/cosmjs-types/helpers.d.ts new file mode 100644 index 00000000..3bca1ba7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/helpers.d.ts @@ -0,0 +1,82 @@ +/** + * This file and any referenced files were automatically generated by @osmonauts/telescope@0.94.1 + * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain + * and run the transpile command or yarn proto command to regenerate this bundle. + */ +import Long from "long"; +export { Long }; +export declare function bytesFromBase64(b64: string): Uint8Array; +export declare function base64FromBytes(arr: Uint8Array): string; +export interface AminoHeight { + readonly revision_number?: string; + readonly revision_height?: string; +} +export declare function omitDefault(input: T): T | undefined; +interface Duration { + /** + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + */ + seconds: Long; + /** + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + */ + nanos: number; +} +export declare function toDuration(duration: string): Duration; +export declare function fromDuration(duration: Duration): string; +export declare function isSet(value: any): boolean; +export declare function isObject(value: any): boolean; +export interface PageRequest { + key: Uint8Array; + offset: Long; + limit: Long; + countTotal: boolean; + reverse: boolean; +} +export interface PageRequestParams { + "pagination.key"?: string; + "pagination.offset"?: string; + "pagination.limit"?: string; + "pagination.count_total"?: boolean; + "pagination.reverse"?: boolean; +} +export interface Params { + params: PageRequestParams; +} +export declare const setPaginationParams: (options: Params, pagination?: PageRequest) => Params; +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; +export type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { + [K in keyof T]?: DeepPartial; +} : Partial; +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P : P & { + [K in keyof P]: Exact; +} & Record>, never>; +export interface Rpc { + request(service: string, method: string, data: Uint8Array): Promise; +} +interface Timestamp { + /** + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + */ + seconds: Long; + /** + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + */ + nanos: number; +} +export declare function toTimestamp(date: Date): Timestamp; +export declare function fromTimestamp(t: Timestamp): Date; +export declare function fromJsonTimestamp(o: any): Timestamp; diff --git a/ts-client/node_modules/cosmjs-types/helpers.js b/ts-client/node_modules/cosmjs-types/helpers.js new file mode 100644 index 00000000..7d440815 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/helpers.js @@ -0,0 +1,173 @@ +"use strict"; +/* eslint-disable */ +/** + * This file and any referenced files were automatically generated by @osmonauts/telescope@0.94.1 + * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain + * and run the transpile command or yarn proto command to regenerate this bundle. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromJsonTimestamp = exports.fromTimestamp = exports.toTimestamp = exports.setPaginationParams = exports.isObject = exports.isSet = exports.fromDuration = exports.toDuration = exports.omitDefault = exports.base64FromBytes = exports.bytesFromBase64 = exports.Long = void 0; +const _m0 = __importStar(require("protobufjs/minimal")); +const long_1 = __importDefault(require("long")); +exports.Long = long_1.default; +// @ts-ignore +if (_m0.util.Long !== long_1.default) { + _m0.util.Long = long_1.default; + _m0.configure(); +} +var globalThis = (() => { + if (typeof globalThis !== "undefined") + return globalThis; + if (typeof self !== "undefined") + return self; + if (typeof window !== "undefined") + return window; + if (typeof global !== "undefined") + return global; + throw "Unable to locate global object"; +})(); +const atob = globalThis.atob || ((b64) => globalThis.Buffer.from(b64, "base64").toString("binary")); +function bytesFromBase64(b64) { + const bin = atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; +} +exports.bytesFromBase64 = bytesFromBase64; +const btoa = globalThis.btoa || ((bin) => globalThis.Buffer.from(bin, "binary").toString("base64")); +function base64FromBytes(arr) { + const bin = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return btoa(bin.join("")); +} +exports.base64FromBytes = base64FromBytes; +function omitDefault(input) { + if (typeof input === "string") { + return input === "" ? undefined : input; + } + if (typeof input === "number") { + return input === 0 ? undefined : input; + } + if (long_1.default.isLong(input)) { + return input.isZero() ? undefined : input; + } + throw new Error(`Got unsupported type ${typeof input}`); +} +exports.omitDefault = omitDefault; +function toDuration(duration) { + return { + seconds: long_1.default.fromNumber(Math.floor(parseInt(duration) / 1000000000)), + nanos: parseInt(duration) % 1000000000, + }; +} +exports.toDuration = toDuration; +function fromDuration(duration) { + return (parseInt(duration.seconds.toString()) * 1000000000 + duration.nanos).toString(); +} +exports.fromDuration = fromDuration; +function isSet(value) { + return value !== null && value !== undefined; +} +exports.isSet = isSet; +function isObject(value) { + return typeof value === "object" && value !== null; +} +exports.isObject = isObject; +const setPaginationParams = (options, pagination) => { + if (!pagination) { + return options; + } + if (typeof pagination?.countTotal !== "undefined") { + options.params["pagination.count_total"] = pagination.countTotal; + } + if (typeof pagination?.key !== "undefined") { + // String to Uint8Array + // let uint8arr = new Uint8Array(Buffer.from(data,'base64')); + // Uint8Array to String + options.params["pagination.key"] = Buffer.from(pagination.key).toString("base64"); + } + if (typeof pagination?.limit !== "undefined") { + options.params["pagination.limit"] = pagination.limit.toString(); + } + if (typeof pagination?.offset !== "undefined") { + options.params["pagination.offset"] = pagination.offset.toString(); + } + if (typeof pagination?.reverse !== "undefined") { + options.params["pagination.reverse"] = pagination.reverse; + } + return options; +}; +exports.setPaginationParams = setPaginationParams; +function toTimestamp(date) { + const seconds = numberToLong(date.getTime() / 1000); + const nanos = (date.getTime() % 1000) * 1000000; + return { + seconds, + nanos, + }; +} +exports.toTimestamp = toTimestamp; +function fromTimestamp(t) { + let millis = t.seconds.toNumber() * 1000; + millis += t.nanos / 1000000; + return new Date(millis); +} +exports.fromTimestamp = fromTimestamp; +const fromJSON = (object) => { + return { + seconds: isSet(object.seconds) ? long_1.default.fromString(object.seconds) : long_1.default.ZERO, + nanos: isSet(object.nanos) ? Number(object.nanos) : 0, + }; +}; +const timestampFromJSON = (object) => { + return { + seconds: isSet(object.seconds) ? long_1.default.fromValue(object.seconds) : long_1.default.ZERO, + nanos: isSet(object.nanos) ? Number(object.nanos) : 0, + }; +}; +function fromJsonTimestamp(o) { + if (o instanceof Date) { + return toTimestamp(o); + } + else if (typeof o === "string") { + return toTimestamp(new Date(o)); + } + else { + return timestampFromJSON(o); + } +} +exports.fromJsonTimestamp = fromJsonTimestamp; +function numberToLong(number) { + return long_1.default.fromNumber(number); +} +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/helpers.js.map b/ts-client/node_modules/cosmjs-types/helpers.js.map new file mode 100644 index 00000000..e85bf5fe --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.d.ts new file mode 100644 index 00000000..0186d81b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.d.ts @@ -0,0 +1,26 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware */ +export interface IncentivizedAcknowledgement { + /** the underlying app acknowledgement bytes */ + appAcknowledgement: Uint8Array; + /** the relayer address which submits the recv packet message */ + forwardRelayerAddress: string; + /** success flag of the base application callback */ + underlyingAppSuccess: boolean; +} +export declare const IncentivizedAcknowledgement: { + encode(message: IncentivizedAcknowledgement, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): IncentivizedAcknowledgement; + fromJSON(object: any): IncentivizedAcknowledgement; + toJSON(message: IncentivizedAcknowledgement): unknown; + fromPartial, never>>(object: I): IncentivizedAcknowledgement; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js new file mode 100644 index 00000000..ba3f8c52 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js @@ -0,0 +1,100 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.IncentivizedAcknowledgement = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseIncentivizedAcknowledgement() { + return { + appAcknowledgement: new Uint8Array(), + forwardRelayerAddress: "", + underlyingAppSuccess: false, + }; +} +exports.IncentivizedAcknowledgement = { + encode(message, writer = _m0.Writer.create()) { + if (message.appAcknowledgement.length !== 0) { + writer.uint32(10).bytes(message.appAcknowledgement); + } + if (message.forwardRelayerAddress !== "") { + writer.uint32(18).string(message.forwardRelayerAddress); + } + if (message.underlyingAppSuccess === true) { + writer.uint32(24).bool(message.underlyingAppSuccess); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIncentivizedAcknowledgement(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.appAcknowledgement = reader.bytes(); + break; + case 2: + message.forwardRelayerAddress = reader.string(); + break; + case 3: + message.underlyingAppSuccess = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + appAcknowledgement: (0, helpers_1.isSet)(object.appAcknowledgement) + ? (0, helpers_1.bytesFromBase64)(object.appAcknowledgement) + : new Uint8Array(), + forwardRelayerAddress: (0, helpers_1.isSet)(object.forwardRelayerAddress) ? String(object.forwardRelayerAddress) : "", + underlyingAppSuccess: (0, helpers_1.isSet)(object.underlyingAppSuccess) ? Boolean(object.underlyingAppSuccess) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.appAcknowledgement !== undefined && + (obj.appAcknowledgement = (0, helpers_1.base64FromBytes)(message.appAcknowledgement !== undefined ? message.appAcknowledgement : new Uint8Array())); + message.forwardRelayerAddress !== undefined && + (obj.forwardRelayerAddress = message.forwardRelayerAddress); + message.underlyingAppSuccess !== undefined && (obj.underlyingAppSuccess = message.underlyingAppSuccess); + return obj; + }, + fromPartial(object) { + const message = createBaseIncentivizedAcknowledgement(); + message.appAcknowledgement = object.appAcknowledgement ?? new Uint8Array(); + message.forwardRelayerAddress = object.forwardRelayerAddress ?? ""; + message.underlyingAppSuccess = object.underlyingAppSuccess ?? false; + return message; + }, +}; +//# sourceMappingURL=ack.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js.map new file mode 100644 index 00000000..ae63b181 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/ack.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ack.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/ack.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.d.ts new file mode 100644 index 00000000..0ab8a5e7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.d.ts @@ -0,0 +1,518 @@ +import { Coin } from "../../../../cosmos/base/v1beta1/coin"; +import { PacketId } from "../../../core/channel/v1/channel"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** Fee defines the ICS29 receive, acknowledgement and timeout fees */ +export interface Fee { + /** the packet receive fee */ + recvFee: Coin[]; + /** the packet acknowledgement fee */ + ackFee: Coin[]; + /** the packet timeout fee */ + timeoutFee: Coin[]; +} +/** PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers */ +export interface PacketFee { + /** fee encapsulates the recv, ack and timeout fees associated with an IBC packet */ + fee?: Fee; + /** the refund address for unspent fees */ + refundAddress: string; + /** optional list of relayers permitted to receive fees */ + relayers: string[]; +} +/** PacketFees contains a list of type PacketFee */ +export interface PacketFees { + /** list of packet fees */ + packetFees: PacketFee[]; +} +/** IdentifiedPacketFees contains a list of type PacketFee and associated PacketId */ +export interface IdentifiedPacketFees { + /** unique packet identifier comprised of the channel ID, port ID and sequence */ + packetId?: PacketId; + /** list of packet fees */ + packetFees: PacketFee[]; +} +export declare const Fee: { + encode(message: Fee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Fee; + fromJSON(object: any): Fee; + toJSON(message: Fee): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): Fee; +}; +export declare const PacketFee: { + encode(message: PacketFee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): PacketFee; + fromJSON(object: any): PacketFee; + toJSON(message: PacketFee): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>>(object: I): PacketFee; +}; +export declare const PacketFees: { + encode(message: PacketFees, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): PacketFees; + fromJSON(object: any): PacketFees; + toJSON(message: PacketFees): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): PacketFees; +}; +export declare const IdentifiedPacketFees: { + encode(message: IdentifiedPacketFees, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): IdentifiedPacketFees; + fromJSON(object: any): IdentifiedPacketFees; + toJSON(message: IdentifiedPacketFees): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFees?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + }[] & ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): IdentifiedPacketFees; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js new file mode 100644 index 00000000..329e51a7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js @@ -0,0 +1,303 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.IdentifiedPacketFees = exports.PacketFees = exports.PacketFee = exports.Fee = exports.protobufPackage = void 0; +/* eslint-disable */ +const coin_1 = require("../../../../cosmos/base/v1beta1/coin"); +const channel_1 = require("../../../core/channel/v1/channel"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseFee() { + return { + recvFee: [], + ackFee: [], + timeoutFee: [], + }; +} +exports.Fee = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.recvFee) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.ackFee) { + coin_1.Coin.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.timeoutFee) { + coin_1.Coin.encode(v, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.recvFee.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 2: + message.ackFee.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 3: + message.timeoutFee.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + recvFee: Array.isArray(object?.recvFee) ? object.recvFee.map((e) => coin_1.Coin.fromJSON(e)) : [], + ackFee: Array.isArray(object?.ackFee) ? object.ackFee.map((e) => coin_1.Coin.fromJSON(e)) : [], + timeoutFee: Array.isArray(object?.timeoutFee) + ? object.timeoutFee.map((e) => coin_1.Coin.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.recvFee) { + obj.recvFee = message.recvFee.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.recvFee = []; + } + if (message.ackFee) { + obj.ackFee = message.ackFee.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.ackFee = []; + } + if (message.timeoutFee) { + obj.timeoutFee = message.timeoutFee.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.timeoutFee = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseFee(); + message.recvFee = object.recvFee?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.ackFee = object.ackFee?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.timeoutFee = object.timeoutFee?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBasePacketFee() { + return { + fee: undefined, + refundAddress: "", + relayers: [], + }; +} +exports.PacketFee = { + encode(message, writer = _m0.Writer.create()) { + if (message.fee !== undefined) { + exports.Fee.encode(message.fee, writer.uint32(10).fork()).ldelim(); + } + if (message.refundAddress !== "") { + writer.uint32(18).string(message.refundAddress); + } + for (const v of message.relayers) { + writer.uint32(26).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePacketFee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fee = exports.Fee.decode(reader, reader.uint32()); + break; + case 2: + message.refundAddress = reader.string(); + break; + case 3: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + fee: (0, helpers_1.isSet)(object.fee) ? exports.Fee.fromJSON(object.fee) : undefined, + refundAddress: (0, helpers_1.isSet)(object.refundAddress) ? String(object.refundAddress) : "", + relayers: Array.isArray(object?.relayers) ? object.relayers.map((e) => String(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.fee !== undefined && (obj.fee = message.fee ? exports.Fee.toJSON(message.fee) : undefined); + message.refundAddress !== undefined && (obj.refundAddress = message.refundAddress); + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } + else { + obj.relayers = []; + } + return obj; + }, + fromPartial(object) { + const message = createBasePacketFee(); + message.fee = object.fee !== undefined && object.fee !== null ? exports.Fee.fromPartial(object.fee) : undefined; + message.refundAddress = object.refundAddress ?? ""; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, +}; +function createBasePacketFees() { + return { + packetFees: [], + }; +} +exports.PacketFees = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.packetFees) { + exports.PacketFee.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePacketFees(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetFees.push(exports.PacketFee.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetFees: Array.isArray(object?.packetFees) + ? object.packetFees.map((e) => exports.PacketFee.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.packetFees) { + obj.packetFees = message.packetFees.map((e) => (e ? exports.PacketFee.toJSON(e) : undefined)); + } + else { + obj.packetFees = []; + } + return obj; + }, + fromPartial(object) { + const message = createBasePacketFees(); + message.packetFees = object.packetFees?.map((e) => exports.PacketFee.fromPartial(e)) || []; + return message; + }, +}; +function createBaseIdentifiedPacketFees() { + return { + packetId: undefined, + packetFees: [], + }; +} +exports.IdentifiedPacketFees = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.packetFees) { + exports.PacketFee.encode(v, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIdentifiedPacketFees(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + case 2: + message.packetFees.push(exports.PacketFee.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + packetFees: Array.isArray(object?.packetFees) + ? object.packetFees.map((e) => exports.PacketFee.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + if (message.packetFees) { + obj.packetFees = message.packetFees.map((e) => (e ? exports.PacketFee.toJSON(e) : undefined)); + } + else { + obj.packetFees = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseIdentifiedPacketFees(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + message.packetFees = object.packetFees?.map((e) => exports.PacketFee.fromPartial(e)) || []; + return message; + }, +}; +//# sourceMappingURL=fee.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js.map new file mode 100644 index 00000000..c12c4bc6 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/fee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/fee.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.d.ts new file mode 100644 index 00000000..e7345055 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.d.ts @@ -0,0 +1,619 @@ +import { IdentifiedPacketFees } from "./fee"; +import { PacketId } from "../../../core/channel/v1/channel"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** GenesisState defines the ICS29 fee middleware genesis state */ +export interface GenesisState { + /** list of identified packet fees */ + identifiedFees: IdentifiedPacketFees[]; + /** list of fee enabled channels */ + feeEnabledChannels: FeeEnabledChannel[]; + /** list of registered payees */ + registeredPayees: RegisteredPayee[]; + /** list of registered counterparty payees */ + registeredCounterpartyPayees: RegisteredCounterpartyPayee[]; + /** list of forward relayer addresses */ + forwardRelayers: ForwardRelayerAddress[]; +} +/** FeeEnabledChannel contains the PortID & ChannelID for a fee enabled channel */ +export interface FeeEnabledChannel { + /** unique port identifier */ + portId: string; + /** unique channel identifier */ + channelId: string; +} +/** RegisteredPayee contains the relayer address and payee address for a specific channel */ +export interface RegisteredPayee { + /** unique channel identifier */ + channelId: string; + /** the relayer address */ + relayer: string; + /** the payee address */ + payee: string; +} +/** + * RegisteredCounterpartyPayee contains the relayer address and counterparty payee address for a specific channel (used + * for recv fee distribution) + */ +export interface RegisteredCounterpartyPayee { + /** unique channel identifier */ + channelId: string; + /** the relayer address */ + relayer: string; + /** the counterparty payee address */ + counterpartyPayee: string; +} +/** ForwardRelayerAddress contains the forward relayer address and PacketId used for async acknowledgements */ +export interface ForwardRelayerAddress { + /** the forward relayer address */ + address: string; + /** unique packet identifer comprised of the channel ID, port ID and sequence */ + packetId?: PacketId; +} +export declare const GenesisState: { + encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState; + fromJSON(object: any): GenesisState; + toJSON(message: GenesisState): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFees?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + }[] & ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + feeEnabledChannels?: ({ + portId?: string | undefined; + channelId?: string | undefined; + }[] & ({ + portId?: string | undefined; + channelId?: string | undefined; + } & { + portId?: string | undefined; + channelId?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + registeredPayees?: ({ + channelId?: string | undefined; + relayer?: string | undefined; + payee?: string | undefined; + }[] & ({ + channelId?: string | undefined; + relayer?: string | undefined; + payee?: string | undefined; + } & { + channelId?: string | undefined; + relayer?: string | undefined; + payee?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + registeredCounterpartyPayees?: ({ + channelId?: string | undefined; + relayer?: string | undefined; + counterpartyPayee?: string | undefined; + }[] & ({ + channelId?: string | undefined; + relayer?: string | undefined; + counterpartyPayee?: string | undefined; + } & { + channelId?: string | undefined; + relayer?: string | undefined; + counterpartyPayee?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + forwardRelayers?: ({ + address?: string | undefined; + packetId?: { + portId?: string | undefined; + channelId?: string | undefined; + sequence?: string | number | import("long").Long | undefined; + } | undefined; + }[] & ({ + address?: string | undefined; + packetId?: { + portId?: string | undefined; + channelId?: string | undefined; + sequence?: string | number | import("long").Long | undefined; + } | undefined; + } & { + address?: string | undefined; + packetId?: ({ + portId?: string | undefined; + channelId?: string | undefined; + sequence?: string | number | import("long").Long | undefined; + } & { + portId?: string | undefined; + channelId?: string | undefined; + sequence?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): GenesisState; +}; +export declare const FeeEnabledChannel: { + encode(message: FeeEnabledChannel, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): FeeEnabledChannel; + fromJSON(object: any): FeeEnabledChannel; + toJSON(message: FeeEnabledChannel): unknown; + fromPartial, never>>(object: I): FeeEnabledChannel; +}; +export declare const RegisteredPayee: { + encode(message: RegisteredPayee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): RegisteredPayee; + fromJSON(object: any): RegisteredPayee; + toJSON(message: RegisteredPayee): unknown; + fromPartial, never>>(object: I): RegisteredPayee; +}; +export declare const RegisteredCounterpartyPayee: { + encode(message: RegisteredCounterpartyPayee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): RegisteredCounterpartyPayee; + fromJSON(object: any): RegisteredCounterpartyPayee; + toJSON(message: RegisteredCounterpartyPayee): unknown; + fromPartial, never>>(object: I): RegisteredCounterpartyPayee; +}; +export declare const ForwardRelayerAddress: { + encode(message: ForwardRelayerAddress, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ForwardRelayerAddress; + fromJSON(object: any): ForwardRelayerAddress; + toJSON(message: ForwardRelayerAddress): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ForwardRelayerAddress; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js new file mode 100644 index 00000000..fa0c6d88 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js @@ -0,0 +1,399 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ForwardRelayerAddress = exports.RegisteredCounterpartyPayee = exports.RegisteredPayee = exports.FeeEnabledChannel = exports.GenesisState = exports.protobufPackage = void 0; +/* eslint-disable */ +const fee_1 = require("./fee"); +const channel_1 = require("../../../core/channel/v1/channel"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseGenesisState() { + return { + identifiedFees: [], + feeEnabledChannels: [], + registeredPayees: [], + registeredCounterpartyPayees: [], + forwardRelayers: [], + }; +} +exports.GenesisState = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.identifiedFees) { + fee_1.IdentifiedPacketFees.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.feeEnabledChannels) { + exports.FeeEnabledChannel.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.registeredPayees) { + exports.RegisteredPayee.encode(v, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.registeredCounterpartyPayees) { + exports.RegisteredCounterpartyPayee.encode(v, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.forwardRelayers) { + exports.ForwardRelayerAddress.encode(v, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identifiedFees.push(fee_1.IdentifiedPacketFees.decode(reader, reader.uint32())); + break; + case 2: + message.feeEnabledChannels.push(exports.FeeEnabledChannel.decode(reader, reader.uint32())); + break; + case 3: + message.registeredPayees.push(exports.RegisteredPayee.decode(reader, reader.uint32())); + break; + case 4: + message.registeredCounterpartyPayees.push(exports.RegisteredCounterpartyPayee.decode(reader, reader.uint32())); + break; + case 5: + message.forwardRelayers.push(exports.ForwardRelayerAddress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + identifiedFees: Array.isArray(object?.identifiedFees) + ? object.identifiedFees.map((e) => fee_1.IdentifiedPacketFees.fromJSON(e)) + : [], + feeEnabledChannels: Array.isArray(object?.feeEnabledChannels) + ? object.feeEnabledChannels.map((e) => exports.FeeEnabledChannel.fromJSON(e)) + : [], + registeredPayees: Array.isArray(object?.registeredPayees) + ? object.registeredPayees.map((e) => exports.RegisteredPayee.fromJSON(e)) + : [], + registeredCounterpartyPayees: Array.isArray(object?.registeredCounterpartyPayees) + ? object.registeredCounterpartyPayees.map((e) => exports.RegisteredCounterpartyPayee.fromJSON(e)) + : [], + forwardRelayers: Array.isArray(object?.forwardRelayers) + ? object.forwardRelayers.map((e) => exports.ForwardRelayerAddress.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.identifiedFees) { + obj.identifiedFees = message.identifiedFees.map((e) => e ? fee_1.IdentifiedPacketFees.toJSON(e) : undefined); + } + else { + obj.identifiedFees = []; + } + if (message.feeEnabledChannels) { + obj.feeEnabledChannels = message.feeEnabledChannels.map((e) => e ? exports.FeeEnabledChannel.toJSON(e) : undefined); + } + else { + obj.feeEnabledChannels = []; + } + if (message.registeredPayees) { + obj.registeredPayees = message.registeredPayees.map((e) => (e ? exports.RegisteredPayee.toJSON(e) : undefined)); + } + else { + obj.registeredPayees = []; + } + if (message.registeredCounterpartyPayees) { + obj.registeredCounterpartyPayees = message.registeredCounterpartyPayees.map((e) => e ? exports.RegisteredCounterpartyPayee.toJSON(e) : undefined); + } + else { + obj.registeredCounterpartyPayees = []; + } + if (message.forwardRelayers) { + obj.forwardRelayers = message.forwardRelayers.map((e) => e ? exports.ForwardRelayerAddress.toJSON(e) : undefined); + } + else { + obj.forwardRelayers = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseGenesisState(); + message.identifiedFees = object.identifiedFees?.map((e) => fee_1.IdentifiedPacketFees.fromPartial(e)) || []; + message.feeEnabledChannels = + object.feeEnabledChannels?.map((e) => exports.FeeEnabledChannel.fromPartial(e)) || []; + message.registeredPayees = object.registeredPayees?.map((e) => exports.RegisteredPayee.fromPartial(e)) || []; + message.registeredCounterpartyPayees = + object.registeredCounterpartyPayees?.map((e) => exports.RegisteredCounterpartyPayee.fromPartial(e)) || []; + message.forwardRelayers = object.forwardRelayers?.map((e) => exports.ForwardRelayerAddress.fromPartial(e)) || []; + return message; + }, +}; +function createBaseFeeEnabledChannel() { + return { + portId: "", + channelId: "", + }; +} +exports.FeeEnabledChannel = { + encode(message, writer = _m0.Writer.create()) { + if (message.portId !== "") { + writer.uint32(10).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(18).string(message.channelId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeeEnabledChannel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.portId = reader.string(); + break; + case 2: + message.channelId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + return obj; + }, + fromPartial(object) { + const message = createBaseFeeEnabledChannel(); + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + return message; + }, +}; +function createBaseRegisteredPayee() { + return { + channelId: "", + relayer: "", + payee: "", + }; +} +exports.RegisteredPayee = { + encode(message, writer = _m0.Writer.create()) { + if (message.channelId !== "") { + writer.uint32(10).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(18).string(message.relayer); + } + if (message.payee !== "") { + writer.uint32(26).string(message.payee); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisteredPayee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.string(); + break; + case 2: + message.relayer = reader.string(); + break; + case 3: + message.payee = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + payee: (0, helpers_1.isSet)(object.payee) ? String(object.payee) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + message.payee !== undefined && (obj.payee = message.payee); + return obj; + }, + fromPartial(object) { + const message = createBaseRegisteredPayee(); + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + message.payee = object.payee ?? ""; + return message; + }, +}; +function createBaseRegisteredCounterpartyPayee() { + return { + channelId: "", + relayer: "", + counterpartyPayee: "", + }; +} +exports.RegisteredCounterpartyPayee = { + encode(message, writer = _m0.Writer.create()) { + if (message.channelId !== "") { + writer.uint32(10).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(18).string(message.relayer); + } + if (message.counterpartyPayee !== "") { + writer.uint32(26).string(message.counterpartyPayee); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisteredCounterpartyPayee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.string(); + break; + case 2: + message.relayer = reader.string(); + break; + case 3: + message.counterpartyPayee = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + counterpartyPayee: (0, helpers_1.isSet)(object.counterpartyPayee) ? String(object.counterpartyPayee) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + message.counterpartyPayee !== undefined && (obj.counterpartyPayee = message.counterpartyPayee); + return obj; + }, + fromPartial(object) { + const message = createBaseRegisteredCounterpartyPayee(); + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + message.counterpartyPayee = object.counterpartyPayee ?? ""; + return message; + }, +}; +function createBaseForwardRelayerAddress() { + return { + address: "", + packetId: undefined, + }; +} +exports.ForwardRelayerAddress = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseForwardRelayerAddress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseForwardRelayerAddress(); + message.address = object.address ?? ""; + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + return message; + }, +}; +//# sourceMappingURL=genesis.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js.map new file mode 100644 index 00000000..f527d7cf --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/genesis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/genesis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.d.ts new file mode 100644 index 00000000..d4b388ad --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.d.ts @@ -0,0 +1,25 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** + * Metadata defines the ICS29 channel specific metadata encoded into the channel version bytestring + * See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning + */ +export interface Metadata { + /** fee_version defines the ICS29 fee version */ + feeVersion: string; + /** app_version defines the underlying application version, which may or may not be a JSON encoded bytestring */ + appVersion: string; +} +export declare const Metadata: { + encode(message: Metadata, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Metadata; + fromJSON(object: any): Metadata; + toJSON(message: Metadata): unknown; + fromPartial, never>>(object: I): Metadata; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js new file mode 100644 index 00000000..980c9714 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js @@ -0,0 +1,86 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Metadata = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseMetadata() { + return { + feeVersion: "", + appVersion: "", + }; +} +exports.Metadata = { + encode(message, writer = _m0.Writer.create()) { + if (message.feeVersion !== "") { + writer.uint32(10).string(message.feeVersion); + } + if (message.appVersion !== "") { + writer.uint32(18).string(message.appVersion); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeVersion = reader.string(); + break; + case 2: + message.appVersion = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeVersion: (0, helpers_1.isSet)(object.feeVersion) ? String(object.feeVersion) : "", + appVersion: (0, helpers_1.isSet)(object.appVersion) ? String(object.appVersion) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.feeVersion !== undefined && (obj.feeVersion = message.feeVersion); + message.appVersion !== undefined && (obj.appVersion = message.appVersion); + return obj; + }, + fromPartial(object) { + const message = createBaseMetadata(); + message.feeVersion = object.feeVersion ?? ""; + message.appVersion = object.appVersion ?? ""; + return message; + }, +}; +//# sourceMappingURL=metadata.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js.map new file mode 100644 index 00000000..80f538e7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/metadata.js.map @@ -0,0 +1 @@ +{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,iDAAgE;AACnD,QAAA,eAAe,GAAG,yBAAyB,CAAC;AAWzD,SAAS,kBAAkB;IACzB,OAAO;QACL,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AACY,QAAA,QAAQ,GAAG;IACtB,MAAM,CAAC,OAAiB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAChE,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,UAAU,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YACrE,UAAU,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;SACtE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAiB;QACtB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA4C,MAAS;QAC9D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.d.ts new file mode 100644 index 00000000..469490a2 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.d.ts @@ -0,0 +1,2131 @@ +/// +import { PageRequest } from "../../../../cosmos/base/query/v1beta1/pagination"; +import { PacketId } from "../../../core/channel/v1/channel"; +import { IdentifiedPacketFees } from "./fee"; +import { Coin } from "../../../../cosmos/base/v1beta1/coin"; +import { FeeEnabledChannel } from "./genesis"; +import { Long, Rpc } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** QueryIncentivizedPacketsRequest defines the request type for the IncentivizedPackets rpc */ +export interface QueryIncentivizedPacketsRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; + /** block height at which to query */ + queryHeight: Long; +} +/** QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc */ +export interface QueryIncentivizedPacketsResponse { + /** list of identified fees for incentivized packets */ + incentivizedPackets: IdentifiedPacketFees[]; +} +/** QueryIncentivizedPacketRequest defines the request type for the IncentivizedPacket rpc */ +export interface QueryIncentivizedPacketRequest { + /** unique packet identifier comprised of channel ID, port ID and sequence */ + packetId?: PacketId; + /** block height at which to query */ + queryHeight: Long; +} +/** QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc */ +export interface QueryIncentivizedPacketResponse { + /** the identified fees for the incentivized packet */ + incentivizedPacket?: IdentifiedPacketFees; +} +/** + * QueryIncentivizedPacketsForChannelRequest defines the request type for querying for all incentivized packets + * for a specific channel + */ +export interface QueryIncentivizedPacketsForChannelRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; + portId: string; + channelId: string; + /** Height to query at */ + queryHeight: Long; +} +/** QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC */ +export interface QueryIncentivizedPacketsForChannelResponse { + /** Map of all incentivized_packets */ + incentivizedPackets: IdentifiedPacketFees[]; +} +/** QueryTotalRecvFeesRequest defines the request type for the TotalRecvFees rpc */ +export interface QueryTotalRecvFeesRequest { + /** the packet identifier for the associated fees */ + packetId?: PacketId; +} +/** QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc */ +export interface QueryTotalRecvFeesResponse { + /** the total packet receive fees */ + recvFees: Coin[]; +} +/** QueryTotalAckFeesRequest defines the request type for the TotalAckFees rpc */ +export interface QueryTotalAckFeesRequest { + /** the packet identifier for the associated fees */ + packetId?: PacketId; +} +/** QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc */ +export interface QueryTotalAckFeesResponse { + /** the total packet acknowledgement fees */ + ackFees: Coin[]; +} +/** QueryTotalTimeoutFeesRequest defines the request type for the TotalTimeoutFees rpc */ +export interface QueryTotalTimeoutFeesRequest { + /** the packet identifier for the associated fees */ + packetId?: PacketId; +} +/** QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc */ +export interface QueryTotalTimeoutFeesResponse { + /** the total packet timeout fees */ + timeoutFees: Coin[]; +} +/** QueryPayeeRequest defines the request type for the Payee rpc */ +export interface QueryPayeeRequest { + /** unique channel identifier */ + channelId: string; + /** the relayer address to which the distribution address is registered */ + relayer: string; +} +/** QueryPayeeResponse defines the response type for the Payee rpc */ +export interface QueryPayeeResponse { + /** the payee address to which packet fees are paid out */ + payeeAddress: string; +} +/** QueryCounterpartyPayeeRequest defines the request type for the CounterpartyPayee rpc */ +export interface QueryCounterpartyPayeeRequest { + /** unique channel identifier */ + channelId: string; + /** the relayer address to which the counterparty is registered */ + relayer: string; +} +/** QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc */ +export interface QueryCounterpartyPayeeResponse { + /** the counterparty payee address used to compensate forward relaying */ + counterpartyPayee: string; +} +/** QueryFeeEnabledChannelsRequest defines the request type for the FeeEnabledChannels rpc */ +export interface QueryFeeEnabledChannelsRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; + /** block height at which to query */ + queryHeight: Long; +} +/** QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc */ +export interface QueryFeeEnabledChannelsResponse { + /** list of fee enabled channels */ + feeEnabledChannels: FeeEnabledChannel[]; +} +/** QueryFeeEnabledChannelRequest defines the request type for the FeeEnabledChannel rpc */ +export interface QueryFeeEnabledChannelRequest { + /** unique port identifier */ + portId: string; + /** unique channel identifier */ + channelId: string; +} +/** QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc */ +export interface QueryFeeEnabledChannelResponse { + /** boolean flag representing the fee enabled channel status */ + feeEnabled: boolean; +} +export declare const QueryIncentivizedPacketsRequest: { + encode(message: QueryIncentivizedPacketsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketsRequest; + fromJSON(object: any): QueryIncentivizedPacketsRequest; + toJSON(message: QueryIncentivizedPacketsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + queryHeight?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketsRequest; +}; +export declare const QueryIncentivizedPacketsResponse: { + encode(message: QueryIncentivizedPacketsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketsResponse; + fromJSON(object: any): QueryIncentivizedPacketsResponse; + toJSON(message: QueryIncentivizedPacketsResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFees?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + }[] & ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketsResponse; +}; +export declare const QueryIncentivizedPacketRequest: { + encode(message: QueryIncentivizedPacketRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketRequest; + fromJSON(object: any): QueryIncentivizedPacketRequest; + toJSON(message: QueryIncentivizedPacketRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + queryHeight?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketRequest; +}; +export declare const QueryIncentivizedPacketResponse: { + encode(message: QueryIncentivizedPacketResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketResponse; + fromJSON(object: any): QueryIncentivizedPacketResponse; + toJSON(message: QueryIncentivizedPacketResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFees?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + }[] & ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketResponse; +}; +export declare const QueryIncentivizedPacketsForChannelRequest: { + encode(message: QueryIncentivizedPacketsForChannelRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketsForChannelRequest; + fromJSON(object: any): QueryIncentivizedPacketsForChannelRequest; + toJSON(message: QueryIncentivizedPacketsForChannelRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + portId?: string | undefined; + channelId?: string | undefined; + queryHeight?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketsForChannelRequest; +}; +export declare const QueryIncentivizedPacketsForChannelResponse: { + encode(message: QueryIncentivizedPacketsForChannelResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryIncentivizedPacketsForChannelResponse; + fromJSON(object: any): QueryIncentivizedPacketsForChannelResponse; + toJSON(message: QueryIncentivizedPacketsForChannelResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFees?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + }[] & ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryIncentivizedPacketsForChannelResponse; +}; +export declare const QueryTotalRecvFeesRequest: { + encode(message: QueryTotalRecvFeesRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalRecvFeesRequest; + fromJSON(object: any): QueryTotalRecvFeesRequest; + toJSON(message: QueryTotalRecvFeesRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalRecvFeesRequest; +}; +export declare const QueryTotalRecvFeesResponse: { + encode(message: QueryTotalRecvFeesResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalRecvFeesResponse; + fromJSON(object: any): QueryTotalRecvFeesResponse; + toJSON(message: QueryTotalRecvFeesResponse): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalRecvFeesResponse; +}; +export declare const QueryTotalAckFeesRequest: { + encode(message: QueryTotalAckFeesRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalAckFeesRequest; + fromJSON(object: any): QueryTotalAckFeesRequest; + toJSON(message: QueryTotalAckFeesRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalAckFeesRequest; +}; +export declare const QueryTotalAckFeesResponse: { + encode(message: QueryTotalAckFeesResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalAckFeesResponse; + fromJSON(object: any): QueryTotalAckFeesResponse; + toJSON(message: QueryTotalAckFeesResponse): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalAckFeesResponse; +}; +export declare const QueryTotalTimeoutFeesRequest: { + encode(message: QueryTotalTimeoutFeesRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalTimeoutFeesRequest; + fromJSON(object: any): QueryTotalTimeoutFeesRequest; + toJSON(message: QueryTotalTimeoutFeesRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalTimeoutFeesRequest; +}; +export declare const QueryTotalTimeoutFeesResponse: { + encode(message: QueryTotalTimeoutFeesResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalTimeoutFeesResponse; + fromJSON(object: any): QueryTotalTimeoutFeesResponse; + toJSON(message: QueryTotalTimeoutFeesResponse): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryTotalTimeoutFeesResponse; +}; +export declare const QueryPayeeRequest: { + encode(message: QueryPayeeRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPayeeRequest; + fromJSON(object: any): QueryPayeeRequest; + toJSON(message: QueryPayeeRequest): unknown; + fromPartial, never>>(object: I): QueryPayeeRequest; +}; +export declare const QueryPayeeResponse: { + encode(message: QueryPayeeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPayeeResponse; + fromJSON(object: any): QueryPayeeResponse; + toJSON(message: QueryPayeeResponse): unknown; + fromPartial, never>>(object: I): QueryPayeeResponse; +}; +export declare const QueryCounterpartyPayeeRequest: { + encode(message: QueryCounterpartyPayeeRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCounterpartyPayeeRequest; + fromJSON(object: any): QueryCounterpartyPayeeRequest; + toJSON(message: QueryCounterpartyPayeeRequest): unknown; + fromPartial, never>>(object: I): QueryCounterpartyPayeeRequest; +}; +export declare const QueryCounterpartyPayeeResponse: { + encode(message: QueryCounterpartyPayeeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCounterpartyPayeeResponse; + fromJSON(object: any): QueryCounterpartyPayeeResponse; + toJSON(message: QueryCounterpartyPayeeResponse): unknown; + fromPartial, never>>(object: I): QueryCounterpartyPayeeResponse; +}; +export declare const QueryFeeEnabledChannelsRequest: { + encode(message: QueryFeeEnabledChannelsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeeEnabledChannelsRequest; + fromJSON(object: any): QueryFeeEnabledChannelsRequest; + toJSON(message: QueryFeeEnabledChannelsRequest): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + limit?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + countTotal?: boolean | undefined; + reverse?: boolean | undefined; + } & Record, never>) | undefined; + queryHeight?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryFeeEnabledChannelsRequest; +}; +export declare const QueryFeeEnabledChannelsResponse: { + encode(message: QueryFeeEnabledChannelsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeeEnabledChannelsResponse; + fromJSON(object: any): QueryFeeEnabledChannelsResponse; + toJSON(message: QueryFeeEnabledChannelsResponse): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): QueryFeeEnabledChannelsResponse; +}; +export declare const QueryFeeEnabledChannelRequest: { + encode(message: QueryFeeEnabledChannelRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeeEnabledChannelRequest; + fromJSON(object: any): QueryFeeEnabledChannelRequest; + toJSON(message: QueryFeeEnabledChannelRequest): unknown; + fromPartial, never>>(object: I): QueryFeeEnabledChannelRequest; +}; +export declare const QueryFeeEnabledChannelResponse: { + encode(message: QueryFeeEnabledChannelResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeeEnabledChannelResponse; + fromJSON(object: any): QueryFeeEnabledChannelResponse; + toJSON(message: QueryFeeEnabledChannelResponse): unknown; + fromPartial, never>>(object: I): QueryFeeEnabledChannelResponse; +}; +/** Query defines the ICS29 gRPC querier service. */ +export interface Query { + /** IncentivizedPackets returns all incentivized packets and their associated fees */ + IncentivizedPackets(request: QueryIncentivizedPacketsRequest): Promise; + /** IncentivizedPacket returns all packet fees for a packet given its identifier */ + IncentivizedPacket(request: QueryIncentivizedPacketRequest): Promise; + /** Gets all incentivized packets for a specific channel */ + IncentivizedPacketsForChannel(request: QueryIncentivizedPacketsForChannelRequest): Promise; + /** TotalRecvFees returns the total receive fees for a packet given its identifier */ + TotalRecvFees(request: QueryTotalRecvFeesRequest): Promise; + /** TotalAckFees returns the total acknowledgement fees for a packet given its identifier */ + TotalAckFees(request: QueryTotalAckFeesRequest): Promise; + /** TotalTimeoutFees returns the total timeout fees for a packet given its identifier */ + TotalTimeoutFees(request: QueryTotalTimeoutFeesRequest): Promise; + /** Payee returns the registered payee address for a specific channel given the relayer address */ + Payee(request: QueryPayeeRequest): Promise; + /** CounterpartyPayee returns the registered counterparty payee for forward relaying */ + CounterpartyPayee(request: QueryCounterpartyPayeeRequest): Promise; + /** FeeEnabledChannels returns a list of all fee enabled channels */ + FeeEnabledChannels(request: QueryFeeEnabledChannelsRequest): Promise; + /** FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel */ + FeeEnabledChannel(request: QueryFeeEnabledChannelRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + IncentivizedPackets(request: QueryIncentivizedPacketsRequest): Promise; + IncentivizedPacket(request: QueryIncentivizedPacketRequest): Promise; + IncentivizedPacketsForChannel(request: QueryIncentivizedPacketsForChannelRequest): Promise; + TotalRecvFees(request: QueryTotalRecvFeesRequest): Promise; + TotalAckFees(request: QueryTotalAckFeesRequest): Promise; + TotalTimeoutFees(request: QueryTotalTimeoutFeesRequest): Promise; + Payee(request: QueryPayeeRequest): Promise; + CounterpartyPayee(request: QueryCounterpartyPayeeRequest): Promise; + FeeEnabledChannels(request: QueryFeeEnabledChannelsRequest): Promise; + FeeEnabledChannel(request: QueryFeeEnabledChannelRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js new file mode 100644 index 00000000..b39e237c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js @@ -0,0 +1,1181 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryFeeEnabledChannelResponse = exports.QueryFeeEnabledChannelRequest = exports.QueryFeeEnabledChannelsResponse = exports.QueryFeeEnabledChannelsRequest = exports.QueryCounterpartyPayeeResponse = exports.QueryCounterpartyPayeeRequest = exports.QueryPayeeResponse = exports.QueryPayeeRequest = exports.QueryTotalTimeoutFeesResponse = exports.QueryTotalTimeoutFeesRequest = exports.QueryTotalAckFeesResponse = exports.QueryTotalAckFeesRequest = exports.QueryTotalRecvFeesResponse = exports.QueryTotalRecvFeesRequest = exports.QueryIncentivizedPacketsForChannelResponse = exports.QueryIncentivizedPacketsForChannelRequest = exports.QueryIncentivizedPacketResponse = exports.QueryIncentivizedPacketRequest = exports.QueryIncentivizedPacketsResponse = exports.QueryIncentivizedPacketsRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const pagination_1 = require("../../../../cosmos/base/query/v1beta1/pagination"); +const channel_1 = require("../../../core/channel/v1/channel"); +const fee_1 = require("./fee"); +const coin_1 = require("../../../../cosmos/base/v1beta1/coin"); +const genesis_1 = require("./genesis"); +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseQueryIncentivizedPacketsRequest() { + return { + pagination: undefined, + queryHeight: helpers_1.Long.UZERO, + }; +} +exports.QueryIncentivizedPacketsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim(); + } + if (!message.queryHeight.isZero()) { + writer.uint32(16).uint64(message.queryHeight); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + case 2: + message.queryHeight = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + queryHeight: (0, helpers_1.isSet)(object.queryHeight) ? helpers_1.Long.fromValue(object.queryHeight) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + message.queryHeight !== undefined && (obj.queryHeight = (message.queryHeight || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketsRequest(); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + message.queryHeight = + object.queryHeight !== undefined && object.queryHeight !== null + ? helpers_1.Long.fromValue(object.queryHeight) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryIncentivizedPacketsResponse() { + return { + incentivizedPackets: [], + }; +} +exports.QueryIncentivizedPacketsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.incentivizedPackets) { + fee_1.IdentifiedPacketFees.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.incentivizedPackets.push(fee_1.IdentifiedPacketFees.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + incentivizedPackets: Array.isArray(object?.incentivizedPackets) + ? object.incentivizedPackets.map((e) => fee_1.IdentifiedPacketFees.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.incentivizedPackets) { + obj.incentivizedPackets = message.incentivizedPackets.map((e) => e ? fee_1.IdentifiedPacketFees.toJSON(e) : undefined); + } + else { + obj.incentivizedPackets = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketsResponse(); + message.incentivizedPackets = + object.incentivizedPackets?.map((e) => fee_1.IdentifiedPacketFees.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryIncentivizedPacketRequest() { + return { + packetId: undefined, + queryHeight: helpers_1.Long.UZERO, + }; +} +exports.QueryIncentivizedPacketRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + if (!message.queryHeight.isZero()) { + writer.uint32(16).uint64(message.queryHeight); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + case 2: + message.queryHeight = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + queryHeight: (0, helpers_1.isSet)(object.queryHeight) ? helpers_1.Long.fromValue(object.queryHeight) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + message.queryHeight !== undefined && (obj.queryHeight = (message.queryHeight || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketRequest(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + message.queryHeight = + object.queryHeight !== undefined && object.queryHeight !== null + ? helpers_1.Long.fromValue(object.queryHeight) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryIncentivizedPacketResponse() { + return { + incentivizedPacket: undefined, + }; +} +exports.QueryIncentivizedPacketResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.incentivizedPacket !== undefined) { + fee_1.IdentifiedPacketFees.encode(message.incentivizedPacket, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.incentivizedPacket = fee_1.IdentifiedPacketFees.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + incentivizedPacket: (0, helpers_1.isSet)(object.incentivizedPacket) + ? fee_1.IdentifiedPacketFees.fromJSON(object.incentivizedPacket) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.incentivizedPacket !== undefined && + (obj.incentivizedPacket = message.incentivizedPacket + ? fee_1.IdentifiedPacketFees.toJSON(message.incentivizedPacket) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketResponse(); + message.incentivizedPacket = + object.incentivizedPacket !== undefined && object.incentivizedPacket !== null + ? fee_1.IdentifiedPacketFees.fromPartial(object.incentivizedPacket) + : undefined; + return message; + }, +}; +function createBaseQueryIncentivizedPacketsForChannelRequest() { + return { + pagination: undefined, + portId: "", + channelId: "", + queryHeight: helpers_1.Long.UZERO, + }; +} +exports.QueryIncentivizedPacketsForChannelRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim(); + } + if (message.portId !== "") { + writer.uint32(18).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(26).string(message.channelId); + } + if (!message.queryHeight.isZero()) { + writer.uint32(32).uint64(message.queryHeight); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketsForChannelRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + case 2: + message.portId = reader.string(); + break; + case 3: + message.channelId = reader.string(); + break; + case 4: + message.queryHeight = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + queryHeight: (0, helpers_1.isSet)(object.queryHeight) ? helpers_1.Long.fromValue(object.queryHeight) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + message.queryHeight !== undefined && (obj.queryHeight = (message.queryHeight || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketsForChannelRequest(); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + message.queryHeight = + object.queryHeight !== undefined && object.queryHeight !== null + ? helpers_1.Long.fromValue(object.queryHeight) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryIncentivizedPacketsForChannelResponse() { + return { + incentivizedPackets: [], + }; +} +exports.QueryIncentivizedPacketsForChannelResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.incentivizedPackets) { + fee_1.IdentifiedPacketFees.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryIncentivizedPacketsForChannelResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.incentivizedPackets.push(fee_1.IdentifiedPacketFees.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + incentivizedPackets: Array.isArray(object?.incentivizedPackets) + ? object.incentivizedPackets.map((e) => fee_1.IdentifiedPacketFees.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.incentivizedPackets) { + obj.incentivizedPackets = message.incentivizedPackets.map((e) => e ? fee_1.IdentifiedPacketFees.toJSON(e) : undefined); + } + else { + obj.incentivizedPackets = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryIncentivizedPacketsForChannelResponse(); + message.incentivizedPackets = + object.incentivizedPackets?.map((e) => fee_1.IdentifiedPacketFees.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryTotalRecvFeesRequest() { + return { + packetId: undefined, + }; +} +exports.QueryTotalRecvFeesRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalRecvFeesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalRecvFeesRequest(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + return message; + }, +}; +function createBaseQueryTotalRecvFeesResponse() { + return { + recvFees: [], + }; +} +exports.QueryTotalRecvFeesResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.recvFees) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalRecvFeesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.recvFees.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + recvFees: Array.isArray(object?.recvFees) ? object.recvFees.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.recvFees) { + obj.recvFees = message.recvFees.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.recvFees = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalRecvFeesResponse(); + message.recvFees = object.recvFees?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryTotalAckFeesRequest() { + return { + packetId: undefined, + }; +} +exports.QueryTotalAckFeesRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalAckFeesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalAckFeesRequest(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + return message; + }, +}; +function createBaseQueryTotalAckFeesResponse() { + return { + ackFees: [], + }; +} +exports.QueryTotalAckFeesResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.ackFees) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalAckFeesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ackFees.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + ackFees: Array.isArray(object?.ackFees) ? object.ackFees.map((e) => coin_1.Coin.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.ackFees) { + obj.ackFees = message.ackFees.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.ackFees = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalAckFeesResponse(); + message.ackFees = object.ackFees?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryTotalTimeoutFeesRequest() { + return { + packetId: undefined, + }; +} +exports.QueryTotalTimeoutFeesRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalTimeoutFeesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalTimeoutFeesRequest(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + return message; + }, +}; +function createBaseQueryTotalTimeoutFeesResponse() { + return { + timeoutFees: [], + }; +} +exports.QueryTotalTimeoutFeesResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.timeoutFees) { + coin_1.Coin.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryTotalTimeoutFeesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timeoutFees.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + timeoutFees: Array.isArray(object?.timeoutFees) + ? object.timeoutFees.map((e) => coin_1.Coin.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.timeoutFees) { + obj.timeoutFees = message.timeoutFees.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.timeoutFees = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryTotalTimeoutFeesResponse(); + message.timeoutFees = object.timeoutFees?.map((e) => coin_1.Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryPayeeRequest() { + return { + channelId: "", + relayer: "", + }; +} +exports.QueryPayeeRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.channelId !== "") { + writer.uint32(10).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(18).string(message.relayer); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPayeeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.string(); + break; + case 2: + message.relayer = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryPayeeRequest(); + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + return message; + }, +}; +function createBaseQueryPayeeResponse() { + return { + payeeAddress: "", + }; +} +exports.QueryPayeeResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.payeeAddress !== "") { + writer.uint32(10).string(message.payeeAddress); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPayeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.payeeAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + payeeAddress: (0, helpers_1.isSet)(object.payeeAddress) ? String(object.payeeAddress) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.payeeAddress !== undefined && (obj.payeeAddress = message.payeeAddress); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryPayeeResponse(); + message.payeeAddress = object.payeeAddress ?? ""; + return message; + }, +}; +function createBaseQueryCounterpartyPayeeRequest() { + return { + channelId: "", + relayer: "", + }; +} +exports.QueryCounterpartyPayeeRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.channelId !== "") { + writer.uint32(10).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(18).string(message.relayer); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCounterpartyPayeeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.string(); + break; + case 2: + message.relayer = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryCounterpartyPayeeRequest(); + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + return message; + }, +}; +function createBaseQueryCounterpartyPayeeResponse() { + return { + counterpartyPayee: "", + }; +} +exports.QueryCounterpartyPayeeResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.counterpartyPayee !== "") { + writer.uint32(10).string(message.counterpartyPayee); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCounterpartyPayeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.counterpartyPayee = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + counterpartyPayee: (0, helpers_1.isSet)(object.counterpartyPayee) ? String(object.counterpartyPayee) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.counterpartyPayee !== undefined && (obj.counterpartyPayee = message.counterpartyPayee); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryCounterpartyPayeeResponse(); + message.counterpartyPayee = object.counterpartyPayee ?? ""; + return message; + }, +}; +function createBaseQueryFeeEnabledChannelsRequest() { + return { + pagination: undefined, + queryHeight: helpers_1.Long.UZERO, + }; +} +exports.QueryFeeEnabledChannelsRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.pagination !== undefined) { + pagination_1.PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim(); + } + if (!message.queryHeight.isZero()) { + writer.uint32(16).uint64(message.queryHeight); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeeEnabledChannelsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32()); + break; + case 2: + message.queryHeight = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + pagination: (0, helpers_1.isSet)(object.pagination) ? pagination_1.PageRequest.fromJSON(object.pagination) : undefined, + queryHeight: (0, helpers_1.isSet)(object.queryHeight) ? helpers_1.Long.fromValue(object.queryHeight) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? pagination_1.PageRequest.toJSON(message.pagination) : undefined); + message.queryHeight !== undefined && (obj.queryHeight = (message.queryHeight || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryFeeEnabledChannelsRequest(); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? pagination_1.PageRequest.fromPartial(object.pagination) + : undefined; + message.queryHeight = + object.queryHeight !== undefined && object.queryHeight !== null + ? helpers_1.Long.fromValue(object.queryHeight) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseQueryFeeEnabledChannelsResponse() { + return { + feeEnabledChannels: [], + }; +} +exports.QueryFeeEnabledChannelsResponse = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.feeEnabledChannels) { + genesis_1.FeeEnabledChannel.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeeEnabledChannelsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeEnabledChannels.push(genesis_1.FeeEnabledChannel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeEnabledChannels: Array.isArray(object?.feeEnabledChannels) + ? object.feeEnabledChannels.map((e) => genesis_1.FeeEnabledChannel.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.feeEnabledChannels) { + obj.feeEnabledChannels = message.feeEnabledChannels.map((e) => e ? genesis_1.FeeEnabledChannel.toJSON(e) : undefined); + } + else { + obj.feeEnabledChannels = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseQueryFeeEnabledChannelsResponse(); + message.feeEnabledChannels = + object.feeEnabledChannels?.map((e) => genesis_1.FeeEnabledChannel.fromPartial(e)) || []; + return message; + }, +}; +function createBaseQueryFeeEnabledChannelRequest() { + return { + portId: "", + channelId: "", + }; +} +exports.QueryFeeEnabledChannelRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.portId !== "") { + writer.uint32(10).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(18).string(message.channelId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeeEnabledChannelRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.portId = reader.string(); + break; + case 2: + message.channelId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryFeeEnabledChannelRequest(); + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + return message; + }, +}; +function createBaseQueryFeeEnabledChannelResponse() { + return { + feeEnabled: false, + }; +} +exports.QueryFeeEnabledChannelResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.feeEnabled === true) { + writer.uint32(8).bool(message.feeEnabled); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryFeeEnabledChannelResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feeEnabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + feeEnabled: (0, helpers_1.isSet)(object.feeEnabled) ? Boolean(object.feeEnabled) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.feeEnabled !== undefined && (obj.feeEnabled = message.feeEnabled); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryFeeEnabledChannelResponse(); + message.feeEnabled = object.feeEnabled ?? false; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.IncentivizedPackets = this.IncentivizedPackets.bind(this); + this.IncentivizedPacket = this.IncentivizedPacket.bind(this); + this.IncentivizedPacketsForChannel = this.IncentivizedPacketsForChannel.bind(this); + this.TotalRecvFees = this.TotalRecvFees.bind(this); + this.TotalAckFees = this.TotalAckFees.bind(this); + this.TotalTimeoutFees = this.TotalTimeoutFees.bind(this); + this.Payee = this.Payee.bind(this); + this.CounterpartyPayee = this.CounterpartyPayee.bind(this); + this.FeeEnabledChannels = this.FeeEnabledChannels.bind(this); + this.FeeEnabledChannel = this.FeeEnabledChannel.bind(this); + } + IncentivizedPackets(request) { + const data = exports.QueryIncentivizedPacketsRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "IncentivizedPackets", data); + return promise.then((data) => exports.QueryIncentivizedPacketsResponse.decode(new _m0.Reader(data))); + } + IncentivizedPacket(request) { + const data = exports.QueryIncentivizedPacketRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "IncentivizedPacket", data); + return promise.then((data) => exports.QueryIncentivizedPacketResponse.decode(new _m0.Reader(data))); + } + IncentivizedPacketsForChannel(request) { + const data = exports.QueryIncentivizedPacketsForChannelRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "IncentivizedPacketsForChannel", data); + return promise.then((data) => exports.QueryIncentivizedPacketsForChannelResponse.decode(new _m0.Reader(data))); + } + TotalRecvFees(request) { + const data = exports.QueryTotalRecvFeesRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "TotalRecvFees", data); + return promise.then((data) => exports.QueryTotalRecvFeesResponse.decode(new _m0.Reader(data))); + } + TotalAckFees(request) { + const data = exports.QueryTotalAckFeesRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "TotalAckFees", data); + return promise.then((data) => exports.QueryTotalAckFeesResponse.decode(new _m0.Reader(data))); + } + TotalTimeoutFees(request) { + const data = exports.QueryTotalTimeoutFeesRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "TotalTimeoutFees", data); + return promise.then((data) => exports.QueryTotalTimeoutFeesResponse.decode(new _m0.Reader(data))); + } + Payee(request) { + const data = exports.QueryPayeeRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "Payee", data); + return promise.then((data) => exports.QueryPayeeResponse.decode(new _m0.Reader(data))); + } + CounterpartyPayee(request) { + const data = exports.QueryCounterpartyPayeeRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "CounterpartyPayee", data); + return promise.then((data) => exports.QueryCounterpartyPayeeResponse.decode(new _m0.Reader(data))); + } + FeeEnabledChannels(request) { + const data = exports.QueryFeeEnabledChannelsRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "FeeEnabledChannels", data); + return promise.then((data) => exports.QueryFeeEnabledChannelsResponse.decode(new _m0.Reader(data))); + } + FeeEnabledChannel(request) { + const data = exports.QueryFeeEnabledChannelRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Query", "FeeEnabledChannel", data); + return promise.then((data) => exports.QueryFeeEnabledChannelResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js.map new file mode 100644 index 00000000..360945b0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.d.ts new file mode 100644 index 00000000..23e08f84 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.d.ts @@ -0,0 +1,427 @@ +import { Fee, PacketFee } from "./fee"; +import { PacketId } from "../../../core/channel/v1/channel"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../../helpers"; +export declare const protobufPackage = "ibc.applications.fee.v1"; +/** MsgRegisterPayee defines the request type for the RegisterPayee rpc */ +export interface MsgRegisterPayee { + /** unique port identifier */ + portId: string; + /** unique channel identifier */ + channelId: string; + /** the relayer address */ + relayer: string; + /** the payee address */ + payee: string; +} +/** MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc */ +export interface MsgRegisterPayeeResponse { +} +/** MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc */ +export interface MsgRegisterCounterpartyPayee { + /** unique port identifier */ + portId: string; + /** unique channel identifier */ + channelId: string; + /** the relayer address */ + relayer: string; + /** the counterparty payee address */ + counterpartyPayee: string; +} +/** MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc */ +export interface MsgRegisterCounterpartyPayeeResponse { +} +/** + * MsgPayPacketFee defines the request type for the PayPacketFee rpc + * This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be + * paid for + */ +export interface MsgPayPacketFee { + /** fee encapsulates the recv, ack and timeout fees associated with an IBC packet */ + fee?: Fee; + /** the source port unique identifier */ + sourcePortId: string; + /** the source channel unique identifer */ + sourceChannelId: string; + /** account address to refund fee if necessary */ + signer: string; + /** optional list of relayers permitted to the receive packet fees */ + relayers: string[]; +} +/** MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc */ +export interface MsgPayPacketFeeResponse { +} +/** + * MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc + * This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send) + */ +export interface MsgPayPacketFeeAsync { + /** unique packet identifier comprised of the channel ID, port ID and sequence */ + packetId?: PacketId; + /** the packet fee associated with a particular IBC packet */ + packetFee?: PacketFee; +} +/** MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc */ +export interface MsgPayPacketFeeAsyncResponse { +} +export declare const MsgRegisterPayee: { + encode(message: MsgRegisterPayee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterPayee; + fromJSON(object: any): MsgRegisterPayee; + toJSON(message: MsgRegisterPayee): unknown; + fromPartial, never>>(object: I): MsgRegisterPayee; +}; +export declare const MsgRegisterPayeeResponse: { + encode(_: MsgRegisterPayeeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterPayeeResponse; + fromJSON(_: any): MsgRegisterPayeeResponse; + toJSON(_: MsgRegisterPayeeResponse): unknown; + fromPartial, never>>(_: I): MsgRegisterPayeeResponse; +}; +export declare const MsgRegisterCounterpartyPayee: { + encode(message: MsgRegisterCounterpartyPayee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterCounterpartyPayee; + fromJSON(object: any): MsgRegisterCounterpartyPayee; + toJSON(message: MsgRegisterCounterpartyPayee): unknown; + fromPartial, never>>(object: I): MsgRegisterCounterpartyPayee; +}; +export declare const MsgRegisterCounterpartyPayeeResponse: { + encode(_: MsgRegisterCounterpartyPayeeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterCounterpartyPayeeResponse; + fromJSON(_: any): MsgRegisterCounterpartyPayeeResponse; + toJSON(_: MsgRegisterCounterpartyPayeeResponse): unknown; + fromPartial, never>>(_: I): MsgRegisterCounterpartyPayeeResponse; +}; +export declare const MsgPayPacketFee: { + encode(message: MsgPayPacketFee, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPayPacketFee; + fromJSON(object: any): MsgPayPacketFee; + toJSON(message: MsgPayPacketFee): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + sourcePortId?: string | undefined; + sourceChannelId?: string | undefined; + signer?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>>(object: I): MsgPayPacketFee; +}; +export declare const MsgPayPacketFeeResponse: { + encode(_: MsgPayPacketFeeResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPayPacketFeeResponse; + fromJSON(_: any): MsgPayPacketFeeResponse; + toJSON(_: MsgPayPacketFeeResponse): unknown; + fromPartial, never>>(_: I): MsgPayPacketFeeResponse; +}; +export declare const MsgPayPacketFeeAsync: { + encode(message: MsgPayPacketFeeAsync, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPayPacketFeeAsync; + fromJSON(object: any): MsgPayPacketFeeAsync; + toJSON(message: MsgPayPacketFeeAsync): unknown; + fromPartial import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + packetFee?: ({ + fee?: { + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } | undefined; + refundAddress?: string | undefined; + relayers?: string[] | undefined; + } & { + fee?: ({ + recvFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + ackFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + timeoutFee?: { + denom?: string | undefined; + amount?: string | undefined; + }[] | undefined; + } & { + recvFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ackFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + timeoutFee?: ({ + denom?: string | undefined; + amount?: string | undefined; + }[] & ({ + denom?: string | undefined; + amount?: string | undefined; + } & { + denom?: string | undefined; + amount?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>) | undefined; + refundAddress?: string | undefined; + relayers?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgPayPacketFeeAsync; +}; +export declare const MsgPayPacketFeeAsyncResponse: { + encode(_: MsgPayPacketFeeAsyncResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPayPacketFeeAsyncResponse; + fromJSON(_: any): MsgPayPacketFeeAsyncResponse; + toJSON(_: MsgPayPacketFeeAsyncResponse): unknown; + fromPartial, never>>(_: I): MsgPayPacketFeeAsyncResponse; +}; +/** Msg defines the ICS29 Msg service. */ +export interface Msg { + /** + * RegisterPayee defines a rpc handler method for MsgRegisterPayee + * RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional + * payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on + * the source chain from which packets originate as this is where fee distribution takes place. This function may be + * called more than once by a relayer, in which case, the latest payee is always used. + */ + RegisterPayee(request: MsgRegisterPayee): Promise; + /** + * RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee + * RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty + * payee address before relaying. This ensures they will be properly compensated for forward relaying since + * the destination chain must include the registered counterparty payee address in the acknowledgement. This function + * may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. + */ + RegisterCounterpartyPayee(request: MsgRegisterCounterpartyPayee): Promise; + /** + * PayPacketFee defines a rpc handler method for MsgPayPacketFee + * PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to + * incentivize the relaying of the packet at the next sequence + * NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows + * initiates the lifecycle of the incentivized packet + */ + PayPacketFee(request: MsgPayPacketFee): Promise; + /** + * PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync + * PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to + * incentivize the relaying of a known packet (i.e. at a particular sequence) + */ + PayPacketFeeAsync(request: MsgPayPacketFeeAsync): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + RegisterPayee(request: MsgRegisterPayee): Promise; + RegisterCounterpartyPayee(request: MsgRegisterCounterpartyPayee): Promise; + PayPacketFee(request: MsgPayPacketFee): Promise; + PayPacketFeeAsync(request: MsgPayPacketFeeAsync): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js new file mode 100644 index 00000000..3f549c31 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js @@ -0,0 +1,498 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgPayPacketFeeAsyncResponse = exports.MsgPayPacketFeeAsync = exports.MsgPayPacketFeeResponse = exports.MsgPayPacketFee = exports.MsgRegisterCounterpartyPayeeResponse = exports.MsgRegisterCounterpartyPayee = exports.MsgRegisterPayeeResponse = exports.MsgRegisterPayee = exports.protobufPackage = void 0; +/* eslint-disable */ +const fee_1 = require("./fee"); +const channel_1 = require("../../../core/channel/v1/channel"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.fee.v1"; +function createBaseMsgRegisterPayee() { + return { + portId: "", + channelId: "", + relayer: "", + payee: "", + }; +} +exports.MsgRegisterPayee = { + encode(message, writer = _m0.Writer.create()) { + if (message.portId !== "") { + writer.uint32(10).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(18).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(26).string(message.relayer); + } + if (message.payee !== "") { + writer.uint32(34).string(message.payee); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterPayee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.portId = reader.string(); + break; + case 2: + message.channelId = reader.string(); + break; + case 3: + message.relayer = reader.string(); + break; + case 4: + message.payee = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + payee: (0, helpers_1.isSet)(object.payee) ? String(object.payee) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + message.payee !== undefined && (obj.payee = message.payee); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgRegisterPayee(); + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + message.payee = object.payee ?? ""; + return message; + }, +}; +function createBaseMsgRegisterPayeeResponse() { + return {}; +} +exports.MsgRegisterPayeeResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterPayeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgRegisterPayeeResponse(); + return message; + }, +}; +function createBaseMsgRegisterCounterpartyPayee() { + return { + portId: "", + channelId: "", + relayer: "", + counterpartyPayee: "", + }; +} +exports.MsgRegisterCounterpartyPayee = { + encode(message, writer = _m0.Writer.create()) { + if (message.portId !== "") { + writer.uint32(10).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(18).string(message.channelId); + } + if (message.relayer !== "") { + writer.uint32(26).string(message.relayer); + } + if (message.counterpartyPayee !== "") { + writer.uint32(34).string(message.counterpartyPayee); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterCounterpartyPayee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.portId = reader.string(); + break; + case 2: + message.channelId = reader.string(); + break; + case 3: + message.relayer = reader.string(); + break; + case 4: + message.counterpartyPayee = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + relayer: (0, helpers_1.isSet)(object.relayer) ? String(object.relayer) : "", + counterpartyPayee: (0, helpers_1.isSet)(object.counterpartyPayee) ? String(object.counterpartyPayee) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + message.relayer !== undefined && (obj.relayer = message.relayer); + message.counterpartyPayee !== undefined && (obj.counterpartyPayee = message.counterpartyPayee); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgRegisterCounterpartyPayee(); + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + message.relayer = object.relayer ?? ""; + message.counterpartyPayee = object.counterpartyPayee ?? ""; + return message; + }, +}; +function createBaseMsgRegisterCounterpartyPayeeResponse() { + return {}; +} +exports.MsgRegisterCounterpartyPayeeResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterCounterpartyPayeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgRegisterCounterpartyPayeeResponse(); + return message; + }, +}; +function createBaseMsgPayPacketFee() { + return { + fee: undefined, + sourcePortId: "", + sourceChannelId: "", + signer: "", + relayers: [], + }; +} +exports.MsgPayPacketFee = { + encode(message, writer = _m0.Writer.create()) { + if (message.fee !== undefined) { + fee_1.Fee.encode(message.fee, writer.uint32(10).fork()).ldelim(); + } + if (message.sourcePortId !== "") { + writer.uint32(18).string(message.sourcePortId); + } + if (message.sourceChannelId !== "") { + writer.uint32(26).string(message.sourceChannelId); + } + if (message.signer !== "") { + writer.uint32(34).string(message.signer); + } + for (const v of message.relayers) { + writer.uint32(42).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPayPacketFee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fee = fee_1.Fee.decode(reader, reader.uint32()); + break; + case 2: + message.sourcePortId = reader.string(); + break; + case 3: + message.sourceChannelId = reader.string(); + break; + case 4: + message.signer = reader.string(); + break; + case 5: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + fee: (0, helpers_1.isSet)(object.fee) ? fee_1.Fee.fromJSON(object.fee) : undefined, + sourcePortId: (0, helpers_1.isSet)(object.sourcePortId) ? String(object.sourcePortId) : "", + sourceChannelId: (0, helpers_1.isSet)(object.sourceChannelId) ? String(object.sourceChannelId) : "", + signer: (0, helpers_1.isSet)(object.signer) ? String(object.signer) : "", + relayers: Array.isArray(object?.relayers) ? object.relayers.map((e) => String(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.fee !== undefined && (obj.fee = message.fee ? fee_1.Fee.toJSON(message.fee) : undefined); + message.sourcePortId !== undefined && (obj.sourcePortId = message.sourcePortId); + message.sourceChannelId !== undefined && (obj.sourceChannelId = message.sourceChannelId); + message.signer !== undefined && (obj.signer = message.signer); + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } + else { + obj.relayers = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseMsgPayPacketFee(); + message.fee = object.fee !== undefined && object.fee !== null ? fee_1.Fee.fromPartial(object.fee) : undefined; + message.sourcePortId = object.sourcePortId ?? ""; + message.sourceChannelId = object.sourceChannelId ?? ""; + message.signer = object.signer ?? ""; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, +}; +function createBaseMsgPayPacketFeeResponse() { + return {}; +} +exports.MsgPayPacketFeeResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPayPacketFeeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgPayPacketFeeResponse(); + return message; + }, +}; +function createBaseMsgPayPacketFeeAsync() { + return { + packetId: undefined, + packetFee: undefined, + }; +} +exports.MsgPayPacketFeeAsync = { + encode(message, writer = _m0.Writer.create()) { + if (message.packetId !== undefined) { + channel_1.PacketId.encode(message.packetId, writer.uint32(10).fork()).ldelim(); + } + if (message.packetFee !== undefined) { + fee_1.PacketFee.encode(message.packetFee, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPayPacketFeeAsync(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetId = channel_1.PacketId.decode(reader, reader.uint32()); + break; + case 2: + message.packetFee = fee_1.PacketFee.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + packetId: (0, helpers_1.isSet)(object.packetId) ? channel_1.PacketId.fromJSON(object.packetId) : undefined, + packetFee: (0, helpers_1.isSet)(object.packetFee) ? fee_1.PacketFee.fromJSON(object.packetFee) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.packetId !== undefined && + (obj.packetId = message.packetId ? channel_1.PacketId.toJSON(message.packetId) : undefined); + message.packetFee !== undefined && + (obj.packetFee = message.packetFee ? fee_1.PacketFee.toJSON(message.packetFee) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgPayPacketFeeAsync(); + message.packetId = + object.packetId !== undefined && object.packetId !== null + ? channel_1.PacketId.fromPartial(object.packetId) + : undefined; + message.packetFee = + object.packetFee !== undefined && object.packetFee !== null + ? fee_1.PacketFee.fromPartial(object.packetFee) + : undefined; + return message; + }, +}; +function createBaseMsgPayPacketFeeAsyncResponse() { + return {}; +} +exports.MsgPayPacketFeeAsyncResponse = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPayPacketFeeAsyncResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseMsgPayPacketFeeAsyncResponse(); + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.RegisterPayee = this.RegisterPayee.bind(this); + this.RegisterCounterpartyPayee = this.RegisterCounterpartyPayee.bind(this); + this.PayPacketFee = this.PayPacketFee.bind(this); + this.PayPacketFeeAsync = this.PayPacketFeeAsync.bind(this); + } + RegisterPayee(request) { + const data = exports.MsgRegisterPayee.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Msg", "RegisterPayee", data); + return promise.then((data) => exports.MsgRegisterPayeeResponse.decode(new _m0.Reader(data))); + } + RegisterCounterpartyPayee(request) { + const data = exports.MsgRegisterCounterpartyPayee.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Msg", "RegisterCounterpartyPayee", data); + return promise.then((data) => exports.MsgRegisterCounterpartyPayeeResponse.decode(new _m0.Reader(data))); + } + PayPacketFee(request) { + const data = exports.MsgPayPacketFee.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Msg", "PayPacketFee", data); + return promise.then((data) => exports.MsgPayPacketFeeResponse.decode(new _m0.Reader(data))); + } + PayPacketFeeAsync(request) { + const data = exports.MsgPayPacketFeeAsync.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.fee.v1.Msg", "PayPacketFeeAsync", data); + return promise.then((data) => exports.MsgPayPacketFeeAsyncResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js.map new file mode 100644 index 00000000..b9b8d4f0 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/fee/v1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/fee/v1/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.d.ts new file mode 100644 index 00000000..10747498 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.d.ts @@ -0,0 +1,21 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +/** + * Params defines the set of on-chain interchain accounts parameters. + * The following parameters may be used to disable the controller submodule. + */ +export interface Params { + /** controller_enabled enables or disables the controller submodule. */ + controllerEnabled: boolean; +} +export declare const Params: { + encode(message: Params, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Params; + fromJSON(object: any): Params; + toJSON(message: Params): unknown; + fromPartial, never>>(object: I): Params; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js new file mode 100644 index 00000000..6f78980b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Params = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +function createBaseParams() { + return { + controllerEnabled: false, + }; +} +exports.Params = { + encode(message, writer = _m0.Writer.create()) { + if (message.controllerEnabled === true) { + writer.uint32(8).bool(message.controllerEnabled); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.controllerEnabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + controllerEnabled: (0, helpers_1.isSet)(object.controllerEnabled) ? Boolean(object.controllerEnabled) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.controllerEnabled !== undefined && (obj.controllerEnabled = message.controllerEnabled); + return obj; + }, + fromPartial(object) { + const message = createBaseParams(); + message.controllerEnabled = object.controllerEnabled ?? false; + return message; + }, +}; +//# sourceMappingURL=controller.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js.map new file mode 100644 index 00000000..6bd53b49 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/controller/v1/controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wDAA0C;AAC1C,oDAAmE;AACtD,QAAA,eAAe,GAAG,oDAAoD,CAAC;AASpF,SAAS,gBAAgB;IACvB,OAAO;QACL,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,iBAAiB,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK;SAC/F,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC9D,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.d.ts new file mode 100644 index 00000000..43c4cbeb --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.d.ts @@ -0,0 +1,82 @@ +import { Params } from "./controller"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../../../helpers"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +/** QueryInterchainAccountRequest is the request type for the Query/InterchainAccount RPC method. */ +export interface QueryInterchainAccountRequest { + owner: string; + connectionId: string; +} +/** QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method. */ +export interface QueryInterchainAccountResponse { + address: string; +} +/** QueryParamsRequest is the request type for the Query/Params RPC method. */ +export interface QueryParamsRequest { +} +/** QueryParamsResponse is the response type for the Query/Params RPC method. */ +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} +export declare const QueryInterchainAccountRequest: { + encode(message: QueryInterchainAccountRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryInterchainAccountRequest; + fromJSON(object: any): QueryInterchainAccountRequest; + toJSON(message: QueryInterchainAccountRequest): unknown; + fromPartial, never>>(object: I): QueryInterchainAccountRequest; +}; +export declare const QueryInterchainAccountResponse: { + encode(message: QueryInterchainAccountResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryInterchainAccountResponse; + fromJSON(object: any): QueryInterchainAccountResponse; + toJSON(message: QueryInterchainAccountResponse): unknown; + fromPartial, never>>(object: I): QueryInterchainAccountResponse; +}; +export declare const QueryParamsRequest: { + encode(_: QueryParamsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest; + fromJSON(_: any): QueryParamsRequest; + toJSON(_: QueryParamsRequest): unknown; + fromPartial, never>>(_: I): QueryParamsRequest; +}; +export declare const QueryParamsResponse: { + encode(message: QueryParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse; + fromJSON(object: any): QueryParamsResponse; + toJSON(message: QueryParamsResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): QueryParamsResponse; +}; +/** Query provides defines the gRPC querier service. */ +export interface Query { + /** InterchainAccount returns the interchain account address for a given owner address on a given connection */ + InterchainAccount(request: QueryInterchainAccountRequest): Promise; + /** Params queries all parameters of the ICA controller submodule. */ + Params(request?: QueryParamsRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + InterchainAccount(request: QueryInterchainAccountRequest): Promise; + Params(request?: QueryParamsRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js new file mode 100644 index 00000000..37495a96 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js @@ -0,0 +1,229 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryParamsResponse = exports.QueryParamsRequest = exports.QueryInterchainAccountResponse = exports.QueryInterchainAccountRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const controller_1 = require("./controller"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +function createBaseQueryInterchainAccountRequest() { + return { + owner: "", + connectionId: "", + }; +} +exports.QueryInterchainAccountRequest = { + encode(message, writer = _m0.Writer.create()) { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + if (message.connectionId !== "") { + writer.uint32(18).string(message.connectionId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryInterchainAccountRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = reader.string(); + break; + case 2: + message.connectionId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + connectionId: (0, helpers_1.isSet)(object.connectionId) ? String(object.connectionId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.owner !== undefined && (obj.owner = message.owner); + message.connectionId !== undefined && (obj.connectionId = message.connectionId); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryInterchainAccountRequest(); + message.owner = object.owner ?? ""; + message.connectionId = object.connectionId ?? ""; + return message; + }, +}; +function createBaseQueryInterchainAccountResponse() { + return { + address: "", + }; +} +exports.QueryInterchainAccountResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryInterchainAccountResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryInterchainAccountResponse(); + message.address = object.address ?? ""; + return message; + }, +}; +function createBaseQueryParamsRequest() { + return {}; +} +exports.QueryParamsRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; +function createBaseQueryParamsResponse() { + return { + params: undefined, + }; +} +exports.QueryParamsResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.params !== undefined) { + controller_1.Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.params = controller_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + params: (0, helpers_1.isSet)(object.params) ? controller_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.params !== undefined && (obj.params = message.params ? controller_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryParamsResponse(); + message.params = + object.params !== undefined && object.params !== null ? controller_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.InterchainAccount = this.InterchainAccount.bind(this); + this.Params = this.Params.bind(this); + } + InterchainAccount(request) { + const data = exports.QueryInterchainAccountRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.interchain_accounts.controller.v1.Query", "InterchainAccount", data); + return promise.then((data) => exports.QueryInterchainAccountResponse.decode(new _m0.Reader(data))); + } + Params(request = {}) { + const data = exports.QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.interchain_accounts.controller.v1.Query", "Params", data); + return promise.then((data) => exports.QueryParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js.map new file mode 100644 index 00000000..5ed6d821 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/controller/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.d.ts new file mode 100644 index 00000000..0c49a430 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.d.ts @@ -0,0 +1,223 @@ +/// +import { InterchainAccountPacketData } from "../../v1/packet"; +import { Long, Rpc } from "../../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +/** MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount */ +export interface MsgRegisterInterchainAccount { + owner: string; + connectionId: string; + version: string; +} +/** MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount */ +export interface MsgRegisterInterchainAccountResponse { + channelId: string; +} +/** MsgSendTx defines the payload for Msg/SendTx */ +export interface MsgSendTx { + owner: string; + connectionId: string; + packetData?: InterchainAccountPacketData; + /** + * Relative timeout timestamp provided will be added to the current block time during transaction execution. + * The timeout timestamp must be non-zero. + */ + relativeTimeout: Long; +} +/** MsgSendTxResponse defines the response for MsgSendTx */ +export interface MsgSendTxResponse { + sequence: Long; +} +export declare const MsgRegisterInterchainAccount: { + encode(message: MsgRegisterInterchainAccount, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterInterchainAccount; + fromJSON(object: any): MsgRegisterInterchainAccount; + toJSON(message: MsgRegisterInterchainAccount): unknown; + fromPartial, never>>(object: I): MsgRegisterInterchainAccount; +}; +export declare const MsgRegisterInterchainAccountResponse: { + encode(message: MsgRegisterInterchainAccountResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterInterchainAccountResponse; + fromJSON(object: any): MsgRegisterInterchainAccountResponse; + toJSON(message: MsgRegisterInterchainAccountResponse): unknown; + fromPartial, never>>(object: I): MsgRegisterInterchainAccountResponse; +}; +export declare const MsgSendTx: { + encode(message: MsgSendTx, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSendTx; + fromJSON(object: any): MsgSendTx; + toJSON(message: MsgSendTx): unknown; + fromPartial, never>) | undefined; + relativeTimeout?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgSendTx; +}; +export declare const MsgSendTxResponse: { + encode(message: MsgSendTxResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSendTxResponse; + fromJSON(object: any): MsgSendTxResponse; + toJSON(message: MsgSendTxResponse): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): MsgSendTxResponse; +}; +/** Msg defines the 27-interchain-accounts/controller Msg service. */ +export interface Msg { + /** RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount. */ + RegisterInterchainAccount(request: MsgRegisterInterchainAccount): Promise; + /** SendTx defines a rpc handler for MsgSendTx. */ + SendTx(request: MsgSendTx): Promise; +} +export declare class MsgClientImpl implements Msg { + private readonly rpc; + constructor(rpc: Rpc); + RegisterInterchainAccount(request: MsgRegisterInterchainAccount): Promise; + SendTx(request: MsgSendTx): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js new file mode 100644 index 00000000..12b3b167 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js @@ -0,0 +1,295 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MsgClientImpl = exports.MsgSendTxResponse = exports.MsgSendTx = exports.MsgRegisterInterchainAccountResponse = exports.MsgRegisterInterchainAccount = exports.protobufPackage = void 0; +/* eslint-disable */ +const packet_1 = require("../../v1/packet"); +const helpers_1 = require("../../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "ibc.applications.interchain_accounts.controller.v1"; +function createBaseMsgRegisterInterchainAccount() { + return { + owner: "", + connectionId: "", + version: "", + }; +} +exports.MsgRegisterInterchainAccount = { + encode(message, writer = _m0.Writer.create()) { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + if (message.connectionId !== "") { + writer.uint32(18).string(message.connectionId); + } + if (message.version !== "") { + writer.uint32(26).string(message.version); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterInterchainAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = reader.string(); + break; + case 2: + message.connectionId = reader.string(); + break; + case 3: + message.version = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + connectionId: (0, helpers_1.isSet)(object.connectionId) ? String(object.connectionId) : "", + version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.owner !== undefined && (obj.owner = message.owner); + message.connectionId !== undefined && (obj.connectionId = message.connectionId); + message.version !== undefined && (obj.version = message.version); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgRegisterInterchainAccount(); + message.owner = object.owner ?? ""; + message.connectionId = object.connectionId ?? ""; + message.version = object.version ?? ""; + return message; + }, +}; +function createBaseMsgRegisterInterchainAccountResponse() { + return { + channelId: "", + }; +} +exports.MsgRegisterInterchainAccountResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.channelId !== "") { + writer.uint32(10).string(message.channelId); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterInterchainAccountResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.channelId !== undefined && (obj.channelId = message.channelId); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgRegisterInterchainAccountResponse(); + message.channelId = object.channelId ?? ""; + return message; + }, +}; +function createBaseMsgSendTx() { + return { + owner: "", + connectionId: "", + packetData: undefined, + relativeTimeout: helpers_1.Long.UZERO, + }; +} +exports.MsgSendTx = { + encode(message, writer = _m0.Writer.create()) { + if (message.owner !== "") { + writer.uint32(10).string(message.owner); + } + if (message.connectionId !== "") { + writer.uint32(18).string(message.connectionId); + } + if (message.packetData !== undefined) { + packet_1.InterchainAccountPacketData.encode(message.packetData, writer.uint32(26).fork()).ldelim(); + } + if (!message.relativeTimeout.isZero()) { + writer.uint32(32).uint64(message.relativeTimeout); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.owner = reader.string(); + break; + case 2: + message.connectionId = reader.string(); + break; + case 3: + message.packetData = packet_1.InterchainAccountPacketData.decode(reader, reader.uint32()); + break; + case 4: + message.relativeTimeout = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + owner: (0, helpers_1.isSet)(object.owner) ? String(object.owner) : "", + connectionId: (0, helpers_1.isSet)(object.connectionId) ? String(object.connectionId) : "", + packetData: (0, helpers_1.isSet)(object.packetData) + ? packet_1.InterchainAccountPacketData.fromJSON(object.packetData) + : undefined, + relativeTimeout: (0, helpers_1.isSet)(object.relativeTimeout) ? helpers_1.Long.fromValue(object.relativeTimeout) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.owner !== undefined && (obj.owner = message.owner); + message.connectionId !== undefined && (obj.connectionId = message.connectionId); + message.packetData !== undefined && + (obj.packetData = message.packetData + ? packet_1.InterchainAccountPacketData.toJSON(message.packetData) + : undefined); + message.relativeTimeout !== undefined && + (obj.relativeTimeout = (message.relativeTimeout || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSendTx(); + message.owner = object.owner ?? ""; + message.connectionId = object.connectionId ?? ""; + message.packetData = + object.packetData !== undefined && object.packetData !== null + ? packet_1.InterchainAccountPacketData.fromPartial(object.packetData) + : undefined; + message.relativeTimeout = + object.relativeTimeout !== undefined && object.relativeTimeout !== null + ? helpers_1.Long.fromValue(object.relativeTimeout) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseMsgSendTxResponse() { + return { + sequence: helpers_1.Long.UZERO, + }; +} +exports.MsgSendTxResponse = { + encode(message, writer = _m0.Writer.create()) { + if (!message.sequence.isZero()) { + writer.uint32(8).uint64(message.sequence); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sequence = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sequence: (0, helpers_1.isSet)(object.sequence) ? helpers_1.Long.fromValue(object.sequence) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseMsgSendTxResponse(); + message.sequence = + object.sequence !== undefined && object.sequence !== null + ? helpers_1.Long.fromValue(object.sequence) + : helpers_1.Long.UZERO; + return message; + }, +}; +class MsgClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.RegisterInterchainAccount = this.RegisterInterchainAccount.bind(this); + this.SendTx = this.SendTx.bind(this); + } + RegisterInterchainAccount(request) { + const data = exports.MsgRegisterInterchainAccount.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.interchain_accounts.controller.v1.Msg", "RegisterInterchainAccount", data); + return promise.then((data) => exports.MsgRegisterInterchainAccountResponse.decode(new _m0.Reader(data))); + } + SendTx(request) { + const data = exports.MsgSendTx.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.interchain_accounts.controller.v1.Msg", "SendTx", data); + return promise.then((data) => exports.MsgSendTxResponse.decode(new _m0.Reader(data))); + } +} +exports.MsgClientImpl = MsgClientImpl; +//# sourceMappingURL=tx.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js.map new file mode 100644 index 00000000..eca61f8a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/controller/v1/tx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/controller/v1/tx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,4CAA8D;AAC9D,oDAA8E;AAC9E,wDAA0C;AAC7B,QAAA,eAAe,GAAG,oDAAoD,CAAC;AA0BpF,SAAS,sCAAsC;IAC7C,OAAO;QACL,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AACY,QAAA,4BAA4B,GAAG;IAC1C,MAAM,CAAC,OAAqC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpF,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sCAAsC,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,KAAK,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACtD,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3E,OAAO,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAqC;QAC1C,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CACT,MAAS;QAET,MAAM,OAAO,GAAG,sCAAsC,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,8CAA8C;IACrD,OAAO;QACL,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AACY,QAAA,oCAAoC,GAAG;IAClD,MAAM,CACJ,OAA6C,EAC7C,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAExC,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,8CAA8C,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAA6C;QAClD,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CACT,MAAS;QAET,MAAM,OAAO,GAAG,8CAA8C,EAAE,CAAC;QACjE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,mBAAmB;IAC1B,OAAO;QACL,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,cAAI,CAAC,KAAK;KAC5B,CAAC;AACJ,CAAC;AACY,QAAA,SAAS,GAAG;IACvB,MAAM,CAAC,OAAkB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACjE,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACpC,oCAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3F;QACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,UAAU,GAAG,oCAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAClD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,KAAK,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACtD,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3E,UAAU,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,UAAU,CAAC;gBAClC,CAAC,CAAC,oCAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzD,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;SACrG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAkB;QACvB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;gBAClC,CAAC,CAAC,oCAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,eAAe,KAAK,SAAS;YACnC,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA6C,MAAS;QAC/D,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,UAAU;YAChB,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAC3D,CAAC,CAAC,oCAA2B,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,eAAe;YACrB,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;gBACrE,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;gBACxC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,2BAA2B;IAClC,OAAO;QACL,QAAQ,EAAE,cAAI,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AACY,QAAA,iBAAiB,GAAG;IAC/B,MAAM,CAAC,OAA0B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACzE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC3C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;SAChF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAA0B;QAC/B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAqD,MAAS;QACvE,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAUF,MAAa,aAAa;IAExB,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,yBAAyB,CACvB,OAAqC;QAErC,MAAM,IAAI,GAAG,oCAA4B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,wDAAwD,EACxD,2BAA2B,EAC3B,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4CAAoC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,CAAC,OAAkB;QACvB,MAAM,IAAI,GAAG,iBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,wDAAwD,EACxD,QAAQ,EACR,IAAI,CACL,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;CACF;AA3BD,sCA2BC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.d.ts new file mode 100644 index 00000000..d11a7356 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.d.ts @@ -0,0 +1,381 @@ +import { Params as Params1 } from "../../controller/v1/controller"; +import { Params as Params2 } from "../../host/v1/host"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.genesis.v1"; +/** GenesisState defines the interchain accounts genesis state */ +export interface GenesisState { + controllerGenesisState?: ControllerGenesisState; + hostGenesisState?: HostGenesisState; +} +/** ControllerGenesisState defines the interchain accounts controller genesis state */ +export interface ControllerGenesisState { + activeChannels: ActiveChannel[]; + interchainAccounts: RegisteredInterchainAccount[]; + ports: string[]; + params?: Params1; +} +/** HostGenesisState defines the interchain accounts host genesis state */ +export interface HostGenesisState { + activeChannels: ActiveChannel[]; + interchainAccounts: RegisteredInterchainAccount[]; + port: string; + params?: Params2; +} +/** + * ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to + * indicate if the channel is middleware enabled + */ +export interface ActiveChannel { + connectionId: string; + portId: string; + channelId: string; + isMiddlewareEnabled: boolean; +} +/** RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address */ +export interface RegisteredInterchainAccount { + connectionId: string; + portId: string; + accountAddress: string; +} +export declare const GenesisState: { + encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState; + fromJSON(object: any): GenesisState; + toJSON(message: GenesisState): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + interchainAccounts?: ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + }[] & ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & { + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ports?: (string[] & string[] & Record, never>) | undefined; + params?: ({ + controllerEnabled?: boolean | undefined; + } & { + controllerEnabled?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + hostGenesisState?: ({ + activeChannels?: { + connectionId?: string | undefined; + portId?: string | undefined; + channelId?: string | undefined; + isMiddlewareEnabled?: boolean | undefined; + }[] | undefined; + interchainAccounts?: { + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + }[] | undefined; + port?: string | undefined; + params?: { + hostEnabled?: boolean | undefined; + allowMessages?: string[] | undefined; + } | undefined; + } & { + activeChannels?: ({ + connectionId?: string | undefined; + portId?: string | undefined; + channelId?: string | undefined; + isMiddlewareEnabled?: boolean | undefined; + }[] & ({ + connectionId?: string | undefined; + portId?: string | undefined; + channelId?: string | undefined; + isMiddlewareEnabled?: boolean | undefined; + } & { + connectionId?: string | undefined; + portId?: string | undefined; + channelId?: string | undefined; + isMiddlewareEnabled?: boolean | undefined; + } & Record, never>)[] & Record, never>) | undefined; + interchainAccounts?: ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + }[] & ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & { + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + port?: string | undefined; + params?: ({ + hostEnabled?: boolean | undefined; + allowMessages?: string[] | undefined; + } & { + hostEnabled?: boolean | undefined; + allowMessages?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): GenesisState; +}; +export declare const ControllerGenesisState: { + encode(message: ControllerGenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ControllerGenesisState; + fromJSON(object: any): ControllerGenesisState; + toJSON(message: ControllerGenesisState): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + interchainAccounts?: ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + }[] & ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & { + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + ports?: (string[] & string[] & Record, never>) | undefined; + params?: ({ + controllerEnabled?: boolean | undefined; + } & { + controllerEnabled?: boolean | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ControllerGenesisState; +}; +export declare const HostGenesisState: { + encode(message: HostGenesisState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): HostGenesisState; + fromJSON(object: any): HostGenesisState; + toJSON(message: HostGenesisState): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + interchainAccounts?: ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + }[] & ({ + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & { + connectionId?: string | undefined; + portId?: string | undefined; + accountAddress?: string | undefined; + } & Record, never>)[] & Record, never>) | undefined; + port?: string | undefined; + params?: ({ + hostEnabled?: boolean | undefined; + allowMessages?: string[] | undefined; + } & { + hostEnabled?: boolean | undefined; + allowMessages?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): HostGenesisState; +}; +export declare const ActiveChannel: { + encode(message: ActiveChannel, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ActiveChannel; + fromJSON(object: any): ActiveChannel; + toJSON(message: ActiveChannel): unknown; + fromPartial, never>>(object: I): ActiveChannel; +}; +export declare const RegisteredInterchainAccount: { + encode(message: RegisteredInterchainAccount, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): RegisteredInterchainAccount; + fromJSON(object: any): RegisteredInterchainAccount; + toJSON(message: RegisteredInterchainAccount): unknown; + fromPartial, never>>(object: I): RegisteredInterchainAccount; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js new file mode 100644 index 00000000..c0954729 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js @@ -0,0 +1,433 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RegisteredInterchainAccount = exports.ActiveChannel = exports.HostGenesisState = exports.ControllerGenesisState = exports.GenesisState = exports.protobufPackage = void 0; +/* eslint-disable */ +const controller_1 = require("../../controller/v1/controller"); +const host_1 = require("../../host/v1/host"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.genesis.v1"; +function createBaseGenesisState() { + return { + controllerGenesisState: undefined, + hostGenesisState: undefined, + }; +} +exports.GenesisState = { + encode(message, writer = _m0.Writer.create()) { + if (message.controllerGenesisState !== undefined) { + exports.ControllerGenesisState.encode(message.controllerGenesisState, writer.uint32(10).fork()).ldelim(); + } + if (message.hostGenesisState !== undefined) { + exports.HostGenesisState.encode(message.hostGenesisState, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.controllerGenesisState = exports.ControllerGenesisState.decode(reader, reader.uint32()); + break; + case 2: + message.hostGenesisState = exports.HostGenesisState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + controllerGenesisState: (0, helpers_1.isSet)(object.controllerGenesisState) + ? exports.ControllerGenesisState.fromJSON(object.controllerGenesisState) + : undefined, + hostGenesisState: (0, helpers_1.isSet)(object.hostGenesisState) + ? exports.HostGenesisState.fromJSON(object.hostGenesisState) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.controllerGenesisState !== undefined && + (obj.controllerGenesisState = message.controllerGenesisState + ? exports.ControllerGenesisState.toJSON(message.controllerGenesisState) + : undefined); + message.hostGenesisState !== undefined && + (obj.hostGenesisState = message.hostGenesisState + ? exports.HostGenesisState.toJSON(message.hostGenesisState) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseGenesisState(); + message.controllerGenesisState = + object.controllerGenesisState !== undefined && object.controllerGenesisState !== null + ? exports.ControllerGenesisState.fromPartial(object.controllerGenesisState) + : undefined; + message.hostGenesisState = + object.hostGenesisState !== undefined && object.hostGenesisState !== null + ? exports.HostGenesisState.fromPartial(object.hostGenesisState) + : undefined; + return message; + }, +}; +function createBaseControllerGenesisState() { + return { + activeChannels: [], + interchainAccounts: [], + ports: [], + params: undefined, + }; +} +exports.ControllerGenesisState = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.activeChannels) { + exports.ActiveChannel.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.interchainAccounts) { + exports.RegisteredInterchainAccount.encode(v, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.ports) { + writer.uint32(26).string(v); + } + if (message.params !== undefined) { + controller_1.Params.encode(message.params, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseControllerGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.activeChannels.push(exports.ActiveChannel.decode(reader, reader.uint32())); + break; + case 2: + message.interchainAccounts.push(exports.RegisteredInterchainAccount.decode(reader, reader.uint32())); + break; + case 3: + message.ports.push(reader.string()); + break; + case 4: + message.params = controller_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + activeChannels: Array.isArray(object?.activeChannels) + ? object.activeChannels.map((e) => exports.ActiveChannel.fromJSON(e)) + : [], + interchainAccounts: Array.isArray(object?.interchainAccounts) + ? object.interchainAccounts.map((e) => exports.RegisteredInterchainAccount.fromJSON(e)) + : [], + ports: Array.isArray(object?.ports) ? object.ports.map((e) => String(e)) : [], + params: (0, helpers_1.isSet)(object.params) ? controller_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.activeChannels) { + obj.activeChannels = message.activeChannels.map((e) => (e ? exports.ActiveChannel.toJSON(e) : undefined)); + } + else { + obj.activeChannels = []; + } + if (message.interchainAccounts) { + obj.interchainAccounts = message.interchainAccounts.map((e) => e ? exports.RegisteredInterchainAccount.toJSON(e) : undefined); + } + else { + obj.interchainAccounts = []; + } + if (message.ports) { + obj.ports = message.ports.map((e) => e); + } + else { + obj.ports = []; + } + message.params !== undefined && + (obj.params = message.params ? controller_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseControllerGenesisState(); + message.activeChannels = object.activeChannels?.map((e) => exports.ActiveChannel.fromPartial(e)) || []; + message.interchainAccounts = + object.interchainAccounts?.map((e) => exports.RegisteredInterchainAccount.fromPartial(e)) || []; + message.ports = object.ports?.map((e) => e) || []; + message.params = + object.params !== undefined && object.params !== null ? controller_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseHostGenesisState() { + return { + activeChannels: [], + interchainAccounts: [], + port: "", + params: undefined, + }; +} +exports.HostGenesisState = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.activeChannels) { + exports.ActiveChannel.encode(v, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.interchainAccounts) { + exports.RegisteredInterchainAccount.encode(v, writer.uint32(18).fork()).ldelim(); + } + if (message.port !== "") { + writer.uint32(26).string(message.port); + } + if (message.params !== undefined) { + host_1.Params.encode(message.params, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHostGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.activeChannels.push(exports.ActiveChannel.decode(reader, reader.uint32())); + break; + case 2: + message.interchainAccounts.push(exports.RegisteredInterchainAccount.decode(reader, reader.uint32())); + break; + case 3: + message.port = reader.string(); + break; + case 4: + message.params = host_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + activeChannels: Array.isArray(object?.activeChannels) + ? object.activeChannels.map((e) => exports.ActiveChannel.fromJSON(e)) + : [], + interchainAccounts: Array.isArray(object?.interchainAccounts) + ? object.interchainAccounts.map((e) => exports.RegisteredInterchainAccount.fromJSON(e)) + : [], + port: (0, helpers_1.isSet)(object.port) ? String(object.port) : "", + params: (0, helpers_1.isSet)(object.params) ? host_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + if (message.activeChannels) { + obj.activeChannels = message.activeChannels.map((e) => (e ? exports.ActiveChannel.toJSON(e) : undefined)); + } + else { + obj.activeChannels = []; + } + if (message.interchainAccounts) { + obj.interchainAccounts = message.interchainAccounts.map((e) => e ? exports.RegisteredInterchainAccount.toJSON(e) : undefined); + } + else { + obj.interchainAccounts = []; + } + message.port !== undefined && (obj.port = message.port); + message.params !== undefined && + (obj.params = message.params ? host_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseHostGenesisState(); + message.activeChannels = object.activeChannels?.map((e) => exports.ActiveChannel.fromPartial(e)) || []; + message.interchainAccounts = + object.interchainAccounts?.map((e) => exports.RegisteredInterchainAccount.fromPartial(e)) || []; + message.port = object.port ?? ""; + message.params = + object.params !== undefined && object.params !== null ? host_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +function createBaseActiveChannel() { + return { + connectionId: "", + portId: "", + channelId: "", + isMiddlewareEnabled: false, + }; +} +exports.ActiveChannel = { + encode(message, writer = _m0.Writer.create()) { + if (message.connectionId !== "") { + writer.uint32(10).string(message.connectionId); + } + if (message.portId !== "") { + writer.uint32(18).string(message.portId); + } + if (message.channelId !== "") { + writer.uint32(26).string(message.channelId); + } + if (message.isMiddlewareEnabled === true) { + writer.uint32(32).bool(message.isMiddlewareEnabled); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActiveChannel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.connectionId = reader.string(); + break; + case 2: + message.portId = reader.string(); + break; + case 3: + message.channelId = reader.string(); + break; + case 4: + message.isMiddlewareEnabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + connectionId: (0, helpers_1.isSet)(object.connectionId) ? String(object.connectionId) : "", + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + channelId: (0, helpers_1.isSet)(object.channelId) ? String(object.channelId) : "", + isMiddlewareEnabled: (0, helpers_1.isSet)(object.isMiddlewareEnabled) ? Boolean(object.isMiddlewareEnabled) : false, + }; + }, + toJSON(message) { + const obj = {}; + message.connectionId !== undefined && (obj.connectionId = message.connectionId); + message.portId !== undefined && (obj.portId = message.portId); + message.channelId !== undefined && (obj.channelId = message.channelId); + message.isMiddlewareEnabled !== undefined && (obj.isMiddlewareEnabled = message.isMiddlewareEnabled); + return obj; + }, + fromPartial(object) { + const message = createBaseActiveChannel(); + message.connectionId = object.connectionId ?? ""; + message.portId = object.portId ?? ""; + message.channelId = object.channelId ?? ""; + message.isMiddlewareEnabled = object.isMiddlewareEnabled ?? false; + return message; + }, +}; +function createBaseRegisteredInterchainAccount() { + return { + connectionId: "", + portId: "", + accountAddress: "", + }; +} +exports.RegisteredInterchainAccount = { + encode(message, writer = _m0.Writer.create()) { + if (message.connectionId !== "") { + writer.uint32(10).string(message.connectionId); + } + if (message.portId !== "") { + writer.uint32(18).string(message.portId); + } + if (message.accountAddress !== "") { + writer.uint32(26).string(message.accountAddress); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisteredInterchainAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.connectionId = reader.string(); + break; + case 2: + message.portId = reader.string(); + break; + case 3: + message.accountAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + connectionId: (0, helpers_1.isSet)(object.connectionId) ? String(object.connectionId) : "", + portId: (0, helpers_1.isSet)(object.portId) ? String(object.portId) : "", + accountAddress: (0, helpers_1.isSet)(object.accountAddress) ? String(object.accountAddress) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.connectionId !== undefined && (obj.connectionId = message.connectionId); + message.portId !== undefined && (obj.portId = message.portId); + message.accountAddress !== undefined && (obj.accountAddress = message.accountAddress); + return obj; + }, + fromPartial(object) { + const message = createBaseRegisteredInterchainAccount(); + message.connectionId = object.connectionId ?? ""; + message.portId = object.portId ?? ""; + message.accountAddress = object.accountAddress ?? ""; + return message; + }, +}; +//# sourceMappingURL=genesis.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js.map new file mode 100644 index 00000000..4e5f31ed --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/genesis/v1/genesis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/genesis/v1/genesis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,+DAAmE;AACnE,6CAAuD;AACvD,wDAA0C;AAC1C,oDAAmE;AACtD,QAAA,eAAe,GAAG,iDAAiD,CAAC;AAoCjF,SAAS,sBAAsB;IAC7B,OAAO;QACL,sBAAsB,EAAE,SAAS;QACjC,gBAAgB,EAAE,SAAS;KAC5B,CAAC;AACJ,CAAC;AACY,QAAA,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE;YAChD,8BAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClG;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC1C,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACtF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,sBAAsB,GAAG,8BAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxF,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,gBAAgB,GAAG,wBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,sBAAsB,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,sBAAsB,CAAC;gBAC1D,CAAC,CAAC,8BAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBAChE,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC9C,CAAC,CAAC,wBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACpD,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,sBAAsB,KAAK,SAAS;YAC1C,CAAC,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB;gBAC1D,CAAC,CAAC,8BAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC/D,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACpC,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;gBAC9C,CAAC,CAAC,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAgD,MAAS;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,sBAAsB;YAC5B,MAAM,CAAC,sBAAsB,KAAK,SAAS,IAAI,MAAM,CAAC,sBAAsB,KAAK,IAAI;gBACnF,CAAC,CAAC,8BAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBACnE,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,gBAAgB;YACtB,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI;gBACvE,CAAC,CAAC,wBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACvD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,gCAAgC;IACvC,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,EAAE;QACtB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AACY,QAAA,sBAAsB,GAAG;IACpC,MAAM,CAAC,OAA+B,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;YACtC,qBAAa,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC1C,mCAA2B,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SAC9B;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,mBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7F,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,mBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;gBACnD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,EAAE;YACN,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,mCAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAClF,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAA+B;QACpC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SACnG;aAAM;YACL,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC9B,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5D,CAAC,CAAC,CAAC,CAAC,mCAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;SACH;aAAM;YACL,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;SACzC;aAAM;YACL,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0D,MAAS;QAC5E,MAAM,OAAO,GAAG,gCAAgC,EAAE,CAAC;QACnD,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,OAAO,CAAC,kBAAkB;YACxB,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mCAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,0BAA0B;IACjC,OAAO;QACL,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,EAAE;QACtB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AACY,QAAA,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;YACtC,qBAAa,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC1C,mCAA2B,CAAC,MAAM,CAAC,CAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,aAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACnE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC7F,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,aAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzD,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;gBACnD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,EAAE;YACN,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,mCAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,EAAE;YACN,IAAI,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;SACnG;aAAM;YACL,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC9B,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5D,CAAC,CAAC,CAAC,CAAC,mCAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;SACH;aAAM;YACL,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAC7B;QACD,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAoD,MAAS;QACtE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,OAAO,CAAC,kBAAkB;YACxB,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mCAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,aAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,uBAAuB;IAC9B,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;QACb,mBAAmB,EAAE,KAAK;KAC3B,CAAC;AACJ,CAAC;AACY,QAAA,aAAa,GAAG;IAC3B,MAAM,CAAC,OAAsB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACrE,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3E,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YAClE,mBAAmB,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK;SACrG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAsB;QAC3B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,CAAC,mBAAmB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAiD,MAAS;QACnE,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;QAC1C,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,qCAAqC;IAC5C,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AACY,QAAA,2BAA2B,GAAG;IACzC,MAAM,CAAC,OAAoC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnF,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qCAAqC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3E,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,cAAc,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SAClF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAoC;QACzC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CACT,MAAS;QAET,MAAM,OAAO,GAAG,qCAAqC,EAAE,CAAC;QACxD,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.d.ts new file mode 100644 index 00000000..fd4f0c54 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.d.ts @@ -0,0 +1,25 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.host.v1"; +/** + * Params defines the set of on-chain interchain accounts parameters. + * The following parameters may be used to disable the host submodule. + */ +export interface Params { + /** host_enabled enables or disables the host submodule. */ + hostEnabled: boolean; + /** allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. */ + allowMessages: string[]; +} +export declare const Params: { + encode(message: Params, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Params; + fromJSON(object: any): Params; + toJSON(message: Params): unknown; + fromPartial, never>) | undefined; + } & Record, never>>(object: I): Params; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js new file mode 100644 index 00000000..e8aca588 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js @@ -0,0 +1,93 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Params = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.host.v1"; +function createBaseParams() { + return { + hostEnabled: false, + allowMessages: [], + }; +} +exports.Params = { + encode(message, writer = _m0.Writer.create()) { + if (message.hostEnabled === true) { + writer.uint32(8).bool(message.hostEnabled); + } + for (const v of message.allowMessages) { + writer.uint32(18).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hostEnabled = reader.bool(); + break; + case 2: + message.allowMessages.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + hostEnabled: (0, helpers_1.isSet)(object.hostEnabled) ? Boolean(object.hostEnabled) : false, + allowMessages: Array.isArray(object?.allowMessages) + ? object.allowMessages.map((e) => String(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + message.hostEnabled !== undefined && (obj.hostEnabled = message.hostEnabled); + if (message.allowMessages) { + obj.allowMessages = message.allowMessages.map((e) => e); + } + else { + obj.allowMessages = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseParams(); + message.hostEnabled = object.hostEnabled ?? false; + message.allowMessages = object.allowMessages?.map((e) => e) || []; + return message; + }, +}; +//# sourceMappingURL=host.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js.map new file mode 100644 index 00000000..dde55038 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/host.js.map @@ -0,0 +1 @@ +{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/host/v1/host.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.d.ts new file mode 100644 index 00000000..57cfa3f7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.d.ts @@ -0,0 +1,49 @@ +import { Params } from "./host"; +import * as _m0 from "protobufjs/minimal"; +import { Rpc } from "../../../../../helpers"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.host.v1"; +/** QueryParamsRequest is the request type for the Query/Params RPC method. */ +export interface QueryParamsRequest { +} +/** QueryParamsResponse is the response type for the Query/Params RPC method. */ +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} +export declare const QueryParamsRequest: { + encode(_: QueryParamsRequest, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest; + fromJSON(_: any): QueryParamsRequest; + toJSON(_: QueryParamsRequest): unknown; + fromPartial, never>>(_: I): QueryParamsRequest; +}; +export declare const QueryParamsResponse: { + encode(message: QueryParamsResponse, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse; + fromJSON(object: any): QueryParamsResponse; + toJSON(message: QueryParamsResponse): unknown; + fromPartial, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): QueryParamsResponse; +}; +/** Query provides defines the gRPC querier service. */ +export interface Query { + /** Params queries all parameters of the ICA host submodule. */ + Params(request?: QueryParamsRequest): Promise; +} +export declare class QueryClientImpl implements Query { + private readonly rpc; + constructor(rpc: Rpc); + Params(request?: QueryParamsRequest): Promise; +} diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js new file mode 100644 index 00000000..9e7d0894 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js @@ -0,0 +1,123 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QueryClientImpl = exports.QueryParamsResponse = exports.QueryParamsRequest = exports.protobufPackage = void 0; +/* eslint-disable */ +const host_1 = require("./host"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.host.v1"; +function createBaseQueryParamsRequest() { + return {}; +} +exports.QueryParamsRequest = { + encode(_, writer = _m0.Writer.create()) { + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_) { + return {}; + }, + toJSON(_) { + const obj = {}; + return obj; + }, + fromPartial(_) { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; +function createBaseQueryParamsResponse() { + return { + params: undefined, + }; +} +exports.QueryParamsResponse = { + encode(message, writer = _m0.Writer.create()) { + if (message.params !== undefined) { + host_1.Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.params = host_1.Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + params: (0, helpers_1.isSet)(object.params) ? host_1.Params.fromJSON(object.params) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.params !== undefined && (obj.params = message.params ? host_1.Params.toJSON(message.params) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseQueryParamsResponse(); + message.params = + object.params !== undefined && object.params !== null ? host_1.Params.fromPartial(object.params) : undefined; + return message; + }, +}; +class QueryClientImpl { + constructor(rpc) { + this.rpc = rpc; + this.Params = this.Params.bind(this); + } + Params(request = {}) { + const data = exports.QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request("ibc.applications.interchain_accounts.host.v1.Query", "Params", data); + return promise.then((data) => exports.QueryParamsResponse.decode(new _m0.Reader(data))); + } +} +exports.QueryClientImpl = QueryClientImpl; +//# sourceMappingURL=query.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js.map new file mode 100644 index 00000000..8dc050d7 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/host/v1/query.js.map @@ -0,0 +1 @@ +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../src/ibc/applications/interchain_accounts/host/v1/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.d.ts new file mode 100644 index 00000000..1b7e5670 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.d.ts @@ -0,0 +1,162 @@ +import { BaseAccount } from "../../../../cosmos/auth/v1beta1/auth"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.v1"; +/** An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain */ +export interface InterchainAccount { + baseAccount?: BaseAccount; + accountOwner: string; +} +export declare const InterchainAccount: { + encode(message: InterchainAccount, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): InterchainAccount; + fromJSON(object: any): InterchainAccount; + toJSON(message: InterchainAccount): unknown; + fromPartial, never>) | undefined; + accountNumber?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + sequence?: string | number | (import("long").Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | import("long").Long) => import("long").Long; + and: (other: string | number | import("long").Long) => import("long").Long; + compare: (other: string | number | import("long").Long) => number; + comp: (other: string | number | import("long").Long) => number; + divide: (divisor: string | number | import("long").Long) => import("long").Long; + div: (divisor: string | number | import("long").Long) => import("long").Long; + equals: (other: string | number | import("long").Long) => boolean; + eq: (other: string | number | import("long").Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | import("long").Long) => boolean; + gt: (other: string | number | import("long").Long) => boolean; + greaterThanOrEqual: (other: string | number | import("long").Long) => boolean; + gte: (other: string | number | import("long").Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | import("long").Long) => boolean; + lt: (other: string | number | import("long").Long) => boolean; + lessThanOrEqual: (other: string | number | import("long").Long) => boolean; + lte: (other: string | number | import("long").Long) => boolean; + modulo: (other: string | number | import("long").Long) => import("long").Long; + mod: (other: string | number | import("long").Long) => import("long").Long; + multiply: (multiplier: string | number | import("long").Long) => import("long").Long; + mul: (multiplier: string | number | import("long").Long) => import("long").Long; + negate: () => import("long").Long; + neg: () => import("long").Long; + not: () => import("long").Long; + notEquals: (other: string | number | import("long").Long) => boolean; + neq: (other: string | number | import("long").Long) => boolean; + or: (other: string | number | import("long").Long) => import("long").Long; + shiftLeft: (numBits: number | import("long").Long) => import("long").Long; + shl: (numBits: number | import("long").Long) => import("long").Long; + shiftRight: (numBits: number | import("long").Long) => import("long").Long; + shr: (numBits: number | import("long").Long) => import("long").Long; + shiftRightUnsigned: (numBits: number | import("long").Long) => import("long").Long; + shru: (numBits: number | import("long").Long) => import("long").Long; + subtract: (subtrahend: string | number | import("long").Long) => import("long").Long; + sub: (subtrahend: string | number | import("long").Long) => import("long").Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => import("long").Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => import("long").Long; + xor: (other: string | number | import("long").Long) => import("long").Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + accountOwner?: string | undefined; + } & Record, never>>(object: I): InterchainAccount; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js new file mode 100644 index 00000000..90823f1b --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js @@ -0,0 +1,91 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InterchainAccount = exports.protobufPackage = void 0; +/* eslint-disable */ +const auth_1 = require("../../../../cosmos/auth/v1beta1/auth"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.v1"; +function createBaseInterchainAccount() { + return { + baseAccount: undefined, + accountOwner: "", + }; +} +exports.InterchainAccount = { + encode(message, writer = _m0.Writer.create()) { + if (message.baseAccount !== undefined) { + auth_1.BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).ldelim(); + } + if (message.accountOwner !== "") { + writer.uint32(18).string(message.accountOwner); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInterchainAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.baseAccount = auth_1.BaseAccount.decode(reader, reader.uint32()); + break; + case 2: + message.accountOwner = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + baseAccount: (0, helpers_1.isSet)(object.baseAccount) ? auth_1.BaseAccount.fromJSON(object.baseAccount) : undefined, + accountOwner: (0, helpers_1.isSet)(object.accountOwner) ? String(object.accountOwner) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.baseAccount !== undefined && + (obj.baseAccount = message.baseAccount ? auth_1.BaseAccount.toJSON(message.baseAccount) : undefined); + message.accountOwner !== undefined && (obj.accountOwner = message.accountOwner); + return obj; + }, + fromPartial(object) { + const message = createBaseInterchainAccount(); + message.baseAccount = + object.baseAccount !== undefined && object.baseAccount !== null + ? auth_1.BaseAccount.fromPartial(object.baseAccount) + : undefined; + message.accountOwner = object.accountOwner ?? ""; + return message; + }, +}; +//# sourceMappingURL=account.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js.map new file mode 100644 index 00000000..a003f587 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/interchain_accounts/v1/account.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.d.ts new file mode 100644 index 00000000..74d636dc --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.d.ts @@ -0,0 +1,44 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.v1"; +/** + * Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring + * See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning + */ +export interface Metadata { + /** version defines the ICS27 protocol version */ + version: string; + /** controller_connection_id is the connection identifier associated with the controller chain */ + controllerConnectionId: string; + /** host_connection_id is the connection identifier associated with the host chain */ + hostConnectionId: string; + /** + * address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step + * NOTE: the address field is empty on the OnChanOpenInit handshake step + */ + address: string; + /** encoding defines the supported codec format */ + encoding: string; + /** tx_type defines the type of transactions the interchain account can execute */ + txType: string; +} +export declare const Metadata: { + encode(message: Metadata, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Metadata; + fromJSON(object: any): Metadata; + toJSON(message: Metadata): unknown; + fromPartial, never>>(object: I): Metadata; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js new file mode 100644 index 00000000..ce30121c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js @@ -0,0 +1,129 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Metadata = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.v1"; +function createBaseMetadata() { + return { + version: "", + controllerConnectionId: "", + hostConnectionId: "", + address: "", + encoding: "", + txType: "", + }; +} +exports.Metadata = { + encode(message, writer = _m0.Writer.create()) { + if (message.version !== "") { + writer.uint32(10).string(message.version); + } + if (message.controllerConnectionId !== "") { + writer.uint32(18).string(message.controllerConnectionId); + } + if (message.hostConnectionId !== "") { + writer.uint32(26).string(message.hostConnectionId); + } + if (message.address !== "") { + writer.uint32(34).string(message.address); + } + if (message.encoding !== "") { + writer.uint32(42).string(message.encoding); + } + if (message.txType !== "") { + writer.uint32(50).string(message.txType); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = reader.string(); + break; + case 2: + message.controllerConnectionId = reader.string(); + break; + case 3: + message.hostConnectionId = reader.string(); + break; + case 4: + message.address = reader.string(); + break; + case 5: + message.encoding = reader.string(); + break; + case 6: + message.txType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "", + controllerConnectionId: (0, helpers_1.isSet)(object.controllerConnectionId) + ? String(object.controllerConnectionId) + : "", + hostConnectionId: (0, helpers_1.isSet)(object.hostConnectionId) ? String(object.hostConnectionId) : "", + address: (0, helpers_1.isSet)(object.address) ? String(object.address) : "", + encoding: (0, helpers_1.isSet)(object.encoding) ? String(object.encoding) : "", + txType: (0, helpers_1.isSet)(object.txType) ? String(object.txType) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.version !== undefined && (obj.version = message.version); + message.controllerConnectionId !== undefined && + (obj.controllerConnectionId = message.controllerConnectionId); + message.hostConnectionId !== undefined && (obj.hostConnectionId = message.hostConnectionId); + message.address !== undefined && (obj.address = message.address); + message.encoding !== undefined && (obj.encoding = message.encoding); + message.txType !== undefined && (obj.txType = message.txType); + return obj; + }, + fromPartial(object) { + const message = createBaseMetadata(); + message.version = object.version ?? ""; + message.controllerConnectionId = object.controllerConnectionId ?? ""; + message.hostConnectionId = object.hostConnectionId ?? ""; + message.address = object.address ?? ""; + message.encoding = object.encoding ?? ""; + message.txType = object.txType ?? ""; + return message; + }, +}; +//# sourceMappingURL=metadata.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js.map new file mode 100644 index 00000000..ceb332e5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/metadata.js.map @@ -0,0 +1 @@ +{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/interchain_accounts/v1/metadata.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.d.ts new file mode 100644 index 00000000..97bd5c4c --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.d.ts @@ -0,0 +1,67 @@ +import { Any } from "../../../../google/protobuf/any"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.interchain_accounts.v1"; +/** + * Type defines a classification of message issued from a controller chain to its associated interchain accounts + * host + */ +export declare enum Type { + /** TYPE_UNSPECIFIED - Default zero value enumeration */ + TYPE_UNSPECIFIED = 0, + /** TYPE_EXECUTE_TX - Execute a transaction on an interchain accounts host chain */ + TYPE_EXECUTE_TX = 1, + UNRECOGNIZED = -1 +} +export declare function typeFromJSON(object: any): Type; +export declare function typeToJSON(object: Type): string; +/** InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. */ +export interface InterchainAccountPacketData { + type: Type; + data: Uint8Array; + memo: string; +} +/** CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. */ +export interface CosmosTx { + messages: Any[]; +} +export declare const InterchainAccountPacketData: { + encode(message: InterchainAccountPacketData, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): InterchainAccountPacketData; + fromJSON(object: any): InterchainAccountPacketData; + toJSON(message: InterchainAccountPacketData): unknown; + fromPartial, never>>(object: I): InterchainAccountPacketData; +}; +export declare const CosmosTx: { + encode(message: CosmosTx, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): CosmosTx; + fromJSON(object: any): CosmosTx; + toJSON(message: CosmosTx): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): CosmosTx; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js new file mode 100644 index 00000000..4d707c9e --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js @@ -0,0 +1,187 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CosmosTx = exports.InterchainAccountPacketData = exports.typeToJSON = exports.typeFromJSON = exports.Type = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../../google/protobuf/any"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.interchain_accounts.v1"; +/** + * Type defines a classification of message issued from a controller chain to its associated interchain accounts + * host + */ +var Type; +(function (Type) { + /** TYPE_UNSPECIFIED - Default zero value enumeration */ + Type[Type["TYPE_UNSPECIFIED"] = 0] = "TYPE_UNSPECIFIED"; + /** TYPE_EXECUTE_TX - Execute a transaction on an interchain accounts host chain */ + Type[Type["TYPE_EXECUTE_TX"] = 1] = "TYPE_EXECUTE_TX"; + Type[Type["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; +})(Type = exports.Type || (exports.Type = {})); +function typeFromJSON(object) { + switch (object) { + case 0: + case "TYPE_UNSPECIFIED": + return Type.TYPE_UNSPECIFIED; + case 1: + case "TYPE_EXECUTE_TX": + return Type.TYPE_EXECUTE_TX; + case -1: + case "UNRECOGNIZED": + default: + return Type.UNRECOGNIZED; + } +} +exports.typeFromJSON = typeFromJSON; +function typeToJSON(object) { + switch (object) { + case Type.TYPE_UNSPECIFIED: + return "TYPE_UNSPECIFIED"; + case Type.TYPE_EXECUTE_TX: + return "TYPE_EXECUTE_TX"; + case Type.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} +exports.typeToJSON = typeToJSON; +function createBaseInterchainAccountPacketData() { + return { + type: 0, + data: new Uint8Array(), + memo: "", + }; +} +exports.InterchainAccountPacketData = { + encode(message, writer = _m0.Writer.create()) { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.memo !== "") { + writer.uint32(26).string(message.memo); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInterchainAccountPacketData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.memo = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + type: (0, helpers_1.isSet)(object.type) ? typeFromJSON(object.type) : 0, + data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(), + memo: (0, helpers_1.isSet)(object.memo) ? String(object.memo) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.type !== undefined && (obj.type = typeToJSON(message.type)); + message.data !== undefined && + (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array())); + message.memo !== undefined && (obj.memo = message.memo); + return obj; + }, + fromPartial(object) { + const message = createBaseInterchainAccountPacketData(); + message.type = object.type ?? 0; + message.data = object.data ?? new Uint8Array(); + message.memo = object.memo ?? ""; + return message; + }, +}; +function createBaseCosmosTx() { + return { + messages: [], + }; +} +exports.CosmosTx = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.messages) { + any_1.Any.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCosmosTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(any_1.Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + messages: Array.isArray(object?.messages) ? object.messages.map((e) => any_1.Any.fromJSON(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? any_1.Any.toJSON(e) : undefined)); + } + else { + obj.messages = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseCosmosTx(); + message.messages = object.messages?.map((e) => any_1.Any.fromPartial(e)) || []; + return message; + }, +}; +//# sourceMappingURL=packet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js.map new file mode 100644 index 00000000..1ba98dda --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/interchain_accounts/v1/packet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"packet.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/interchain_accounts/v1/packet.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.d.ts new file mode 100644 index 00000000..1a48efec --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.d.ts @@ -0,0 +1,114 @@ +import { Coin } from "../../../../cosmos/base/v1beta1/coin"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.transfer.v1"; +/** Allocation defines the spend limit for a particular port and channel */ +export interface Allocation { + /** the port on which the packet will be sent */ + sourcePort: string; + /** the channel by which the packet will be sent */ + sourceChannel: string; + /** spend limitation on the channel */ + spendLimit: Coin[]; + /** allow list of receivers, an empty allow list permits any receiver address */ + allowList: string[]; +} +/** + * TransferAuthorization allows the grantee to spend up to spend_limit coins from + * the granter's account for ibc transfer on a specific channel + */ +export interface TransferAuthorization { + /** port and channel amounts */ + allocations: Allocation[]; +} +export declare const Allocation: { + encode(message: Allocation, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Allocation; + fromJSON(object: any): Allocation; + toJSON(message: Allocation): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + allowList?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>>(object: I): Allocation; +}; +export declare const TransferAuthorization: { + encode(message: TransferAuthorization, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TransferAuthorization; + fromJSON(object: any): TransferAuthorization; + toJSON(message: TransferAuthorization): unknown; + fromPartial, never>)[] & Record, never>) | undefined; + allowList?: (string[] & string[] & Record, never>) | undefined; + } & Record, never>)[] & Record, never>) | undefined; + } & Record, never>>(object: I): TransferAuthorization; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js new file mode 100644 index 00000000..6ea3a51a --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js @@ -0,0 +1,171 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TransferAuthorization = exports.Allocation = exports.protobufPackage = void 0; +/* eslint-disable */ +const coin_1 = require("../../../../cosmos/base/v1beta1/coin"); +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.transfer.v1"; +function createBaseAllocation() { + return { + sourcePort: "", + sourceChannel: "", + spendLimit: [], + allowList: [], + }; +} +exports.Allocation = { + encode(message, writer = _m0.Writer.create()) { + if (message.sourcePort !== "") { + writer.uint32(10).string(message.sourcePort); + } + if (message.sourceChannel !== "") { + writer.uint32(18).string(message.sourceChannel); + } + for (const v of message.spendLimit) { + coin_1.Coin.encode(v, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.allowList) { + writer.uint32(34).string(v); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllocation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sourcePort = reader.string(); + break; + case 2: + message.sourceChannel = reader.string(); + break; + case 3: + message.spendLimit.push(coin_1.Coin.decode(reader, reader.uint32())); + break; + case 4: + message.allowList.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sourcePort: (0, helpers_1.isSet)(object.sourcePort) ? String(object.sourcePort) : "", + sourceChannel: (0, helpers_1.isSet)(object.sourceChannel) ? String(object.sourceChannel) : "", + spendLimit: Array.isArray(object?.spendLimit) + ? object.spendLimit.map((e) => coin_1.Coin.fromJSON(e)) + : [], + allowList: Array.isArray(object?.allowList) ? object.allowList.map((e) => String(e)) : [], + }; + }, + toJSON(message) { + const obj = {}; + message.sourcePort !== undefined && (obj.sourcePort = message.sourcePort); + message.sourceChannel !== undefined && (obj.sourceChannel = message.sourceChannel); + if (message.spendLimit) { + obj.spendLimit = message.spendLimit.map((e) => (e ? coin_1.Coin.toJSON(e) : undefined)); + } + else { + obj.spendLimit = []; + } + if (message.allowList) { + obj.allowList = message.allowList.map((e) => e); + } + else { + obj.allowList = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseAllocation(); + message.sourcePort = object.sourcePort ?? ""; + message.sourceChannel = object.sourceChannel ?? ""; + message.spendLimit = object.spendLimit?.map((e) => coin_1.Coin.fromPartial(e)) || []; + message.allowList = object.allowList?.map((e) => e) || []; + return message; + }, +}; +function createBaseTransferAuthorization() { + return { + allocations: [], + }; +} +exports.TransferAuthorization = { + encode(message, writer = _m0.Writer.create()) { + for (const v of message.allocations) { + exports.Allocation.encode(v, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTransferAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.allocations.push(exports.Allocation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + allocations: Array.isArray(object?.allocations) + ? object.allocations.map((e) => exports.Allocation.fromJSON(e)) + : [], + }; + }, + toJSON(message) { + const obj = {}; + if (message.allocations) { + obj.allocations = message.allocations.map((e) => (e ? exports.Allocation.toJSON(e) : undefined)); + } + else { + obj.allocations = []; + } + return obj; + }, + fromPartial(object) { + const message = createBaseTransferAuthorization(); + message.allocations = object.allocations?.map((e) => exports.Allocation.fromPartial(e)) || []; + return message; + }, +}; +//# sourceMappingURL=authz.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js.map new file mode 100644 index 00000000..8ccef3e5 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v1/authz.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authz.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/transfer/v1/authz.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.d.ts b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.d.ts new file mode 100644 index 00000000..76e2a2a1 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.d.ts @@ -0,0 +1,38 @@ +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.applications.transfer.v2"; +/** + * FungibleTokenPacketData defines a struct for the packet payload + * See FungibleTokenPacketData spec: + * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures + */ +export interface FungibleTokenPacketData { + /** the token denomination to be transferred */ + denom: string; + /** the token amount to be transferred */ + amount: string; + /** the sender address */ + sender: string; + /** the recipient address on the destination chain */ + receiver: string; + /** optional memo */ + memo: string; +} +export declare const FungibleTokenPacketData: { + encode(message: FungibleTokenPacketData, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): FungibleTokenPacketData; + fromJSON(object: any): FungibleTokenPacketData; + toJSON(message: FungibleTokenPacketData): unknown; + fromPartial, never>>(object: I): FungibleTokenPacketData; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js new file mode 100644 index 00000000..2d5a2b44 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js @@ -0,0 +1,116 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FungibleTokenPacketData = exports.protobufPackage = void 0; +/* eslint-disable */ +const _m0 = __importStar(require("protobufjs/minimal")); +const helpers_1 = require("../../../../helpers"); +exports.protobufPackage = "ibc.applications.transfer.v2"; +function createBaseFungibleTokenPacketData() { + return { + denom: "", + amount: "", + sender: "", + receiver: "", + memo: "", + }; +} +exports.FungibleTokenPacketData = { + encode(message, writer = _m0.Writer.create()) { + if (message.denom !== "") { + writer.uint32(10).string(message.denom); + } + if (message.amount !== "") { + writer.uint32(18).string(message.amount); + } + if (message.sender !== "") { + writer.uint32(26).string(message.sender); + } + if (message.receiver !== "") { + writer.uint32(34).string(message.receiver); + } + if (message.memo !== "") { + writer.uint32(42).string(message.memo); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFungibleTokenPacketData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.denom = reader.string(); + break; + case 2: + message.amount = reader.string(); + break; + case 3: + message.sender = reader.string(); + break; + case 4: + message.receiver = reader.string(); + break; + case 5: + message.memo = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + denom: (0, helpers_1.isSet)(object.denom) ? String(object.denom) : "", + amount: (0, helpers_1.isSet)(object.amount) ? String(object.amount) : "", + sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "", + receiver: (0, helpers_1.isSet)(object.receiver) ? String(object.receiver) : "", + memo: (0, helpers_1.isSet)(object.memo) ? String(object.memo) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.denom !== undefined && (obj.denom = message.denom); + message.amount !== undefined && (obj.amount = message.amount); + message.sender !== undefined && (obj.sender = message.sender); + message.receiver !== undefined && (obj.receiver = message.receiver); + message.memo !== undefined && (obj.memo = message.memo); + return obj; + }, + fromPartial(object) { + const message = createBaseFungibleTokenPacketData(); + message.denom = object.denom ?? ""; + message.amount = object.amount ?? ""; + message.sender = object.sender ?? ""; + message.receiver = object.receiver ?? ""; + message.memo = object.memo ?? ""; + return message; + }, +}; +//# sourceMappingURL=packet.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js.map b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js.map new file mode 100644 index 00000000..619530ab --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/applications/transfer/v2/packet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"packet.js","sourceRoot":"","sources":["../../../../../src/ibc/applications/transfer/v2/packet.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.d.ts b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.d.ts new file mode 100644 index 00000000..4653806d --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.d.ts @@ -0,0 +1,918 @@ +/// +import { Any } from "../../../../google/protobuf/any"; +import { Long } from "../../../../helpers"; +import * as _m0 from "protobufjs/minimal"; +export declare const protobufPackage = "ibc.lightclients.solomachine.v3"; +/** + * ClientState defines a solo machine client that tracks the current consensus + * state and if the client is frozen. + */ +export interface ClientState { + /** latest sequence of the client state */ + sequence: Long; + /** frozen sequence of the solo machine */ + isFrozen: boolean; + consensusState?: ConsensusState; +} +/** + * ConsensusState defines a solo machine consensus state. The sequence of a + * consensus state is contained in the "height" key used in storing the + * consensus state. + */ +export interface ConsensusState { + /** public key of the solo machine */ + publicKey?: Any; + /** + * diversifier allows the same public key to be re-used across different solo + * machine clients (potentially on different chains) without being considered + * misbehaviour. + */ + diversifier: string; + timestamp: Long; +} +/** Header defines a solo machine consensus header */ +export interface Header { + timestamp: Long; + signature: Uint8Array; + newPublicKey?: Any; + newDiversifier: string; +} +/** + * Misbehaviour defines misbehaviour for a solo machine which consists + * of a sequence and two signatures over different messages at that sequence. + */ +export interface Misbehaviour { + sequence: Long; + signatureOne?: SignatureAndData; + signatureTwo?: SignatureAndData; +} +/** + * SignatureAndData contains a signature and the data signed over to create that + * signature. + */ +export interface SignatureAndData { + signature: Uint8Array; + path: Uint8Array; + data: Uint8Array; + timestamp: Long; +} +/** + * TimestampedSignatureData contains the signature data and the timestamp of the + * signature. + */ +export interface TimestampedSignatureData { + signatureData: Uint8Array; + timestamp: Long; +} +/** SignBytes defines the signed bytes used for signature verification. */ +export interface SignBytes { + /** the sequence number */ + sequence: Long; + /** the proof timestamp */ + timestamp: Long; + /** the public key diversifier */ + diversifier: string; + /** the standardised path bytes */ + path: Uint8Array; + /** the marshaled data bytes */ + data: Uint8Array; +} +/** HeaderData returns the SignBytes data for update verification. */ +export interface HeaderData { + /** header public key */ + newPubKey?: Any; + /** header diversifier */ + newDiversifier: string; +} +export declare const ClientState: { + encode(message: ClientState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ClientState; + fromJSON(object: any): ClientState; + toJSON(message: ClientState): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + isFrozen?: boolean | undefined; + consensusState?: ({ + publicKey?: { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } | undefined; + diversifier?: string | undefined; + timestamp?: string | number | Long.Long | undefined; + } & { + publicKey?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + diversifier?: string | undefined; + timestamp?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ClientState; +}; +export declare const ConsensusState: { + encode(message: ConsensusState, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): ConsensusState; + fromJSON(object: any): ConsensusState; + toJSON(message: ConsensusState): unknown; + fromPartial, never>) | undefined; + diversifier?: string | undefined; + timestamp?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): ConsensusState; +}; +export declare const Header: { + encode(message: Header, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Header; + fromJSON(object: any): Header; + toJSON(message: Header): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + signature?: Uint8Array | undefined; + newPublicKey?: ({ + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & { + typeUrl?: string | undefined; + value?: Uint8Array | undefined; + } & Record, never>) | undefined; + newDiversifier?: string | undefined; + } & Record, never>>(object: I): Header; +}; +export declare const Misbehaviour: { + encode(message: Misbehaviour, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): Misbehaviour; + fromJSON(object: any): Misbehaviour; + toJSON(message: Misbehaviour): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + signatureOne?: ({ + signature?: Uint8Array | undefined; + path?: Uint8Array | undefined; + data?: Uint8Array | undefined; + timestamp?: string | number | Long.Long | undefined; + } & { + signature?: Uint8Array | undefined; + path?: Uint8Array | undefined; + data?: Uint8Array | undefined; + timestamp?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + signatureTwo?: ({ + signature?: Uint8Array | undefined; + path?: Uint8Array | undefined; + data?: Uint8Array | undefined; + timestamp?: string | number | Long.Long | undefined; + } & { + signature?: Uint8Array | undefined; + path?: Uint8Array | undefined; + data?: Uint8Array | undefined; + timestamp?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>) | undefined; + } & Record, never>>(object: I): Misbehaviour; +}; +export declare const SignatureAndData: { + encode(message: SignatureAndData, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): SignatureAndData; + fromJSON(object: any): SignatureAndData; + toJSON(message: SignatureAndData): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): SignatureAndData; +}; +export declare const TimestampedSignatureData: { + encode(message: TimestampedSignatureData, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): TimestampedSignatureData; + fromJSON(object: any): TimestampedSignatureData; + toJSON(message: TimestampedSignatureData): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + } & Record, never>>(object: I): TimestampedSignatureData; +}; +export declare const SignBytes: { + encode(message: SignBytes, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): SignBytes; + fromJSON(object: any): SignBytes; + toJSON(message: SignBytes): unknown; + fromPartial Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + timestamp?: string | number | (Long.Long & { + high: number; + low: number; + unsigned: boolean; + add: (addend: string | number | Long.Long) => Long.Long; + and: (other: string | number | Long.Long) => Long.Long; + compare: (other: string | number | Long.Long) => number; + comp: (other: string | number | Long.Long) => number; + divide: (divisor: string | number | Long.Long) => Long.Long; + div: (divisor: string | number | Long.Long) => Long.Long; + equals: (other: string | number | Long.Long) => boolean; + eq: (other: string | number | Long.Long) => boolean; + getHighBits: () => number; + getHighBitsUnsigned: () => number; + getLowBits: () => number; + getLowBitsUnsigned: () => number; + getNumBitsAbs: () => number; + greaterThan: (other: string | number | Long.Long) => boolean; + gt: (other: string | number | Long.Long) => boolean; + greaterThanOrEqual: (other: string | number | Long.Long) => boolean; + gte: (other: string | number | Long.Long) => boolean; + isEven: () => boolean; + isNegative: () => boolean; + isOdd: () => boolean; + isPositive: () => boolean; + isZero: () => boolean; + lessThan: (other: string | number | Long.Long) => boolean; + lt: (other: string | number | Long.Long) => boolean; + lessThanOrEqual: (other: string | number | Long.Long) => boolean; + lte: (other: string | number | Long.Long) => boolean; + modulo: (other: string | number | Long.Long) => Long.Long; + mod: (other: string | number | Long.Long) => Long.Long; + multiply: (multiplier: string | number | Long.Long) => Long.Long; + mul: (multiplier: string | number | Long.Long) => Long.Long; + negate: () => Long.Long; + neg: () => Long.Long; + not: () => Long.Long; + notEquals: (other: string | number | Long.Long) => boolean; + neq: (other: string | number | Long.Long) => boolean; + or: (other: string | number | Long.Long) => Long.Long; + shiftLeft: (numBits: number | Long.Long) => Long.Long; + shl: (numBits: number | Long.Long) => Long.Long; + shiftRight: (numBits: number | Long.Long) => Long.Long; + shr: (numBits: number | Long.Long) => Long.Long; + shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; + shru: (numBits: number | Long.Long) => Long.Long; + subtract: (subtrahend: string | number | Long.Long) => Long.Long; + sub: (subtrahend: string | number | Long.Long) => Long.Long; + toInt: () => number; + toNumber: () => number; + toBytes: (le?: boolean | undefined) => number[]; + toBytesLE: () => number[]; + toBytesBE: () => number[]; + toSigned: () => Long.Long; + toString: (radix?: number | undefined) => string; + toUnsigned: () => Long.Long; + xor: (other: string | number | Long.Long) => Long.Long; + } & Record, never>) | undefined; + diversifier?: string | undefined; + path?: Uint8Array | undefined; + data?: Uint8Array | undefined; + } & Record, never>>(object: I): SignBytes; +}; +export declare const HeaderData: { + encode(message: HeaderData, writer?: _m0.Writer): _m0.Writer; + decode(input: _m0.Reader | Uint8Array, length?: number): HeaderData; + fromJSON(object: any): HeaderData; + toJSON(message: HeaderData): unknown; + fromPartial, never>) | undefined; + newDiversifier?: string | undefined; + } & Record, never>>(object: I): HeaderData; +}; diff --git a/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js new file mode 100644 index 00000000..5ee7c475 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js @@ -0,0 +1,631 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HeaderData = exports.SignBytes = exports.TimestampedSignatureData = exports.SignatureAndData = exports.Misbehaviour = exports.Header = exports.ConsensusState = exports.ClientState = exports.protobufPackage = void 0; +/* eslint-disable */ +const any_1 = require("../../../../google/protobuf/any"); +const helpers_1 = require("../../../../helpers"); +const _m0 = __importStar(require("protobufjs/minimal")); +exports.protobufPackage = "ibc.lightclients.solomachine.v3"; +function createBaseClientState() { + return { + sequence: helpers_1.Long.UZERO, + isFrozen: false, + consensusState: undefined, + }; +} +exports.ClientState = { + encode(message, writer = _m0.Writer.create()) { + if (!message.sequence.isZero()) { + writer.uint32(8).uint64(message.sequence); + } + if (message.isFrozen === true) { + writer.uint32(16).bool(message.isFrozen); + } + if (message.consensusState !== undefined) { + exports.ConsensusState.encode(message.consensusState, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClientState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sequence = reader.uint64(); + break; + case 2: + message.isFrozen = reader.bool(); + break; + case 3: + message.consensusState = exports.ConsensusState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sequence: (0, helpers_1.isSet)(object.sequence) ? helpers_1.Long.fromValue(object.sequence) : helpers_1.Long.UZERO, + isFrozen: (0, helpers_1.isSet)(object.isFrozen) ? Boolean(object.isFrozen) : false, + consensusState: (0, helpers_1.isSet)(object.consensusState) + ? exports.ConsensusState.fromJSON(object.consensusState) + : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || helpers_1.Long.UZERO).toString()); + message.isFrozen !== undefined && (obj.isFrozen = message.isFrozen); + message.consensusState !== undefined && + (obj.consensusState = message.consensusState + ? exports.ConsensusState.toJSON(message.consensusState) + : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseClientState(); + message.sequence = + object.sequence !== undefined && object.sequence !== null + ? helpers_1.Long.fromValue(object.sequence) + : helpers_1.Long.UZERO; + message.isFrozen = object.isFrozen ?? false; + message.consensusState = + object.consensusState !== undefined && object.consensusState !== null + ? exports.ConsensusState.fromPartial(object.consensusState) + : undefined; + return message; + }, +}; +function createBaseConsensusState() { + return { + publicKey: undefined, + diversifier: "", + timestamp: helpers_1.Long.UZERO, + }; +} +exports.ConsensusState = { + encode(message, writer = _m0.Writer.create()) { + if (message.publicKey !== undefined) { + any_1.Any.encode(message.publicKey, writer.uint32(10).fork()).ldelim(); + } + if (message.diversifier !== "") { + writer.uint32(18).string(message.diversifier); + } + if (!message.timestamp.isZero()) { + writer.uint32(24).uint64(message.timestamp); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensusState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.publicKey = any_1.Any.decode(reader, reader.uint32()); + break; + case 2: + message.diversifier = reader.string(); + break; + case 3: + message.timestamp = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + publicKey: (0, helpers_1.isSet)(object.publicKey) ? any_1.Any.fromJSON(object.publicKey) : undefined, + diversifier: (0, helpers_1.isSet)(object.diversifier) ? String(object.diversifier) : "", + timestamp: (0, helpers_1.isSet)(object.timestamp) ? helpers_1.Long.fromValue(object.timestamp) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.publicKey !== undefined && + (obj.publicKey = message.publicKey ? any_1.Any.toJSON(message.publicKey) : undefined); + message.diversifier !== undefined && (obj.diversifier = message.diversifier); + message.timestamp !== undefined && (obj.timestamp = (message.timestamp || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseConsensusState(); + message.publicKey = + object.publicKey !== undefined && object.publicKey !== null + ? any_1.Any.fromPartial(object.publicKey) + : undefined; + message.diversifier = object.diversifier ?? ""; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? helpers_1.Long.fromValue(object.timestamp) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseHeader() { + return { + timestamp: helpers_1.Long.UZERO, + signature: new Uint8Array(), + newPublicKey: undefined, + newDiversifier: "", + }; +} +exports.Header = { + encode(message, writer = _m0.Writer.create()) { + if (!message.timestamp.isZero()) { + writer.uint32(8).uint64(message.timestamp); + } + if (message.signature.length !== 0) { + writer.uint32(18).bytes(message.signature); + } + if (message.newPublicKey !== undefined) { + any_1.Any.encode(message.newPublicKey, writer.uint32(26).fork()).ldelim(); + } + if (message.newDiversifier !== "") { + writer.uint32(34).string(message.newDiversifier); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timestamp = reader.uint64(); + break; + case 2: + message.signature = reader.bytes(); + break; + case 3: + message.newPublicKey = any_1.Any.decode(reader, reader.uint32()); + break; + case 4: + message.newDiversifier = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + timestamp: (0, helpers_1.isSet)(object.timestamp) ? helpers_1.Long.fromValue(object.timestamp) : helpers_1.Long.UZERO, + signature: (0, helpers_1.isSet)(object.signature) ? (0, helpers_1.bytesFromBase64)(object.signature) : new Uint8Array(), + newPublicKey: (0, helpers_1.isSet)(object.newPublicKey) ? any_1.Any.fromJSON(object.newPublicKey) : undefined, + newDiversifier: (0, helpers_1.isSet)(object.newDiversifier) ? String(object.newDiversifier) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.timestamp !== undefined && (obj.timestamp = (message.timestamp || helpers_1.Long.UZERO).toString()); + message.signature !== undefined && + (obj.signature = (0, helpers_1.base64FromBytes)(message.signature !== undefined ? message.signature : new Uint8Array())); + message.newPublicKey !== undefined && + (obj.newPublicKey = message.newPublicKey ? any_1.Any.toJSON(message.newPublicKey) : undefined); + message.newDiversifier !== undefined && (obj.newDiversifier = message.newDiversifier); + return obj; + }, + fromPartial(object) { + const message = createBaseHeader(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? helpers_1.Long.fromValue(object.timestamp) + : helpers_1.Long.UZERO; + message.signature = object.signature ?? new Uint8Array(); + message.newPublicKey = + object.newPublicKey !== undefined && object.newPublicKey !== null + ? any_1.Any.fromPartial(object.newPublicKey) + : undefined; + message.newDiversifier = object.newDiversifier ?? ""; + return message; + }, +}; +function createBaseMisbehaviour() { + return { + sequence: helpers_1.Long.UZERO, + signatureOne: undefined, + signatureTwo: undefined, + }; +} +exports.Misbehaviour = { + encode(message, writer = _m0.Writer.create()) { + if (!message.sequence.isZero()) { + writer.uint32(8).uint64(message.sequence); + } + if (message.signatureOne !== undefined) { + exports.SignatureAndData.encode(message.signatureOne, writer.uint32(18).fork()).ldelim(); + } + if (message.signatureTwo !== undefined) { + exports.SignatureAndData.encode(message.signatureTwo, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMisbehaviour(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sequence = reader.uint64(); + break; + case 2: + message.signatureOne = exports.SignatureAndData.decode(reader, reader.uint32()); + break; + case 3: + message.signatureTwo = exports.SignatureAndData.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sequence: (0, helpers_1.isSet)(object.sequence) ? helpers_1.Long.fromValue(object.sequence) : helpers_1.Long.UZERO, + signatureOne: (0, helpers_1.isSet)(object.signatureOne) ? exports.SignatureAndData.fromJSON(object.signatureOne) : undefined, + signatureTwo: (0, helpers_1.isSet)(object.signatureTwo) ? exports.SignatureAndData.fromJSON(object.signatureTwo) : undefined, + }; + }, + toJSON(message) { + const obj = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || helpers_1.Long.UZERO).toString()); + message.signatureOne !== undefined && + (obj.signatureOne = message.signatureOne ? exports.SignatureAndData.toJSON(message.signatureOne) : undefined); + message.signatureTwo !== undefined && + (obj.signatureTwo = message.signatureTwo ? exports.SignatureAndData.toJSON(message.signatureTwo) : undefined); + return obj; + }, + fromPartial(object) { + const message = createBaseMisbehaviour(); + message.sequence = + object.sequence !== undefined && object.sequence !== null + ? helpers_1.Long.fromValue(object.sequence) + : helpers_1.Long.UZERO; + message.signatureOne = + object.signatureOne !== undefined && object.signatureOne !== null + ? exports.SignatureAndData.fromPartial(object.signatureOne) + : undefined; + message.signatureTwo = + object.signatureTwo !== undefined && object.signatureTwo !== null + ? exports.SignatureAndData.fromPartial(object.signatureTwo) + : undefined; + return message; + }, +}; +function createBaseSignatureAndData() { + return { + signature: new Uint8Array(), + path: new Uint8Array(), + data: new Uint8Array(), + timestamp: helpers_1.Long.UZERO, + }; +} +exports.SignatureAndData = { + encode(message, writer = _m0.Writer.create()) { + if (message.signature.length !== 0) { + writer.uint32(10).bytes(message.signature); + } + if (message.path.length !== 0) { + writer.uint32(18).bytes(message.path); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + if (!message.timestamp.isZero()) { + writer.uint32(32).uint64(message.timestamp); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureAndData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signature = reader.bytes(); + break; + case 2: + message.path = reader.bytes(); + break; + case 3: + message.data = reader.bytes(); + break; + case 4: + message.timestamp = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + signature: (0, helpers_1.isSet)(object.signature) ? (0, helpers_1.bytesFromBase64)(object.signature) : new Uint8Array(), + path: (0, helpers_1.isSet)(object.path) ? (0, helpers_1.bytesFromBase64)(object.path) : new Uint8Array(), + data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(), + timestamp: (0, helpers_1.isSet)(object.timestamp) ? helpers_1.Long.fromValue(object.timestamp) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.signature !== undefined && + (obj.signature = (0, helpers_1.base64FromBytes)(message.signature !== undefined ? message.signature : new Uint8Array())); + message.path !== undefined && + (obj.path = (0, helpers_1.base64FromBytes)(message.path !== undefined ? message.path : new Uint8Array())); + message.data !== undefined && + (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array())); + message.timestamp !== undefined && (obj.timestamp = (message.timestamp || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseSignatureAndData(); + message.signature = object.signature ?? new Uint8Array(); + message.path = object.path ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? helpers_1.Long.fromValue(object.timestamp) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseTimestampedSignatureData() { + return { + signatureData: new Uint8Array(), + timestamp: helpers_1.Long.UZERO, + }; +} +exports.TimestampedSignatureData = { + encode(message, writer = _m0.Writer.create()) { + if (message.signatureData.length !== 0) { + writer.uint32(10).bytes(message.signatureData); + } + if (!message.timestamp.isZero()) { + writer.uint32(16).uint64(message.timestamp); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimestampedSignatureData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signatureData = reader.bytes(); + break; + case 2: + message.timestamp = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + signatureData: (0, helpers_1.isSet)(object.signatureData) ? (0, helpers_1.bytesFromBase64)(object.signatureData) : new Uint8Array(), + timestamp: (0, helpers_1.isSet)(object.timestamp) ? helpers_1.Long.fromValue(object.timestamp) : helpers_1.Long.UZERO, + }; + }, + toJSON(message) { + const obj = {}; + message.signatureData !== undefined && + (obj.signatureData = (0, helpers_1.base64FromBytes)(message.signatureData !== undefined ? message.signatureData : new Uint8Array())); + message.timestamp !== undefined && (obj.timestamp = (message.timestamp || helpers_1.Long.UZERO).toString()); + return obj; + }, + fromPartial(object) { + const message = createBaseTimestampedSignatureData(); + message.signatureData = object.signatureData ?? new Uint8Array(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? helpers_1.Long.fromValue(object.timestamp) + : helpers_1.Long.UZERO; + return message; + }, +}; +function createBaseSignBytes() { + return { + sequence: helpers_1.Long.UZERO, + timestamp: helpers_1.Long.UZERO, + diversifier: "", + path: new Uint8Array(), + data: new Uint8Array(), + }; +} +exports.SignBytes = { + encode(message, writer = _m0.Writer.create()) { + if (!message.sequence.isZero()) { + writer.uint32(8).uint64(message.sequence); + } + if (!message.timestamp.isZero()) { + writer.uint32(16).uint64(message.timestamp); + } + if (message.diversifier !== "") { + writer.uint32(26).string(message.diversifier); + } + if (message.path.length !== 0) { + writer.uint32(34).bytes(message.path); + } + if (message.data.length !== 0) { + writer.uint32(42).bytes(message.data); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignBytes(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sequence = reader.uint64(); + break; + case 2: + message.timestamp = reader.uint64(); + break; + case 3: + message.diversifier = reader.string(); + break; + case 4: + message.path = reader.bytes(); + break; + case 5: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + sequence: (0, helpers_1.isSet)(object.sequence) ? helpers_1.Long.fromValue(object.sequence) : helpers_1.Long.UZERO, + timestamp: (0, helpers_1.isSet)(object.timestamp) ? helpers_1.Long.fromValue(object.timestamp) : helpers_1.Long.UZERO, + diversifier: (0, helpers_1.isSet)(object.diversifier) ? String(object.diversifier) : "", + path: (0, helpers_1.isSet)(object.path) ? (0, helpers_1.bytesFromBase64)(object.path) : new Uint8Array(), + data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(), + }; + }, + toJSON(message) { + const obj = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || helpers_1.Long.UZERO).toString()); + message.timestamp !== undefined && (obj.timestamp = (message.timestamp || helpers_1.Long.UZERO).toString()); + message.diversifier !== undefined && (obj.diversifier = message.diversifier); + message.path !== undefined && + (obj.path = (0, helpers_1.base64FromBytes)(message.path !== undefined ? message.path : new Uint8Array())); + message.data !== undefined && + (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array())); + return obj; + }, + fromPartial(object) { + const message = createBaseSignBytes(); + message.sequence = + object.sequence !== undefined && object.sequence !== null + ? helpers_1.Long.fromValue(object.sequence) + : helpers_1.Long.UZERO; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null + ? helpers_1.Long.fromValue(object.timestamp) + : helpers_1.Long.UZERO; + message.diversifier = object.diversifier ?? ""; + message.path = object.path ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + return message; + }, +}; +function createBaseHeaderData() { + return { + newPubKey: undefined, + newDiversifier: "", + }; +} +exports.HeaderData = { + encode(message, writer = _m0.Writer.create()) { + if (message.newPubKey !== undefined) { + any_1.Any.encode(message.newPubKey, writer.uint32(10).fork()).ldelim(); + } + if (message.newDiversifier !== "") { + writer.uint32(18).string(message.newDiversifier); + } + return writer; + }, + decode(input, length) { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeaderData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.newPubKey = any_1.Any.decode(reader, reader.uint32()); + break; + case 2: + message.newDiversifier = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object) { + return { + newPubKey: (0, helpers_1.isSet)(object.newPubKey) ? any_1.Any.fromJSON(object.newPubKey) : undefined, + newDiversifier: (0, helpers_1.isSet)(object.newDiversifier) ? String(object.newDiversifier) : "", + }; + }, + toJSON(message) { + const obj = {}; + message.newPubKey !== undefined && + (obj.newPubKey = message.newPubKey ? any_1.Any.toJSON(message.newPubKey) : undefined); + message.newDiversifier !== undefined && (obj.newDiversifier = message.newDiversifier); + return obj; + }, + fromPartial(object) { + const message = createBaseHeaderData(); + message.newPubKey = + object.newPubKey !== undefined && object.newPubKey !== null + ? any_1.Any.fromPartial(object.newPubKey) + : undefined; + message.newDiversifier = object.newDiversifier ?? ""; + return message; + }, +}; +//# sourceMappingURL=solomachine.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js.map b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js.map new file mode 100644 index 00000000..ae05e582 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/ibc/lightclients/solomachine/v3/solomachine.js.map @@ -0,0 +1 @@ +{"version":3,"file":"solomachine.js","sourceRoot":"","sources":["../../../../../src/ibc/lightclients/solomachine/v3/solomachine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,yDAAsD;AACtD,iDAAwG;AACxG,wDAA0C;AAC7B,QAAA,eAAe,GAAG,iCAAiC,CAAC;AAkFjE,SAAS,qBAAqB;IAC5B,OAAO;QACL,QAAQ,EAAE,cAAI,CAAC,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,SAAS;KAC1B,CAAC;AACJ,CAAC;AACY,QAAA,WAAW,GAAG;IACzB,MAAM,CAAC,OAAoB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE;YACxC,sBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,sBAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;YAC/E,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;YACnE,cAAc,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,cAAc,CAAC;gBAC1C,CAAC,CAAC,sBAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;gBAChD,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAoB;QACzB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc;gBAC1C,CAAC,CAAC,sBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA+C,MAAS;QACjE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC5C,OAAO,CAAC,cAAc;YACpB,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI;gBACnE,CAAC,CAAC,sBAAc,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,wBAAwB;IAC/B,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,cAAI,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AACY,QAAA,cAAc,GAAG;IAC5B,MAAM,CAAC,OAAuB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACtE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClE;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,SAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC5C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,WAAW,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAuB;QAC5B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAkD,MAAS;QACpE,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,SAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,cAAI,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI,UAAU,EAAE;QAC3B,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AACY,QAAA,MAAM,GAAG;IACpB,MAAM,CAAC,OAAe,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;YACtC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACrE;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC5C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,SAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;YAClF,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YACzF,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,cAAc,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SAClF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,IAAA,yBAAe,EAC9B,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CACvE,CAAC,CAAC;QACL,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA0C,MAAS;QAC5D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE,CAAC;QACzD,OAAO,CAAC,YAAY;YAClB,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;gBAC/D,CAAC,CAAC,SAAG,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,sBAAsB;IAC7B,OAAO;QACL,QAAQ,EAAE,cAAI,CAAC,KAAK;QACpB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;KACxB,CAAC;AACJ,CAAC;AACY,QAAA,YAAY,GAAG;IAC1B,MAAM,CAAC,OAAqB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;YACtC,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClF;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;YACtC,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,wBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxE,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,YAAY,GAAG,wBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxE,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;YAC/E,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACrG,YAAY,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;SACtG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAqB;QAC1B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxG,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAgD,MAAS;QAClE,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,YAAY;YAClB,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;gBAC/D,CAAC,CAAC,wBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,YAAY;YAClB,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;gBAC/D,CAAC,CAAC,wBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,0BAA0B;IACjC,OAAO;QACL,SAAS,EAAE,IAAI,UAAU,EAAE;QAC3B,IAAI,EAAE,IAAI,UAAU,EAAE;QACtB,IAAI,EAAE,IAAI,UAAU,EAAE;QACtB,SAAS,EAAE,cAAI,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AACY,QAAA,gBAAgB,GAAG;IAC9B,MAAM,CAAC,OAAyB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACxE,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC5C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YACzF,IAAI,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YAC1E,IAAI,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YAC1E,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAyB;QAC9B,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,IAAA,yBAAe,EAC9B,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CACvE,CAAC,CAAC;QACL,OAAO,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAAoD,MAAS;QACtE,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;QAC7C,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,kCAAkC;IACzC,OAAO;QACL,aAAa,EAAE,IAAI,UAAU,EAAE;QAC/B,SAAS,EAAE,cAAI,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AACY,QAAA,wBAAwB,GAAG;IACtC,MAAM,CAAC,OAAiC,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAChF,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBACvC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC5C,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,aAAa,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YACrG,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAiC;QACtC,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,aAAa,KAAK,SAAS;YACjC,CAAC,GAAG,CAAC,aAAa,GAAG,IAAA,yBAAe,EAClC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAC/E,CAAC,CAAC;QACL,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CACT,MAAS;QAET,MAAM,OAAO,GAAG,kCAAkC,EAAE,CAAC;QACrD,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,IAAI,UAAU,EAAE,CAAC;QACjE,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,mBAAmB;IAC1B,OAAO;QACL,QAAQ,EAAE,cAAI,CAAC,KAAK;QACpB,SAAS,EAAE,cAAI,CAAC,KAAK;QACrB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,IAAI,UAAU,EAAE;QACtB,IAAI,EAAE,IAAI,UAAU,EAAE;KACvB,CAAC;AACJ,CAAC;AACY,QAAA,SAAS,GAAG;IACvB,MAAM,CAAC,OAAkB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC3C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAU,CAAC;oBAC5C,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;YAC/E,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK;YAClF,WAAW,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,IAAI,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YAC1E,IAAI,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;SAC3E,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAkB;QACvB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA6C,MAAS;QAC/D,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ;YACd,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACvD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,cAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC;QACjB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AACF,SAAS,oBAAoB;IAC3B,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AACY,QAAA,UAAU,GAAG;IACxB,MAAM,CAAC,OAAmB,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QAClE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAClE;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB,KAAK,CAAC;oBACJ,OAAO,CAAC,SAAS,GAAG,SAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM;gBACR;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,MAAW;QAClB,OAAO;YACL,SAAS,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,cAAc,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SAClF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,OAAmB;QACxB,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,SAAS,KAAK,SAAS;YAC7B,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,WAAW,CAA8C,MAAS;QAChE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,CAAC,SAAS;YACf,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;gBACzD,CAAC,CAAC,SAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/index.d.ts b/ts-client/node_modules/cosmjs-types/index.d.ts new file mode 100644 index 00000000..7e30cb02 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/index.d.ts @@ -0,0 +1 @@ +export { DeepPartial, Exact } from "./helpers"; diff --git a/ts-client/node_modules/cosmjs-types/index.js b/ts-client/node_modules/cosmjs-types/index.js new file mode 100644 index 00000000..3667b5d1 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/index.js @@ -0,0 +1,4 @@ +"use strict"; +// Auto-generated, see scripts/codegen.js! +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/ts-client/node_modules/cosmjs-types/index.js.map b/ts-client/node_modules/cosmjs-types/index.js.map new file mode 100644 index 00000000..f2bd8911 --- /dev/null +++ b/ts-client/node_modules/cosmjs-types/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,0CAA0C"} \ No newline at end of file diff --git a/ts-client/node_modules/has-proto/.eslintrc b/ts-client/node_modules/has-proto/.eslintrc new file mode 100644 index 00000000..3b5d9e90 --- /dev/null +++ b/ts-client/node_modules/has-proto/.eslintrc @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "@ljharb", +} diff --git a/ts-client/node_modules/has-proto/.github/FUNDING.yml b/ts-client/node_modules/has-proto/.github/FUNDING.yml new file mode 100644 index 00000000..613705c7 --- /dev/null +++ b/ts-client/node_modules/has-proto/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/has-proto +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/ts-client/node_modules/has-proto/CHANGELOG.md b/ts-client/node_modules/has-proto/CHANGELOG.md new file mode 100644 index 00000000..c350e809 --- /dev/null +++ b/ts-client/node_modules/has-proto/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.1](https://github.com/inspect-js/has-proto/compare/v1.0.0...v1.0.1) - 2022-12-21 + +### Commits + +- [meta] correct URLs and description [`ef34483`](https://github.com/inspect-js/has-proto/commit/ef34483ca0d35680f271b6b96e35526151b25dfc) +- [patch] add an additional criteria [`e81959e`](https://github.com/inspect-js/has-proto/commit/e81959ed7c7a77fbf459f00cb4ef824f1099497f) +- [Dev Deps] update `aud` [`2bec2c4`](https://github.com/inspect-js/has-proto/commit/2bec2c47b072b122ff5443fba0263f6dc649531f) + +## v1.0.0 - 2022-12-12 + +### Commits + +- Initial implementation, tests, readme [`6886fea`](https://github.com/inspect-js/has-proto/commit/6886fea578f67daf69a7920b2eb7637ea6ebb0bc) +- Initial commit [`99129c8`](https://github.com/inspect-js/has-proto/commit/99129c8f42471ac89cb681ba9cb9d52a583eb94f) +- npm init [`2844ad8`](https://github.com/inspect-js/has-proto/commit/2844ad8e75b84d66a46765b3bab9d2e8ea692e10) +- Only apps should have lockfiles [`c65bc5e`](https://github.com/inspect-js/has-proto/commit/c65bc5e40b9004463f7336d47c67245fb139a36a) diff --git a/ts-client/node_modules/has-proto/LICENSE b/ts-client/node_modules/has-proto/LICENSE new file mode 100644 index 00000000..2e7b9a3e --- /dev/null +++ b/ts-client/node_modules/has-proto/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ts-client/node_modules/has-proto/README.md b/ts-client/node_modules/has-proto/README.md new file mode 100644 index 00000000..14567654 --- /dev/null +++ b/ts-client/node_modules/has-proto/README.md @@ -0,0 +1,38 @@ +# has-proto [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Does this environment have the ability to set the [[Prototype]] of an object on creation with `__proto__`? + +## Example + +```js +var hasProto = require('has-proto'); +var assert = require('assert'); + +assert.equal(typeof hasProto(), 'boolean'); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/has-proto +[npm-version-svg]: https://versionbadg.es/inspect-js/has-proto.svg +[deps-svg]: https://david-dm.org/inspect-js/has-proto.svg +[deps-url]: https://david-dm.org/inspect-js/has-proto +[dev-deps-svg]: https://david-dm.org/inspect-js/has-proto/dev-status.svg +[dev-deps-url]: https://david-dm.org/inspect-js/has-proto#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/has-proto.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/has-proto.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/has-proto.svg +[downloads-url]: https://npm-stat.com/charts.html?package=has-proto +[codecov-image]: https://codecov.io/gh/inspect-js/has-proto/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/has-proto/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-proto +[actions-url]: https://github.com/inspect-js/has-proto/actions diff --git a/ts-client/node_modules/has-proto/index.js b/ts-client/node_modules/has-proto/index.js new file mode 100644 index 00000000..d3e4be4e --- /dev/null +++ b/ts-client/node_modules/has-proto/index.js @@ -0,0 +1,11 @@ +'use strict'; + +var test = { + foo: {} +}; + +var $Object = Object; + +module.exports = function hasProto() { + return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object); +}; diff --git a/ts-client/node_modules/has-proto/package.json b/ts-client/node_modules/has-proto/package.json new file mode 100644 index 00000000..706f9510 --- /dev/null +++ b/ts-client/node_modules/has-proto/package.json @@ -0,0 +1,74 @@ +{ + "name": "has-proto", + "version": "1.0.1", + "description": "Does this environment have the ability to get the [[Prototype]] of an object on creation with `__proto__`?", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "lint": "eslint --ext=js,mjs .", + "pretest": "npm run lint", + "tests-only": "tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-proto.git" + }, + "keywords": [ + "prototype", + "proto", + "set", + "get", + "__proto__", + "getPrototypeOf", + "setPrototypeOf", + "has" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/has-proto/issues" + }, + "homepage": "https://github.com/inspect-js/has-proto#readme", + "testling": { + "files": "test/index.js" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.0.0", + "aud": "^2.0.2", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.0", + "safe-publish-latest": "^2.0.0", + "tape": "^5.6.1" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} diff --git a/ts-client/node_modules/has-proto/test/index.js b/ts-client/node_modules/has-proto/test/index.js new file mode 100644 index 00000000..5da1a3aa --- /dev/null +++ b/ts-client/node_modules/has-proto/test/index.js @@ -0,0 +1,19 @@ +'use strict'; + +var test = require('tape'); +var hasProto = require('../'); + +test('hasProto', function (t) { + var result = hasProto(); + t.equal(typeof result, 'boolean', 'returns a boolean (' + result + ')'); + + var obj = { __proto__: null }; + if (result) { + t.notOk('toString' in obj, 'null object lacks toString'); + } else { + t.ok('toString' in obj, 'without proto, null object has toString'); + t.equal(obj.__proto__, null); // eslint-disable-line no-proto + } + + t.end(); +}); diff --git a/ts-client/node_modules/libsodium-sumo/LICENSE b/ts-client/node_modules/libsodium-sumo/LICENSE new file mode 100644 index 00000000..0b160392 --- /dev/null +++ b/ts-client/node_modules/libsodium-sumo/LICENSE @@ -0,0 +1,16 @@ +Copyright (c) 2015-2023 +Ahmad Ben Mrad +Frank Denis +Ryan Lester + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/libsodium-sumo/README.md b/ts-client/node_modules/libsodium-sumo/README.md new file mode 100644 index 00000000..c1811cce --- /dev/null +++ b/ts-client/node_modules/libsodium-sumo/README.md @@ -0,0 +1,229 @@ +# libsodium.js + +## Overview + +The [sodium](https://github.com/jedisct1/libsodium) crypto library +compiled to WebAssembly and pure JavaScript using +[Emscripten](https://github.com/kripken/emscripten), with +automatically generated wrappers to make it easy to use in web +applications. + +The complete library weighs 188 KB (minified, gzipped, includes pure JS + +WebAssembly versions) and can run in a web browser as well as server-side. + +### Compatibility + +Supported browsers/JS engines: + +* Chrome >= 16 +* Edge >= 0.11 +* Firefox >= 21 +* Mobile Safari on iOS >= 8.0 (older versions produce incorrect results) +* NodeJS +* Opera >= 15 +* Safari >= 6 (older versions produce incorrect results) + +This is comparable to the WebCrypto API, which is compatible with a +similar number of browsers. + +Signatures and other Edwards25519-based operations are compatible with +[WasmCrypto](https://github.com/jedisct1/wasm-crypto). + +## Installation + +The [dist](https://github.com/jedisct1/libsodium.js/tree/master/dist) +directory contains pre-built scripts. Copy the files from one of its +subdirectories to your application: + +- [browsers](https://github.com/jedisct1/libsodium.js/tree/master/dist/browsers) +includes a single-file script that can be included in web pages. +It contains code for commonly used functions. +- [browsers-sumo](https://github.com/jedisct1/libsodium.js/tree/master/dist/browsers-sumo) +is a superset of the previous script, that contains all functions, +including rarely used ones and undocumented ones. +- [modules](https://github.com/jedisct1/libsodium.js/tree/master/dist/modules) +includes commonly used functions, and is designed to be loaded as a module. +`libsodium-wrappers` is the module your application should load, which +will in turn automatically load `libsodium` as a dependency. +- [modules-sumo](https://github.com/jedisct1/libsodium.js/tree/master/dist/modules-sumo) +contains sumo variants of the previous modules. + +The modules are also available on npm: +- [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) +- [libsodium-wrappers-sumo](https://www.npmjs.com/package/libsodium-wrappers-sumo) + +If you prefer Bower: + +```sh +bower install libsodium.js +``` + +### Usage (as a module) + +Load the `libsodium-wrappers` module. The returned object contains a `.ready` +property: a promise that must be resolve before the sodium functions +can be used. + +Example: + +```js +import _sodium from 'libsodium-wrappers'; +await (async() => { + await _sodium.ready; + const sodium = _sodium; + + let key = sodium.crypto_secretstream_xchacha20poly1305_keygen(); + + let res = sodium.crypto_secretstream_xchacha20poly1305_init_push(key); + let [state_out, header] = [res.state, res.header]; + let c1 = sodium.crypto_secretstream_xchacha20poly1305_push(state_out, + sodium.from_string('message 1'), null, + sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE); + let c2 = sodium.crypto_secretstream_xchacha20poly1305_push(state_out, + sodium.from_string('message 2'), null, + sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL); + + let state_in = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header, key); + let r1 = sodium.crypto_secretstream_xchacha20poly1305_pull(state_in, c1); + let [m1, tag1] = [sodium.to_string(r1.message), r1.tag]; + let r2 = sodium.crypto_secretstream_xchacha20poly1305_pull(state_in, c2); + let [m2, tag2] = [sodium.to_string(r2.message), r2.tag]; + + console.log(m1); + console.log(m2); +})(); +``` + +### Usage (in a web browser, via a callback) + +The `sodium.js` file includes both the core libsodium functions, as +well as the higher-level JavaScript wrappers. It can be loaded +asynchronusly. + +A `sodium` object should be defined in the global namespace, with the +following property: + +- `onload`: the function to call after the wrapper is initialized. + +Example: + +```html + + +``` + +## Additional helpers + +* `from_base64()`, `to_base64()` with an optional second parameter +whose value is one of: `base64_variants.ORIGINAL`, `base64_variants.ORIGINAL_NO_PADDING`, +`base64_variants.URLSAFE` or `base64_variants.URLSAFE_NO_PADDING`. Default is `base64_variants.URLSAFE_NO_PADDING`. +* `from_hex()`, `to_hex()` +* `from_string()`, `to_string()` +* `pad(, )`, `unpad(, )` +* `memcmp()` (constant-time check for equality, returns `true` or `false`) +* `compare()` (constant-time comparison. Values must have the same +size. Returns `-1`, `0` or `1`) +* `memzero()` (applies to `Uint8Array` objects) +* `increment()` (increments an arbitrary-long number stored as a +little-endian `Uint8Array` - typically to increment nonces) +* `add()` (adds two arbitrary-long numbers stored as little-endian +`Uint8Array` vectors) +* `is_zero()` (constant-time, checks `Uint8Array` objects for all zeros) + +## API + +The API exposed by the wrappers is identical to the one of the C +library, except that buffer lengths never need to be explicitly given. + +Binary input buffers should be `Uint8Array` objects. However, if a string +is given instead, the wrappers will automatically convert the string +to an array containing a UTF-8 representation of the string. + +Example: + +```javascript +var key = sodium.randombytes_buf(sodium.crypto_shorthash_KEYBYTES), + hash1 = sodium.crypto_shorthash(new Uint8Array([1, 2, 3, 4]), key), + hash2 = sodium.crypto_shorthash('test', key); +``` + +If the output is a unique binary buffer, it is returned as a +`Uint8Array` object. + +Example (secretbox): + +```javascript +let key = sodium.from_hex('724b092810ec86d7e35c9d067702b31ef90bc43a7b598626749914d6a3e033ed'); + +function encrypt_and_prepend_nonce(message) { + let nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES); + return nonce.concat(sodium.crypto_secretbox_easy(message, nonce, key)); +} + +function decrypt_after_extracting_nonce(nonce_and_ciphertext) { + if (nonce_and_ciphertext.length < sodium.crypto_secretbox_NONCEBYTES + sodium.crypto_secretbox_MACBYTES) { + throw "Short message"; + } + let nonce = nonce_and_ciphertext.slice(0, sodium.crypto_secretbox_NONCEBYTES), + ciphertext = nonce_and_ciphertext.slice(sodium.crypto_secretbox_NONCEBYTES); + return sodium.crypto_secretbox_open_easy(ciphertext, nonce, key); +} +``` + +In addition, the `from_hex`, `to_hex`, `from_string`, and `to_string` +functions are available to explicitly convert hexadecimal, and +arbitrary string representations from/to `Uint8Array` objects. + +Functions returning more than one output buffer are returning them as +an object. For example, the `sodium.crypto_box_keypair()` function +returns the following object: +```javascript +{ keyType: 'curve25519', privateKey: (Uint8Array), publicKey: (Uint8Array) } +``` + +### Standard vs Sumo version + +The standard version (in the `dist/browsers` and `dist/modules` +directories) contains the high-level functions, and is the recommended +one for most projects. + +Alternatively, the "sumo" version, available in the +`dist/browsers-sumo` and `dist/modules-sumo` directories contains all +the symbols from the original library. This includes undocumented, +untested, deprecated, low-level and easy to misuse functions. + +The `crypto_pwhash_*` function set is included in both versions. + +The sumo version is slightly larger than the standard version, and +should be used only if you really need the extra symbols it provides. + +### Compilation + +If you want to compile the files yourself, the following dependencies +need to be installed on your system: + +* Emscripten +* binaryen +* git +* NodeJS +* make + +Running `make` will install the dev dependencies, clone libsodium, +build it, test it, build the wrapper, and create the modules and +minified distribution files. + +## Authors + +Built by Ahmad Ben Mrad, Frank Denis and Ryan Lester. + +## License + +This wrapper is distributed under the +[ISC License](https://en.wikipedia.org/wiki/ISC_license). diff --git a/ts-client/node_modules/libsodium-sumo/dist/modules-sumo/libsodium-sumo.js b/ts-client/node_modules/libsodium-sumo/dist/modules-sumo/libsodium-sumo.js new file mode 100644 index 00000000..c40c2004 --- /dev/null +++ b/ts-client/node_modules/libsodium-sumo/dist/modules-sumo/libsodium-sumo.js @@ -0,0 +1 @@ +!function(A){function I(A){"use strict";var I;void 0===(I=A)&&(I={});var g=I;"object"!=typeof g.sodium&&("object"==typeof global?g=global:"object"==typeof window&&(g=window));var C=I;return I.ready=new Promise((function(A,I){(Q=C).onAbort=I,Q.print=function(A){},Q.printErr=function(A){},Q.onRuntimeInitialized=function(){try{Q._crypto_secretbox_keybytes(),A()}catch(A){I(A)}},Q.useBackupModule=function(){return new Promise((function(A,I){(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){Object.keys(C).forEach((function(A){"getRandomValue"!==A&&delete C[A]})),Object.keys(Q).forEach((function(A){C[A]=Q[A]})),A()};var g,B,a,Q=void 0!==Q?Q:{},t=Object.assign({},Q),i="object"==typeof window,r="function"==typeof importScripts,o="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,n="";if(o){var c=require("fs"),e=require("path");n=r?e.dirname(n)+"/":__dirname+"/",g=(A,I)=>{var g=Z(A);return g?I?g:g.toString():(A=P(A)?new URL(A):e.normalize(A),c.readFileSync(A,I?void 0:"utf8"))},a=A=>{var I=g(A,!0);return I.buffer||(I=new Uint8Array(I)),I},B=(A,I,g)=>{var C=Z(A);C&&I(C),A=P(A)?new URL(A):e.normalize(A),c.readFile(A,(function(A,C){A?g(A):I(C.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Q),Q.inspect=function(){return"[Emscripten Module object]"}}else(i||r)&&(r?n=self.location.href:"undefined"!=typeof document&&document.currentScript&&(n=document.currentScript.src),n=0!==n.indexOf("blob:")?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",g=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=Z(A);if(g)return function(A){for(var I=[],g=0;g255&&(C&=255),I.push(String.fromCharCode(C))}return I.join("")}(g);throw I}},r&&(a=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=Z(A);if(g)return g;throw I}}),B=(A,I,g)=>{var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=()=>{if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=Z(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});Q.print;var E,_=Q.printErr||void 0;Object.assign(Q,t),t=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&Q.quit,Q.wasmBinary&&(E=Q.wasmBinary),Q.noExitRuntime;var y,s={Memory:function(A){this.buffer=new ArrayBuffer(65536*A.initial)},Module:function(A){},Instance:function(A,I){this.exports=function(A){for(var I,g=new Uint8Array(123),C=25;C>=0;--C)g[48+C]=52+C,g[65+C]=C,g[97+C]=26+C;function B(A,I,C){for(var B,a,Q=0,t=I,i=C.length,r=I+(3*i>>2)-("="==C[i-2])-("="==C[i-1]);Q>4,t>2),t>>0>P>>>0?i+1|0:i)|0,i=(aA=(o=P)>>>0>(P=P+aA|0)>>>0?i+1|0:i)+_A|0,QA=EA=P+eA|0,EA=i=EA>>>0

>>0?i+1|0:i,P=fI(P^(r[A+80|0]|r[A+81|0]<<8|r[A+82|0]<<16|r[A+83|0]<<24)^-79577749,aA^(r[A+84|0]|r[A+85|0]<<8|r[A+86|0]<<16|r[A+87|0]<<24)^528734635,32),DA=i=h,i=i+1013904242|0,aA=P,Z=i=(P=P-23791573|0)>>>0<4271175723?i+1|0:i,oA=fI(P^rA,i^oA,40),i=(i=EA)+(EA=h)|0,rA=fI(aA^(s=rA=oA+QA|0),DA^(p=s>>>0>>0?i+1|0:i),48),i=Z+(R=h)|0,D=i=(rA=P+(f=rA)|0)>>>0

>>0?i+1|0:i,rA=i=fI(oA^(u=rA),EA^i,1),Z=P=h,EA=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,DA=i=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,cA=r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24,P=(oA=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24)+(aA=r[A+40|0]|r[A+41|0]<<8|r[A+42|0]<<16|r[A+43|0]<<24)|0,i=(FA=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24)+(GA=r[A+44|0]|r[A+45|0]<<8|r[A+46|0]<<16|r[A+47|0]<<24)|0,i=(r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24)+(P>>>0>>0?i+1|0:i)|0,i=DA+(QA=(o=P)>>>0>(P=P+cA|0)>>>0?i+1|0:i)|0,i=(cA=P+EA|0)>>>0

>>0?i+1|0:i,o=fI(P^(r[A+72|0]|r[A+73|0]<<8|r[A+74|0]<<16|r[A+75|0]<<24)^725511199,QA^(r[A+76|0]|r[A+77|0]<<8|r[A+78|0]<<16|r[A+79|0]<<24)^-1694144372,32),E=fI(aA^(n=o-2067093701|0),GA^(x=(Y=P=h)-((o>>>0<2067093701)+1150833018|0)|0),40),i=(L=h)+i|0,i=(H=(w=P=E+cA|0)>>>0>>0?i+1|0:i)+Z|0,i=(w>>>0>(P=w+rA|0)>>>0?i+1|0:i)+X|0,i=(aA=(c=P)>>>0>(P=P+tA|0)>>>0?i+1|0:i)+j|0,d=j=P+g|0,y=i=j>>>0

>>0?i+1|0:i,l=rA,lA=Z,Z=P,QA=aA,rA=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,P=i=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,GA=i=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,a=aA=r[A+4|0]|r[A+5|0]<<8|r[A+6|0]<<16|r[A+7|0]<<24,X=i,i=(wA=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24)+(e=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24)|0,i=a+((j=r[A+32|0]|r[A+33|0]<<8|r[A+34|0]<<16|r[A+35|0]<<24)>>>0>(c=j+(aA=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24)|0)>>>0?i+1|0:i)|0,i=(cA=(X=c+X|0)>>>0>>0?i+1|0:i)+P|0,fA=c=X+rA|0,c=i=c>>>0>>0?i+1|0:i,_=j,j=fI(X^(r[0|(i=A- -64|0)]|r[i+1|0]<<8|r[i+2|0]<<16|r[i+3|0]<<24)^-1377402159,cA^(r[i+4|0]|r[i+5|0]<<8|r[i+6|0]<<16|r[i+7|0]<<24)^1359893119,32),cA=i=h,i=i+1779033703|0,X=j,N=i=(j=j-205731576|0)>>>0<4089235720?i+1|0:i,e=fI(_^(m=j),i^e,40),i=(J=h)+c|0,_=fI(X^(c=j=e+fA|0),cA^(F=e>>>0>c>>>0?i+1|0:i),48),i=fI(_^Z,(T=h)^QA,32),W=j=h,K=i,C=i=r[I+60|0]|r[I+61|0]<<8|r[I+62|0]<<16|r[I+63|0]<<24,cA=fA=r[I+56|0]|r[I+57|0]<<8|r[I+58|0]<<16|r[I+59|0]<<24,G=r[A+24|0]|r[A+25|0]<<8|r[A+26|0]<<16|r[A+27|0]<<24,j=(QA=r[I+48|0]|r[I+49|0]<<8|r[I+50|0]<<16|r[I+51|0]<<24)+(X=r[A+56|0]|r[A+57|0]<<8|r[A+58|0]<<16|r[A+59|0]<<24)|0,i=(mA=r[I+52|0]|r[I+53|0]<<8|r[I+54|0]<<16|r[I+55|0]<<24)+(U=r[A+60|0]|r[A+61|0]<<8|r[A+62|0]<<16|r[A+63|0]<<24)|0,i=(r[A+28|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24)+(j>>>0>>0?i+1|0:i)|0,i=C+(Z=(S=j)>>>0>(j=G+j|0)>>>0?i+1|0:i)|0,i=(G=j+cA|0)>>>0>>0?i+1|0:i,Z=fI(j^(r[A+88|0]|r[A+89|0]<<8|r[A+90|0]<<16|r[A+91|0]<<24)^327033209,Z^(r[A+92|0]|r[A+93|0]<<8|r[A+94|0]<<16|r[A+95|0]<<24)^1541459225,32),X=fI(X^(cA=Z+1595750129|0),(S=U)^(U=(b=j=h)-((Z>>>0<2699217167)+1521486533|0)|0),40),i=(IA=h)+i|0,j=fI((G=j=X+G|0)^Z,b^(S=G>>>0>>0?i+1|0:i),48),i=U+($=h)|0,M=i=(j=cA+(U=j)|0)>>>0>>0?i+1|0:i,i=W+i|0,V=l^(Z=K+(b=j)|0),l=i=Z>>>0>>0?i+1|0:i,cA=fI(V,i^lA,40),i=(lA=h)+y|0,j=fI(d=K^(y=j=cA+d|0),W^(K=y>>>0>>0?i+1|0:i),48),i=l+(CA=h)|0,W=i=(l=Z+(d=j)|0)>>>0>>0?i+1|0:i,j=(v=fI(l^cA,lA^i,1))+(Z=r[I+72|0]|r[I+73|0]<<8|r[I+74|0]<<16|r[I+75|0]<<24)|0,i=(sA=h)+(lA=r[I+76|0]|r[I+77|0]<<8|r[I+78|0]<<16|r[I+79|0]<<24)|0,uA=j,q=j>>>0>>0?i+1|0:i,O=yA,j=r[I+96|0]|r[I+97|0]<<8|r[I+98|0]<<16|r[I+99|0]<<24,cA=i=r[I+100|0]|r[I+101|0]<<8|r[I+102|0]<<16|r[I+103|0]<<24,X=(i=s)+(s=fI(b^X,M^IA,1))|0,i=(b=h)+p|0,i=(s>>>0>X>>>0?i+1|0:i)+cA|0,i=(p=(p=X)>>>0>(X=j+X|0)>>>0?i+1|0:i)+O|0,V=M=X+gA|0,M=i=M>>>0>>0?i+1|0:i,w=fI(o^w,H^Y,48),H=i=fI(w^X,(Y=h)^p,32),i=N+T|0,i=(IA=X=h)+(m=(X=_+m|0)>>>0<_>>>0?i+1|0:i)|0,N=i=(p=X)>>>0>(_=p+H|0)>>>0?i+1|0:i,s=fI(_^s,b^i,40),i=(T=h)+M|0,i=(b=s>>>0>(M=X=s+V|0)>>>0?i+1|0:i)+q|0,i=(o=M>>>0>(X=M+uA|0)>>>0?i+1|0:i)+hA|0,uA=q=X+iA|0,q=i=q>>>0>>0?i+1|0:i,V=X,O=o,X=r[I+116|0]|r[I+117|0]<<8|r[I+118|0]<<16|r[I+119|0]<<24,I=r[I+112|0]|r[I+113|0]<<8|r[I+114|0]<<16|r[I+115|0]<<24,e=fI(e^p,m^J,1),i=(J=h)+S|0,i=((o=e+G|0)>>>0>>0?i+1|0:i)+X|0,i=(p=(m=o)>>>0>(o=I+o|0)>>>0?i+1|0:i)+hA|0,SA=m=o+iA|0,m=i=m>>>0>>0?i+1|0:i,i=fI(o^f,p^R,32),AA=o=h,f=i,p=o,i=Y+x|0,w=o=n+w|0,G=i=o>>>0>>0?i+1|0:i,i=i+p|0,S=o=o+f|0,R=i=w>>>0>o>>>0?i+1|0:i,p=fI(o^e,J^i,40),i=(J=h)+m|0,f=fI((o=p+SA|0)^f,AA^(n=o>>>0

>>0?i+1|0:i),48),i=fI(f^V,(SA=h)^O,32),AA=e=h,m=i,V=e,E=fI(E^w,G^L,1),i=F+(w=h)|0,i=((e=c)>>>0>(c=c+E|0)>>>0?i+1|0:i)+BA|0,i=(c=(e=c+z|0)>>>0>>0?i+1|0:i)+lA|0,O=F=e+Z|0,F=i=F>>>0>>0?i+1|0:i,G=E,e=fI(e^U,c^$,32),i=(U=h)+D|0,u=fI(G^(c=E=e+u|0),(D=e>>>0>c>>>0?i+1|0:i)^w,40),i=($=h)+F|0,w=E=u+O|0,E=fI(e^E,U^(F=E>>>0>>0?i+1|0:i),48),i=D+(Q=h)|0,D=E,U=i=(E=c+E|0)>>>0>>0?i+1|0:i,i=i+V|0,i=(G=E)>>>0>(E=E+m|0)>>>0?i+1|0:i,V=E,E^=v,v=i,e=fI(E,sA^i,40),i=(sA=h)+q|0,q=E=e+uA|0,i=B+(O=e>>>0>E>>>0?i+1|0:i)|0,uA=E=E+g|0,Y=i=E>>>0>>0?i+1|0:i,E=o,x=gA,L=yA,o=fI(H^M,b^IA,48),i=N+(IA=h)|0,H=o,N=i=(c=_+o|0)>>>0<_>>>0?i+1|0:i,o=fI(c^s,T^i,1),i=(_=h)+L|0,i=((s=o+x|0)>>>0>>0?i+1|0:i)+n|0,i=mA+(E=(n=E+s|0)>>>0>>0?i+1|0:i)|0,M=s=n+QA|0,s=i=s>>>0>>0?i+1|0:i,n=fI(n^D,E^Q,32),i=W+(b=h)|0,D=n,l=i=(n=l+n|0)>>>0>>0?i+1|0:i,E=fI(o^n,i^_,40),i=(i=s)+(s=h)|0,_=o=E+M|0,o=fI(o^D,b^(M=o>>>0>>0?i+1|0:i),48),i=l+(T=h)|0,b=o,W=i=(l=n+o|0)>>>0>>0?i+1|0:i,o=fI(E^l,s^i,1),i=(s=h)+Y|0,i=C+(E=(n=o+uA|0)>>>0>>0?i+1|0:i)|0,uA=D=n+fA|0,D=i=D>>>0>>0?i+1|0:i,Y=o,x=s,i=R+SA|0,i=(o=f+S|0)>>>0>>0?i+1|0:i,f=o,S=i,i=fI(o^p,J^i,1),p=s=h,o=i,i=F+X|0,i=((w=I+w|0)>>>0>>0?i+1|0:i)+s|0,i=pA+(w=(s=o+w|0)>>>0>>0?i+1|0:i)|0,R=F=s+tA|0,F=i=F>>>0>>0?i+1|0:i,s=fI(s^d,w^CA,32),i=N+(d=h)|0,w=s,N=i=(N=c)>>>0>(c=c+s|0)>>>0?i+1|0:i,s=fI(o^c,i^p,40),i=(J=h)+F|0,p=o=s+R|0,o=fI(F=o^w,d^(w=o>>>0>>0?i+1|0:i),48),i=N+(CA=h)|0,N=o,F=o=c+o|0,d=i=o>>>0>>0?i+1|0:i,R=n,L=E,o=fI(u^G,U^$,1),i=(c=h)+k|0,i=K+((n=o+nA|0)>>>0>>0?i+1|0:i)|0,i=BA+(E=(n=n+y|0)>>>0>>0?i+1|0:i)|0,K=y=n+z|0,y=i=y>>>0>>0?i+1|0:i,u=o,o=(n=fI(n^H,E^IA,32))+f|0,i=(f=h)+S|0,E=o,c=fI(o^u,(H=o>>>0>>0?i+1|0:i)^c,40),i=(IA=h)+y|0,y=o=c+K|0,G=fI(o^n,f^(K=o>>>0>>0?i+1|0:i),48),n=fI(G^R,(i=L)^(L=h),32),i=(R=h)+d|0,f=o=n+F|0,u=fI(o^Y,(S=o>>>0>>0?i+1|0:i)^x,40),i=(Y=h)+D|0,D=o=u+uA|0,o=fI(o^n,R^(U=o>>>0>>0?i+1|0:i),48),i=S+($=h)|0,S=o,R=i=(n=f)>>>0>(f=f+o|0)>>>0?i+1|0:i,o=fI(f^u,Y^i,1),i=hA+(uA=h)|0,Y=o,SA=o=iA+o|0,u=i=o>>>0>>0?i+1|0:i,n=eA,o=fI(s^F,J^d,1),i=M+(s=h)|0,i=((F=_)>>>0>(_=o+_|0)>>>0?i+1|0:i)+_A|0,i=(F=(n=n+_|0)>>>0<_>>>0?i+1|0:i)+DA|0,x=_=n+EA|0,M=i=_>>>0>>0?i+1|0:i,d=o,_=fI(m^q,O^AA,48),i=fI(_^n,(J=h)^F,32),AA=o=h,m=i,n=o,i=H+L|0,i=(o=E+G|0)>>>0>>0?i+1|0:i,E=o,H=i,i=i+n|0,F=o=o+m|0,G=i=E>>>0>o>>>0?i+1|0:i,n=fI(o^d,i^s,40),i=(i=M)+(M=h)|0,d=o=n+x|0,q=i=o>>>0>>0?i+1|0:i,i=i+u|0,O=i=(s=o+SA|0)>>>0>>0?i+1|0:i,u=i,o=fI(c^E,H^IA,1),i=P+(c=h)|0,i=w+((E=o+rA|0)>>>0>>0?i+1|0:i)|0,i=cA+(p=(E=E+p|0)>>>0

>>0?i+1|0:i)|0,x=w=E+j|0,w=i=w>>>0>>0?i+1|0:i,H=o,i=fI(E^b,p^T,32),L=o=h,E=i,p=o,i=J+v|0,b=o=_+V|0,v=i=o>>>0<_>>>0?i+1|0:i,i=i+p|0,i=(_=o+E|0)>>>0>>0?i+1|0:i,o=_^H,H=i,p=fI(o,i^c,40),i=(T=h)+w|0,c=o=p+x|0,V=fI(o^E,L^(w=o>>>0

>>0?i+1|0:i),48),i=fI(V^s,(IA=h)^u,32),SA=o=h,x=i,u=o,o=fI(e^b,v^sA,1),i=K+(e=h)|0,i=wA+((E=o+y|0)>>>0>>0?i+1|0:i)|0,i=(y=(E=E+aA|0)>>>0>>0?i+1|0:i)+FA|0,b=K=E+oA|0,K=i=K>>>0>>0?i+1|0:i,E=fI(E^N,y^CA,32),i=W+(v=h)|0,N=E,y=e,e=i=(E=l+E|0)>>>0>>0?i+1|0:i,y=fI(o^E,y^i,40),i=(CA=h)+K|0,l=o=y+b|0,o=fI(b=o^N,v^(N=o>>>0>>0?i+1|0:i),48),i=e+(J=h)|0,e=o,K=o=E+o|0,b=i=o>>>0>>0?i+1|0:i,i=i+u|0,W=i=(u=o+x|0)>>>0>>0?i+1|0:i,E=fI(u^Y,uA^i,40),i=O+(v=h)|0,i=((o=E+s|0)>>>0>>0?i+1|0:i)+yA|0,s=o,O=o=o+gA|0,Y=i=s>>>0>o>>>0?i+1|0:i,L=BA,s=fI(m^d,q^AA,48),i=(sA=h)+G|0,m=o=s+F|0,i=fI(o^n,(F=o>>>0>>0?i+1|0:i)^M,1),M=n=h,o=i,i=w+B|0,i=((c=c+g|0)>>>0>>0?i+1|0:i)+n|0,i=(c=(n=o+c|0)>>>0>>0?i+1|0:i)+L|0,G=w=n+z|0,w=i=w>>>0>>0?i+1|0:i,n=fI(n^e,c^J,32),i=R+(d=h)|0,f=i=(e=n+f|0)>>>0>>0?i+1|0:i,c=fI(o^e,i^M,40),i=(q=h)+w|0,w=o=c+G|0,n=fI(o^n,d^(M=o>>>0>>0?i+1|0:i),48),i=f+(G=h)|0,d=i=(f=n+e|0)>>>0>>0?i+1|0:i,o=fI(c^f,q^i,1),i=(q=h)+Y|0,i=lA+((e=o+O|0)>>>0>>0?i+1|0:i)|0,i=(c=(e=e+Z|0)>>>0>>0?i+1|0:i)+k|0,uA=k=e+nA|0,k=i=k>>>0>>0?i+1|0:i,R=o,L=e,J=c,e=eA,o=fI(y^K,b^CA,1),i=U+(y=h)|0,i=((c=D)>>>0>(D=o+D|0)>>>0?i+1|0:i)+_A|0,i=FA+(c=(e=e+D|0)>>>0>>0?i+1|0:i)|0,U=D=e+oA|0,K=i=D>>>0>>0?i+1|0:i,D=o,c=i=fI(e^s,c^sA,32),i=H+IA|0,i=(b=o=h)+(_=(o=_+V|0)>>>0<_>>>0?i+1|0:i)|0,H=i=(s=o+c|0)>>>0>>0?i+1|0:i,D=fI(s^D,i^y,40),i=(IA=h)+K|0,K=fI(U=(e=D+U|0)^c,b^(c=e>>>0>>0?i+1|0:i),48),i=fI(K^L,(CA=h)^J,32),sA=y=h,U=i,b=y,o=fI(o^p,_^T,1),i=cA+(y=h)|0,i=N+((_=o+j|0)>>>0>>0?i+1|0:i)|0,i=wA+(l=(_=_+l|0)>>>0>>0?i+1|0:i)|0,L=p=_+aA|0,p=i=p>>>0>>0?i+1|0:i,N=o,V=y,_=fI(_^S,l^$,32),i=(S=h)+F|0,y=o=_+m|0,l=fI(o^N,(m=o>>>0<_>>>0?i+1|0:i)^V,40),i=(T=h)+p|0,N=o=l+L|0,o=fI(o^_,S^(F=o>>>0>>0?i+1|0:i),48),i=m+(L=h)|0,p=o,m=o=y+o|0,S=i=o>>>0>>0?i+1|0:i,i=i+b|0,b=o=o+U|0,_=q,q=i=m>>>0>o>>>0?i+1|0:i,_=fI(o^R,_^i,40),i=(i=k)+(k=h)|0,V=o=_+uA|0,R=i=o>>>0<_>>>0?i+1|0:i,y=c,o=fI(x^O,Y^SA,48),i=W+($=h)|0,W=o,c=(o=u+o|0)^E,E=i=o>>>0>>0?i+1|0:i,c=fI(c,i^v,1),i=(v=h)+y|0,i=C+((e=c+e|0)>>>0>>0?i+1|0:i)|0,i=(y=(e=e+fA|0)>>>0>>0?i+1|0:i)+P|0,O=u=e+rA|0,u=i=u>>>0>>0?i+1|0:i,e=fI(e^p,y^L,32),i=d+(Y=h)|0,d=e,f=i=(y=f+e|0)>>>0>>0?i+1|0:i,c=fI(c^y,v^i,40),i=(i=u)+(u=h)|0,p=e=c+O|0,e=fI(x=e^d,Y^(d=e>>>0>>0?i+1|0:i),48),i=f+(uA=h)|0,v=e,O=i=(f=y+e|0)>>>0>>0?i+1|0:i,e=fI(c^f,u^i,1),i=(u=h)+R|0,i=B+((c=e+V|0)>>>0>>0?i+1|0:i)|0,i=X+(y=(c=c+g|0)>>>0>>0?i+1|0:i)|0,SA=Y=I+c|0,Y=i=Y>>>0>>0?i+1|0:i,x=e,L=u,u=c,J=y,e=fI(l^m,S^T,1),i=(y=h)+M|0,i=pA+((c=e+w|0)>>>0>>0?i+1|0:i)|0,i=(l=(c=c+tA|0)>>>0>>0?i+1|0:i)+X|0,M=w=I+c|0,w=i=w>>>0>>0?i+1|0:i,m=e,c=i=fI(c^W,l^$,32),l=e=h,i=H+CA|0,H=i=(e=s+K|0)>>>0>>0?i+1|0:i,i=i+l|0,i=(s=e)>>>0>(e=e+c|0)>>>0?i+1|0:i,K=e,e^=m,m=i,y=fI(e,i^y,40),i=(T=h)+w|0,l=fI(w=(e=y+M|0)^c,l^(c=e>>>0>>0?i+1|0:i),48),i=fI(l^u,(i=J)^(J=h),32),$=u=h,w=i,M=E,E=n,i=fI(s^D,H^IA,1),S=n=h,s=i,i=F+DA|0,i=((D=N+EA|0)>>>0>>0?i+1|0:i)+n|0,D=i=(n=s+D|0)>>>0>>0?i+1|0:i,E=fI(n^E,i^G,32),i=(i=M)+(M=h)|0,s=fI((o=E+o|0)^s,S^(H=o>>>0>>0?i+1|0:i),40),i=D+(IA=h)|0,N=s,i=mA+((F=n)>>>0>(n=n+s|0)>>>0?i+1|0:i)|0,F=i=(s=n+QA|0)>>>0>>0?i+1|0:i,n=fI(E^s,M^i,48),i=H+(CA=h)|0,G=o,E=n,H=o=o+n|0,M=i=G>>>0>o>>>0?i+1|0:i,i=i+u|0,G=i=(u=o+w|0)>>>0>>0?i+1|0:i,o=(D=fI(u^x,i^L,40))+SA|0,i=(SA=h)+Y|0,S=o,W=o>>>0>>0?i+1|0:i,o=fI(U^V,R^sA,48),i=(U=h)+q|0,b=n=o+b|0,x=k,k=i=n>>>0>>0?i+1|0:i,i=fI(n^_,x^i,1),V=n=h,_=i,i=c+C|0,i=((e=e+fA|0)>>>0>>0?i+1|0:i)+n|0,i=lA+(e=(n=e+_|0)>>>0>>0?i+1|0:i)|0,R=c=n+Z|0,c=i=c>>>0>>0?i+1|0:i,n=fI(n^E,e^CA,32),i=O+(Y=h)|0,q=n,n=(E=f+n|0)^_,_=i=E>>>0>>0?i+1|0:i,e=fI(n,V^i,40),i=(i=c)+(c=h)|0,V=n=e+R|0,n=fI(f=n^q,Y^(q=n>>>0>>0?i+1|0:i),48),i=_+(CA=h)|0,O=n,E=i=(n=E+n|0)>>>0>>0?i+1|0:i,e=fI(n^e,c^i,1),i=(f=h)+W|0,i=hA+((c=e+S|0)>>>0>>0?i+1|0:i)|0,i=(_=(c=c+iA|0)>>>0>>0?i+1|0:i)+BA|0,AA=R=c+z|0,R=i=R>>>0>>0?i+1|0:i,Y=e,x=c,L=_,e=fI(N^H,M^IA,1),i=(M=h)+yA|0,i=d+(e>>>0>(c=e+gA|0)>>>0?i+1|0:i)|0,_=i=(c=c+p|0)>>>0

>>0?i+1|0:i,i=fI(o^c,i^U,32),U=o=h,p=i,i=m+J|0,i=(o=l+K|0)>>>0>>0?i+1|0:i,l=o,H=i,i=U+i|0,m=o=o+p|0,N=i=l>>>0>o>>>0?i+1|0:i,o=fI(o^e,M^i,40),i=_+(J=h)|0,K=o,i=cA+((o=c+o|0)>>>0>>0?i+1|0:i)|0,i=(o=o+j|0)>>>0>>0?i+1|0:i,M=o,o^=p,p=i,_=fI(o,U^i,48),i=fI(_^x,(i=L)^(L=h),32),IA=o=h,U=i,d=o,o=fI(y^l,H^T,1),i=DA+(c=h)|0,i=F+((e=o+EA|0)>>>0>>0?i+1|0:i)|0,i=(y=(e=e+s|0)>>>0>>0?i+1|0:i)+P|0,F=l=e+rA|0,l=i=l>>>0>>0?i+1|0:i,s=o,H=c,o=(e=fI(e^v,y^uA,32))+b|0,i=(b=h)+k|0,c=o,y=fI(y=o^s,(s=o>>>0>>0?i+1|0:i)^H,40),i=(T=h)+l|0,l=o=y+F|0,e=fI(o^e,b^(k=o>>>0>>0?i+1|0:i),48),i=s+(H=h)|0,F=o=e+c|0,b=i=o>>>0>>0?i+1|0:i,i=i+d|0,d=i=(s=o+U|0)>>>0>>0?i+1|0:i,c=fI(s^Y,i^f,40),i=(v=h)+R|0,R=o=c+AA|0,Y=i=o>>>0>>0?i+1|0:i,o=n,f=E,E=e,n=fI(w^S,W^$,48),i=G+(AA=h)|0,w=n,u=i=(e=u+n|0)>>>0>>0?i+1|0:i,i=fI(e^D,SA^i,1),G=n=h,D=i,i=p+kA|0,i=((p=M+nA|0)>>>0>>0?i+1|0:i)+n|0,p=i=(n=p+D|0)>>>0

>>0?i+1|0:i,E=fI(n^E,i^H,32),i=(M=h)+f|0,D=fI((o=E+o|0)^D,G^(f=o>>>0>>0?i+1|0:i),40),i=p+(S=h)|0,i=wA+((p=n)>>>0>(n=n+D|0)>>>0?i+1|0:i)|0,H=i=(p=n+aA|0)>>>0>>0?i+1|0:i,n=fI(E^p,M^i,48),i=f+($=h)|0,M=n,G=i=(f=o+n|0)>>>0>>0?i+1|0:i,o=fI(f^D,S^i,1),i=(D=h)+Y|0,i=pA+((n=o+R|0)>>>0>>0?i+1|0:i)|0,i=hA+(E=(n=n+tA|0)>>>0>>0?i+1|0:i)|0,sA=S=n+iA|0,S=i=S>>>0>>0?i+1|0:i,W=o,x=n,o=fI(y^F,b^T,1),i=(y=h)+q|0,i=FA+((n=o+V|0)>>>0>>0?i+1|0:i)|0,i=mA+(F=(n=n+oA|0)>>>0>>0?i+1|0:i)|0,V=b=n+QA|0,b=i=b>>>0>>0?i+1|0:i,q=o,i=fI(n^w,F^AA,32),AA=o=h,n=i,i=N+L|0,m=o=_+m|0,w=i=o>>>0<_>>>0?i+1|0:i,i=AA+i|0,N=i=(_=o+n|0)>>>0>>0?i+1|0:i,y=fI(_^q,i^y,40),i=(L=h)+b|0,F=o=y+V|0,q=fI(o^n,AA^(b=o>>>0>>0?i+1|0:i),48),i=fI(q^x,(AA=h)^E,32),T=o=h,V=i,E=o,n=eA,o=fI(m^K,w^J,1),i=k+(w=h)|0,i=((m=l)>>>0>(l=o+l|0)>>>0?i+1|0:i)+_A|0,i=pA+(l=(n=n+l|0)>>>0>>0?i+1|0:i)|0,m=k=n+tA|0,k=i=k>>>0>>0?i+1|0:i,n=fI(n^O,l^CA,32),i=u+(K=h)|0,u=n,i=(n=e+n|0)>>>0>>0?i+1|0:i,e=w,w=i,e=fI(o^n,e^i,40),i=(J=h)+k|0,l=o=e+m|0,o=fI(o^u,K^(k=o>>>0>>0?i+1|0:i),48),i=w+(x=h)|0,w=o,m=o=n+o|0,K=i=o>>>0>>0?i+1|0:i,i=i+E|0,i=(u=o+V|0)>>>0>>0?i+1|0:i,o=u^W,W=i,D=fI(o,i^D,40),i=(CA=h)+S|0,S=o=D+sA|0,O=o>>>0>>0?i+1|0:i,o=fI(U^R,Y^IA,48),i=d+(IA=h)|0,U=o,i=(o=s+o|0)>>>0>>0?i+1|0:i,s=o,d=i,i=fI(o^c,i^v,1),v=o=h,E=i,i=b+lA|0,i=((n=F+Z|0)>>>0>>0?i+1|0:i)+o|0,i=wA+(n=(o=n+E|0)>>>0>>0?i+1|0:i)|0,F=c=o+aA|0,c=i=c>>>0>>0?i+1|0:i,o=fI(o^w,n^x,32),i=G+(b=h)|0,w=o,f=i=(n=f+o|0)>>>0>>0?i+1|0:i,E=fI(n^E,v^i,40),i=(v=h)+c|0,F=o=E+F|0,o=fI(c=o^w,b^(w=o>>>0>>0?i+1|0:i),48),i=f+(sA=h)|0,f=o,G=i=(c=n+o|0)>>>0>>0?i+1|0:i,o=fI(c^E,v^i,1),i=(b=h)+O|0,i=DA+((n=o+S|0)>>>0>>0?i+1|0:i)|0,i=(E=(n=n+EA|0)>>>0>>0?i+1|0:i)+yA|0,uA=v=n+gA|0,v=i=v>>>0>>0?i+1|0:i,R=o,Y=n,x=E,o=fI(e^m,J^K,1),i=FA+(E=h)|0,i=H+((n=o+oA|0)>>>0>>0?i+1|0:i)|0,i=kA+(e=(n=n+p|0)>>>0

>>0?i+1|0:i)|0,K=p=n+nA|0,p=i=p>>>0>>0?i+1|0:i,H=o,m=E,i=fI(n^U,e^IA,32),U=o=h,e=i,n=o,i=N+AA|0,i=(o=_+q|0)>>>0<_>>>0?i+1|0:i,_=o,N=i,i=i+n|0,i=(E=o+e|0)>>>0>>0?i+1|0:i,o=E^H,H=i,o=fI(o,i^m,40),i=(i=p)+(p=h)|0,m=n=o+K|0,K=i=n>>>0>>0?i+1|0:i,U=fI(n^e,U^i,48),i=fI(U^Y,(i=x)^(x=h),32),J=n=h,q=i,n=fI(_^y,N^L,1),i=(_=h)+_A|0,i=k+((e=n+eA|0)>>>0>>0?i+1|0:i)|0,i=C+(y=(e=e+l|0)>>>0>>0?i+1|0:i)|0,L=l=e+fA|0,l=i=l>>>0>>0?i+1|0:i,k=n,N=_,e=fI(e^M,y^$,32),i=(M=h)+d|0,_=n=e+s|0,n=(y=fI(n^k,(s=n>>>0>>0?i+1|0:i)^N,40))+L|0,i=(L=h)+l|0,k=n,n=fI(n^e,M^(N=n>>>0>>0?i+1|0:i),48),i=s+(AA=h)|0,M=n,d=n=_+n|0,Y=i=n>>>0<_>>>0?i+1|0:i,i=J+i|0,i=(e=n+q|0)>>>0>>0?i+1|0:i,n=b,b=i,_=fI(e^R,n^i,40),i=(IA=h)+v|0,l=n=_+uA|0,i=fI(n^q,J^(v=n>>>0<_>>>0?i+1|0:i),48),J=n=h,q=i,n=o,i=H+x|0,H=o=E+U|0,U=i=o>>>0>>0?i+1|0:i,i=fI(o^n,i^p,1),E=n=h,o=i,i=N+B|0,i=((s=k+g|0)>>>0>>0?i+1|0:i)+n|0,i=cA+(s=(n=o+s|0)>>>0>>0?i+1|0:i)|0,x=p=n+j|0,p=i=p>>>0>>0?i+1|0:i,k=o,N=E,o=fI(S^V,O^T,48),i=W+(T=h)|0,S=o,i=(o=u+o|0)>>>0>>0?i+1|0:i,u=o,n=fI(n^f,s^sA,32),W=i,i=i+(V=h)|0,E=o=n+o|0,s=fI(o^k,(f=o>>>0>>0?i+1|0:i)^N,40),i=(O=h)+p|0,p=o=s+x|0,o=fI(o^n,V^(k=o>>>0>>0?i+1|0:i),48),i=f+($=h)|0,N=o,V=i=(f=E+o|0)>>>0>>0?i+1|0:i,o=fI(s^f,O^i,1),i=wA+(x=h)|0,O=o,sA=o=aA+o|0,E=i=o>>>0>>0?i+1|0:i,o=fI(D^u,W^CA,1),i=(s=h)+K|0,i=mA+((n=o+m|0)>>>0>>0?i+1|0:i)|0,i=BA+(u=(n=n+QA|0)>>>0>>0?i+1|0:i)|0,W=D=n+z|0,D=i=D>>>0>>0?i+1|0:i,m=s,n=fI(n^M,u^AA,32),i=G+(AA=h)|0,K=n,i=(s=c+n|0)>>>0>>0?i+1|0:i,c=m,m=i,u=fI(o^s,c^i,40),i=(CA=h)+D|0,M=o=u+W|0,i=(G=o>>>0>>0?i+1|0:i)+E|0,D=i=(E=o+sA|0)>>>0>>0?i+1|0:i,W=i=fI(E^q,i^J,32),R=o=h,o=fI(y^d,Y^L,1),i=(c=h)+w|0,i=X+((n=o+F|0)>>>0>>0?i+1|0:i)|0,i=(y=(n=I+n|0)>>>0>>0?i+1|0:i)+P|0,Y=w=n+rA|0,w=i=w>>>0>>0?i+1|0:i,F=o,d=c,n=fI(n^S,y^T,32),i=(S=h)+U|0,c=o=n+H|0,o=(y=fI(o^F,(H=o>>>0>>0?i+1|0:i)^d,40))+Y|0,i=(Y=h)+w|0,w=o,o=fI(o^n,S^(F=o>>>0>>0?i+1|0:i),48),i=H+(T=h)|0,H=o,S=i=(o=c+o|0)>>>0>>0?i+1|0:i,i=i+R|0,U=i=(c=o)>>>0>(o=o+W|0)>>>0?i+1|0:i,n=fI(o^O,x^i,40),i=D+(x=h)|0,d=n,i=B+((n=E+n|0)>>>0>>0?i+1|0:i)|0,O=n=n+g|0,E=n^W,W=i=n>>>0>>0?i+1|0:i,n=fI(E,R^i,48),i=U+(R=h)|0,U=i=(D=o+n|0)>>>0>>0?i+1|0:i,o=i=fI(D^d,x^i,1),d=E=h,E=fI(c^y,S^Y,1),i=k+(y=h)|0,i=mA+((c=E+p|0)>>>0

>>0?i+1|0:i)|0,i=pA+(p=(c=c+QA|0)>>>0>>0?i+1|0:i)|0,x=k=c+tA|0,k=i=k>>>0>>0?i+1|0:i,S=E,Y=y,i=b+J|0,i=(E=e+q|0)>>>0>>0?i+1|0:i,b=E,K=fI(M^K,G^AA,48),y=fI(c^K,p^(AA=h),32),M=i,i=i+(sA=h)|0,p=E=y+E|0,E=fI(E^S,(G=E>>>0>>0?i+1|0:i)^Y,40),i=(S=h)+k|0,Y=i=(e=E+x|0)>>>0>>0?i+1|0:i,i=i+d|0,i=C+((q=e)>>>0>(e=o+e|0)>>>0?i+1|0:i)|0,i=(c=(e=e+fA|0)>>>0>>0?i+1|0:i)+_A|0,uA=k=e+eA|0,x=i=k>>>0>>0?i+1|0:i,L=o,J=e,i=fI(_^b,M^IA,1),_=e=h,o=i,i=F+FA|0,i=((k=w+oA|0)>>>0>>0?i+1|0:i)+e|0,i=cA+(k=(e=o+k|0)>>>0>>0?i+1|0:i)|0,M=w=e+j|0,w=i=w>>>0>>0?i+1|0:i,F=o,i=fI(e^N,k^$,32),b=o=h,e=i,k=o,i=m+AA|0,m=o=s+K|0,N=i=o>>>0>>0?i+1|0:i,i=i+k|0,i=(s=o+e|0)>>>0>>0?i+1|0:i;o=s^F,F=i,k=fI(o,i^_,40),i=(AA=h)+w|0,K=fI(w=(o=k+M|0)^e,b^(e=o>>>0>>0?i+1|0:i),48),i=fI(i=K^J,(J=h)^c,32),IA=c=h,M=i,w=c,c=fI(u^m,N^CA,1),i=BA+(u=h)|0,i=v+((_=c+z|0)>>>0>>0?i+1|0:i)|0,i=DA+(l=(_=_+l|0)>>>0>>0?i+1|0:i)|0,N=m=_+EA|0,m=i=m>>>0>>0?i+1|0:i,_=fI(_^H,l^T,32),i=V+(b=h)|0,H=_,f=i=(_=f+_|0)>>>0>>0?i+1|0:i,l=fI(c^_,i^u,40),i=(T=h)+m|0,u=c=l+N|0,c=fI(m=c^H,b^(H=c>>>0>>0?i+1|0:i),48),i=f+($=h)|0,m=c,N=c=_+c|0,b=i=c>>>0<_>>>0?i+1|0:i,i=i+w|0,i=(_=c+M|0)>>>0>>0?i+1|0:i,c=d,d=i,f=fI(_^L,c^i,40),i=(v=h)+x|0,w=c=f+uA|0,c=fI(x=c^M,IA^(M=c>>>0>>0?i+1|0:i),48),i=d+(IA=h)|0,d=c,_=i=(c=_+c|0)>>>0<_>>>0?i+1|0:i,v=i=fI(c^f,v^i,1),CA=i,V=f=h,f=e,e=E,E=fI(y^q,Y^sA,48),i=G+(sA=h)|0,G=E,i=(E=p+E|0)>>>0

>>0?i+1|0:i,p=o,o=e^E,e=i,o=fI(o,i^S,1),i=(S=h)+f|0,i=kA+(o>>>0>(y=p+o|0)>>>0?i+1|0:i)|0,i=yA+(p=(y=y+nA|0)>>>0>>0?i+1|0:i)|0,q=f=y+gA|0,f=i=f>>>0>>0?i+1|0:i,y=fI(y^m,p^$,32),i=U+(Y=h)|0,m=i=(p=y+D|0)>>>0>>0?i+1|0:i,D=fI(o^p,S^i,40),i=($=h)+f|0,S=o=D+q|0,y=fI(o^y,Y^(U=o>>>0>>0?i+1|0:i),48),i=m+(q=h)|0,Y=o=y+p|0,m=o,x=i=o>>>0

>>0?i+1|0:i,p=E,f=e,i=F+J|0,i=(o=s+K|0)>>>0>>0?i+1|0:i,s=o,o^=k,k=i,i=fI(o,AA^i,1),L=o=h,F=i,e=i,i=H+P|0,i=((E=u+rA|0)>>>0>>0?i+1|0:i)+o|0,u=i=(o=E)>>>0>(E=e+E|0)>>>0?i+1|0:i,e=fI(n^E,i^R,32),i=(i=f)+(f=h)|0,K=o=e+p|0,n=fI(n=o^F,L^(F=o>>>0>>0?i+1|0:i),40),i=u+(R=h)|0,i=lA+((o=n+E|0)>>>0>>0?i+1|0:i)|0,L=i=(p=o+Z|0)>>>0>>0?i+1|0:i,f=fI(e^p,f^i,48),uA=i=h,o=fI(l^N,b^T,1),i=(e=h)+W|0,i=hA+((E=o+O|0)>>>0>>0?i+1|0:i)|0,i=X+(l=(E=E+iA|0)>>>0>>0?i+1|0:i)|0,W=u=I+E|0,N=i=u>>>0>>0?i+1|0:i,b=o,u=fI(E^G,l^sA,32),i=(T=h)+k|0,k=o=u+s|0,E=fI(o^b,(G=o>>>0>>0?i+1|0:i)^e,40),i=(i=N)+(N=h)|0,b=o=E+W|0,W=i=o>>>0>>0?i+1|0:i,e=i,i=X+V|0,i=((l=I+v|0)>>>0>>0?i+1|0:i)+e|0,H=i=(e=o+l|0)>>>0>>0?i+1|0:i,o=fI(e^f,uA^i,32),i=(v=h)+x|0,s=fI((l=o+m|0)^CA,(i=l>>>0>>0?i+1|0:i)^V,40),V=i,i=yA+(m=h)|0,i=H+((O=s+gA|0)>>>0>>0?i+1|0:i)|0,i=(H=e+O|0)>>>0>>0?i+1|0:i,e=v,v=i,e=fI(o^H,e^i,48),i=(i=V)+(V=h)|0,o=s^(l=e+l|0),s=i=l>>>0>>0?i+1|0:i,O=i=fI(o,i^m,1),CA=i,J=o=h,m=c,AA=_,c=E,E=fI(u^b,W^T,48),i=G+(b=h)|0,u=o=E+k|0,k=i=o>>>0>>0?i+1|0:i,c=fI(o^c,i^N,1),i=(W=h)+kA|0,i=L+((o=c+nA|0)>>>0>>0?i+1|0:i)|0,p=i=(_=o+p|0)>>>0

>>0?i+1|0:i,o=fI(_^y,i^q,32),i=(N=h)+AA|0,m=y=o+m|0,G=i=y>>>0>>0?i+1|0:i,c=fI(c^y,i^W,40),i=pA+(sA=h)|0,W=c,i=p+((c=tA+c|0)>>>0>>0?i+1|0:i)|0,_=i=(c=c+_|0)>>>0<_>>>0?i+1|0:i,y=fI(o^c,i^N,48),i=(i=G)+(G=h)|0,q=o=y+m|0,N=o,L=i=o>>>0>>0?i+1|0:i,i=F+uA|0,m=(o=f+K|0)^n,n=i=o>>>0>>0?i+1|0:i,i=fI(m,i^R,1),R=p=h,m=i,i=U+cA|0,i=((f=S+j|0)>>>0>>0?i+1|0:i)+p|0,F=i=(F=f)>>>0>(f=f+m|0)>>>0?i+1|0:i,K=p=fI(f^d,IA^i,32),S=i=h,i=i+k|0,U=p=p+u|0,d=i=K>>>0>p>>>0?i+1|0:i,p=fI(p^m,R^i,40),i=_A+(R=h)|0,i=F+((u=p+eA|0)>>>0>>0?i+1|0:i)|0,u=i=(m=f)>>>0>(f=f+u|0)>>>0?i+1|0:i,m=fI(f^K,i^S,48),IA=i=h,k=i,D=fI(D^Y,x^$,1),F=i=h,K=E,i=i+P|0,i=M+((E=D+rA|0)>>>0>>0?i+1|0:i)|0,i=(E=E+w|0)>>>0>>0?i+1|0:i,w=E^K,K=i,w=fI(w,i^b,32),i=($=h)+n|0,M=o=w+o|0,n=fI(o^D,(n=F)^(F=o>>>0>>0?i+1|0:i),40),i=hA+(S=h)|0,i=K+((o=n+iA|0)>>>0>>0?i+1|0:i)|0,K=o=o+E|0,b=i=o>>>0>>0?i+1|0:i,E=i,i=J+mA|0,i=((D=O+QA|0)>>>0>>0?i+1|0:i)+E|0,O=i=(E=o+D|0)>>>0>>0?i+1|0:i,o=fI(E^m,i^k,32),i=(Y=h)+L|0,k=fI((D=o+N|0)^CA,(i=D>>>0>>0?i+1|0:i)^J,40),x=N=h,J=i,i=N+DA|0,i=O+((N=k+EA|0)>>>0>>0?i+1|0:i)|0,O=i=(N=E+N|0)>>>0>>0?i+1|0:i,E=fI(o^N,i^Y,48),i=(Y=h)+J|0,o=(D=E+D|0)^k,k=i=D>>>0>>0?i+1|0:i,x=i=fI(o,i^x,1),J=o=h,AA=l,T=y,y=n,n=fI(w^K,b^$,48),i=(w=h)+F|0,F=o=n+M|0,K=i=o>>>0>>0?i+1|0:i,y=fI(o^y,i^S,1),i=(S=h)+wA|0,i=((o=y+aA|0)>>>0>>0?i+1|0:i)+u|0,f=i=(l=o+f|0)>>>0>>0?i+1|0:i,o=fI(l^T,i^G,32),i=(u=h)+s|0,M=s=o+AA|0,G=i=s>>>0>>0?i+1|0:i,y=fI(y^s,i^S,40),i=C+(T=h)|0,S=y,i=f+((y=fA+y|0)>>>0>>0?i+1|0:i)|0,b=i=(s=y+l|0)>>>0>>0?i+1|0:i,y=fI(o^s,i^u,48),i=(i=G)+(G=h)|0,M=o=y+M|0,AA=i=o>>>0>>0?i+1|0:i,f=e,l=c,i=d+IA|0,e=i=(o=m+U|0)>>>0>>0?i+1|0:i,c=fI(o^p,i^R,1),i=(p=h)+BA|0,i=((u=c+z|0)>>>0>>0?i+1|0:i)+_|0,_=fI(f^(l=l+u|0),(i=l>>>0>>0?i+1|0:i)^V,32),u=i,m=c,i=(f=h)+K|0,i=(c=_+F|0)>>>0<_>>>0?i+1|0:i,F=c,c^=m,m=i,c=fI(c,i^p,40),i=B+(K=h)|0,i=((p=c+g|0)>>>0>>0?i+1|0:i)+u|0,U=i=(u=p)>>>0>(p=p+l|0)>>>0?i+1|0:i,f=fI(_^p,i^f,48),IA=i=h,l=i,_=fI(q^W,L^sA,1),d=i=h,W=e,i=i+lA|0,i=v+((e=_+Z|0)>>>0>>0?i+1|0:i)|0,u=w,w=i=(e=e+H|0)>>>0>>0?i+1|0:i,u=fI(n^e,u^i,32),i=($=h)+W|0,H=o=u+o|0,n=fI(o^_,(n=d)^(d=o>>>0>>0?i+1|0:i),40),i=FA+(W=h)|0,i=w+((o=n+oA|0)>>>0>>0?i+1|0:i)|0,v=o=o+e|0,q=i=o>>>0>>0?i+1|0:i,e=i,i=J+cA|0,i=((_=j+x|0)>>>0>>0?i+1|0:i)+e|0,w=i=(e=o+_|0)>>>0<_>>>0?i+1|0:i,o=fI(e^f,i^l,32),i=(V=h)+AA|0,l=fI((_=o+M|0)^x,(i=_>>>0>>0?i+1|0:i)^J,40),x=i,i=P+(R=h)|0,i=w+((L=l+rA|0)>>>0>>0?i+1|0:i)|0,i=(w=e+L|0)>>>0>>0?i+1|0:i,e=V,V=i,e=fI(o^w,e^i,48),i=(i=x)+(x=h)|0,o=(_=e+_|0)^l,l=i=_>>>0>>0?i+1|0:i,R=i=fI(o,i^R,1),L=o=h,J=y,y=n,n=fI(u^v,q^$,48),i=(i=d)+(d=h)|0,H=o=n+H|0,u=W,W=i=o>>>0>>0?i+1|0:i,y=fI(o^y,u^i,1),i=(v=h)+DA|0,i=U+((o=y+EA|0)>>>0>>0?i+1|0:i)|0,u=p,p=o+p|0,o=G,G=i=u>>>0>p>>>0?i+1|0:i,o=fI(p^J,o^i,32),i=(i=k)+(k=h)|0,U=i=(u=o+D|0)>>>0>>0?i+1|0:i,D=u,y=fI(y^u,i^v,40),i=lA+($=h)|0,v=y,i=G+((y=Z+y|0)>>>0>>0?i+1|0:i)|0,G=i=(u=y+p|0)>>>0

>>0?i+1|0:i,y=fI(o^u,i^k,48),i=(i=U)+(U=h)|0,q=o=y+D|0,J=i=o>>>0>>0?i+1|0:i,D=E,i=m+IA|0,E=i=(o=f+F|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^K,1),i=yA+(f=h)|0,i=b+((p=c+gA|0)>>>0>>0?i+1|0:i)|0,m=(p=s+p|0)^D,D=i=p>>>0>>0?i+1|0:i,s=fI(m,i^Y,32),k=i=h,m=c,i=i+W|0,i=(c=s+H|0)>>>0>>0?i+1|0:i,F=c,c^=m,m=i,c=fI(c,i^f,40),i=B+(K=h)|0,i=D+((f=c+g|0)>>>0>>0?i+1|0:i)|0,b=i=(f=p+f|0)>>>0

>>0?i+1|0:i,D=fI(s^f,i^k,48),IA=i=h,p=i,s=fI(S^M,T^AA,1),H=i=h,M=E,i=i+C|0,i=O+((E=s+fA|0)>>>0>>0?i+1|0:i)|0,N=i=(E=E+N|0)>>>0>>0?i+1|0:i,k=fI(n^E,i^d,32),i=(CA=h)+M|0,M=o=k+o|0,n=fI(o^s,(S=o>>>0>>0?i+1|0:i)^H,40),i=X+(d=h)|0,i=N+((o=I+n|0)>>>0>>0?i+1|0:i)|0,N=o=o+E|0,W=i=o>>>0>>0?i+1|0:i,E=i,i=L+hA|0,i=((s=R+iA|0)>>>0>>0?i+1|0:i)+E|0,H=i=(E=o+s|0)>>>0>>0?i+1|0:i,o=fI(E^D,i^p,32),i=(O=h)+J|0,p=fI((s=o+q|0)^R,(i=s>>>0>>0?i+1|0:i)^L,40),Y=i,i=kA+(R=h)|0,i=H+((L=p+nA|0)>>>0>>0?i+1|0:i)|0,i=(H=E+L|0)>>>0>>0?i+1|0:i,E=O,O=i,E=fI(o^H,E^i,48),i=(i=Y)+(Y=h)|0,o=(s=E+s|0)^p,p=i=s>>>0>>0?i+1|0:i,R=i=fI(o,i^R,1),sA=i,L=o=h,AA=_,T=y,_=n,n=fI(k^N,W^CA,48),i=(k=h)+S|0,N=o=n+M|0,M=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^d,1),i=(d=h)+_A|0,i=b+((o=_+eA|0)>>>0<_>>>0?i+1|0:i)|0,f=i=(y=o+f|0)>>>0>>0?i+1|0:i,o=fI(y^T,i^U,32),i=(S=h)+l|0,U=i=(l=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^l,i^d,40),i=wA+(CA=h)|0,b=_,i=f+((_=aA+_|0)>>>0>>0?i+1|0:i)|0,f=_+y|0,_=S,S=i=f>>>0>>0?i+1|0:i,_=fI(o^f,_^i,48),i=(i=U)+(U=h)|0,d=o=_+l|0,W=i=o>>>0<_>>>0?i+1|0:i,y=e,i=m+IA|0,e=i=(o=D+F|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^K,1),i=(D=h)+FA|0,i=G+((l=c+oA|0)>>>0>>0?i+1|0:i)|0,y=fI(y^(l=l+u|0),(i=l>>>0>>0?i+1|0:i)^x,32),m=u=h,u=i,F=c,i=m+M|0,i=(c=y+N|0)>>>0>>0?i+1|0:i,N=c,c^=F,F=i,c=fI(c,i^D,40),i=pA+(K=h)|0,i=((D=c+tA|0)>>>0>>0?i+1|0:i)+u|0,G=m,m=i=(u=l+D|0)>>>0>>0?i+1|0:i,D=fI(y^u,G^i,48),IA=i=h,l=i,y=fI(q^v,J^$,1),M=i=h,G=e,i=i+BA|0,i=V+((e=y+z|0)>>>0>>0?i+1|0:i)|0,w=i=(e=e+w|0)>>>0>>0?i+1|0:i,k=fI(n^e,i^k,32),i=($=h)+G|0,G=o=k+o|0,n=fI(o^y,(n=M)^(M=o>>>0>>0?i+1|0:i),40),i=mA+(v=h)|0,i=w+((o=n+QA|0)>>>0>>0?i+1|0:i)|0,q=o=o+e|0,V=i=o>>>0>>0?i+1|0:i,e=i,i=L+B|0,i=((y=R+g|0)>>>0>>0?i+1|0:i)+e|0,w=i=(e=o+y|0)>>>0>>0?i+1|0:i,o=fI(e^D,i^l,32),i=(R=h)+W|0,l=fI((y=o+d|0)^sA,(i=y>>>0>>0?i+1|0:i)^L,40),L=i,i=DA+(x=h)|0,i=w+((J=l+EA|0)>>>0>>0?i+1|0:i)|0,i=(w=e+J|0)>>>0>>0?i+1|0:i,e=R,R=i,e=fI(o^w,e^i,48),i=(i=L)+(L=h)|0,o=(y=e+y|0)^l,l=i=y>>>0>>0?i+1|0:i,x=i=fI(o,i^x,1),J=o=h,AA=s,T=_,_=n,n=fI(k^q,V^$,48),i=(k=h)+M|0,M=o=n+G|0,G=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^v,1),i=(v=h)+wA|0,i=m+((o=_+aA|0)>>>0<_>>>0?i+1|0:i)|0,u=i=(s=o+u|0)>>>0>>0?i+1|0:i,o=fI(s^T,i^U,32),i=(m=h)+p|0,U=i=(p=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^p,i^v,40),i=BA+($=h)|0,v=_,i=u+((_=z+_|0)>>>0>>0?i+1|0:i)|0,u=_+s|0,_=m,m=i=u>>>0>>0?i+1|0:i,_=fI(o^u,_^i,48),i=(i=U)+(U=h)|0,q=o=_+p|0,V=i=o>>>0<_>>>0?i+1|0:i,s=E,i=F+IA|0,E=i=(o=D+N|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^K,1),i=mA+(D=h)|0,i=S+((p=c+QA|0)>>>0>>0?i+1|0:i)|0,f=i=(p=p+f|0)>>>0>>0?i+1|0:i,s=fI(s^p,i^Y,32),N=i=h,F=c,i=i+G|0,i=(c=s+M|0)>>>0>>0?i+1|0:i,K=c,c^=F,F=i,c=fI(c,i^D,40),i=hA+(M=h)|0,i=f+((D=c+iA|0)>>>0>>0?i+1|0:i)|0,i=(f=p+D|0)>>>0

>>0?i+1|0:i,p=N,N=i,D=fI(s^f,p^i,48),IA=i=h,p=i,s=fI(b^d,W^CA,1),G=i=h,S=E,i=i+X|0,i=O+((E=I+s|0)>>>0>>0?i+1|0:i)|0,H=i=(E=E+H|0)>>>0>>0?i+1|0:i,k=fI(n^E,i^k,32),i=(CA=h)+S|0,S=o=k+o|0,n=fI(o^s,(n=G)^(G=o>>>0>>0?i+1|0:i),40),i=lA+(b=h)|0,i=H+((o=n+Z|0)>>>0>>0?i+1|0:i)|0,d=o=o+E|0,W=i=o>>>0>>0?i+1|0:i,E=i,i=J+yA|0,i=((s=x+gA|0)>>>0>>0?i+1|0:i)+E|0,H=i=(E=o+s|0)>>>0>>0?i+1|0:i,o=fI(E^D,i^p,32),i=(O=h)+V|0,p=fI((s=o+q|0)^x,(i=s>>>0>>0?i+1|0:i)^J,40),x=i,i=C+(Y=h)|0,i=H+((J=p+fA|0)>>>0>>0?i+1|0:i)|0,i=(H=E+J|0)>>>0>>0?i+1|0:i,E=O,O=i,E=fI(o^H,E^i,48),i=(i=x)+(x=h)|0,o=(s=E+s|0)^p,p=i=s>>>0>>0?i+1|0:i,Y=i=fI(o,i^Y,1),J=o=h,AA=y,T=_,_=n,n=fI(k^d,W^CA,48),i=(k=h)+G|0,G=o=n+S|0,S=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^b,1),i=(b=h)+cA|0,i=N+((o=_+j|0)>>>0<_>>>0?i+1|0:i)|0,f=i=(y=o+f|0)>>>0>>0?i+1|0:i,o=fI(y^T,i^U,32),i=(N=h)+l|0,U=i=(l=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^l,i^b,40),i=FA+(CA=h)|0,b=_,i=f+((_=oA+_|0)>>>0>>0?i+1|0:i)|0,f=_+y|0,_=N,N=i=f>>>0>>0?i+1|0:i,_=fI(o^f,_^i,48),i=(i=U)+(U=h)|0,d=o=_+l|0,W=i=o>>>0<_>>>0?i+1|0:i,y=e,i=F+IA|0,e=i=(o=D+K|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^M,1),i=(D=h)+pA|0,i=m+((l=c+tA|0)>>>0>>0?i+1|0:i)|0,u=i=(l=l+u|0)>>>0>>0?i+1|0:i,y=fI(y^l,i^L,32),m=i=h,F=c,i=i+S|0,i=(c=y+G|0)>>>0>>0?i+1|0:i,K=c,c^=F,F=i,c=fI(c,i^D,40),i=_A+(M=h)|0,i=u+((D=c+eA|0)>>>0>>0?i+1|0:i)|0,G=m,m=i=(u=l+D|0)>>>0>>0?i+1|0:i,D=fI(y^u,G^i,48),IA=i=h,l=i,y=fI(q^v,V^$,1),G=i=h,S=e,i=i+P|0,i=R+((e=y+rA|0)>>>0>>0?i+1|0:i)|0,w=i=(e=e+w|0)>>>0>>0?i+1|0:i,k=fI(n^e,i^k,32),i=($=h)+S|0,S=o=k+o|0,n=fI(o^y,(n=G)^(G=o>>>0>>0?i+1|0:i),40),i=kA+(v=h)|0,i=w+((o=n+nA|0)>>>0>>0?i+1|0:i)|0,q=o=o+e|0,V=i=o>>>0>>0?i+1|0:i,e=i,i=J+C|0,i=((y=Y+fA|0)>>>0>>0?i+1|0:i)+e|0,w=i=(e=o+y|0)>>>0>>0?i+1|0:i,o=fI(e^D,i^l,32),i=(R=h)+W|0,l=fI((y=o+d|0)^Y,(i=y>>>0>>0?i+1|0:i)^J,40),L=i,i=mA+(Y=h)|0,i=w+((J=l+QA|0)>>>0>>0?i+1|0:i)|0,i=(w=e+J|0)>>>0>>0?i+1|0:i,e=R,R=i,e=fI(o^w,e^i,48),i=(i=L)+(L=h)|0,o=(y=e+y|0)^l,l=i=y>>>0>>0?i+1|0:i,Y=i=fI(o,i^Y,1),J=o=h,AA=s,T=_,_=n,n=fI(k^q,V^$,48),i=(k=h)+G|0,G=o=n+S|0,S=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^v,1),i=(v=h)+P|0,i=m+((o=_+rA|0)>>>0<_>>>0?i+1|0:i)|0,u=i=(s=o+u|0)>>>0>>0?i+1|0:i,o=fI(s^T,i^U,32),i=(m=h)+p|0,U=i=(p=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^p,i^v,40),i=_A+($=h)|0,v=_,i=u+((_=eA+_|0)>>>0>>0?i+1|0:i)|0,u=_+s|0,_=m,m=i=u>>>0>>0?i+1|0:i,_=fI(o^u,_^i,48),i=(i=U)+(U=h)|0,q=o=_+p|0,V=i=o>>>0<_>>>0?i+1|0:i,s=E,i=F+IA|0,E=i=(o=D+K|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^M,1),i=pA+(D=h)|0,i=N+((p=c+tA|0)>>>0>>0?i+1|0:i)|0,f=i=(p=p+f|0)>>>0>>0?i+1|0:i,s=fI(s^p,i^x,32),N=i=h,F=c,i=i+S|0,i=(c=s+G|0)>>>0>>0?i+1|0:i,K=c,c^=F,F=i,c=fI(c,i^D,40),i=FA+(M=h)|0,i=f+((D=c+oA|0)>>>0>>0?i+1|0:i)|0,i=(f=p+D|0)>>>0

>>0?i+1|0:i,p=N,N=i,D=fI(s^f,p^i,48),IA=i=h,p=i,s=fI(b^d,W^CA,1),G=i=h,S=E,i=i+BA|0,i=O+((E=s+z|0)>>>0>>0?i+1|0:i)|0,H=i=(E=E+H|0)>>>0>>0?i+1|0:i,k=fI(n^E,i^k,32),i=(CA=h)+S|0,S=o=k+o|0,n=fI(o^s,(n=G)^(G=o>>>0>>0?i+1|0:i),40),i=kA+(b=h)|0,i=H+((o=n+nA|0)>>>0>>0?i+1|0:i)|0,d=o=o+E|0,W=i=o>>>0>>0?i+1|0:i,E=i,i=J+lA|0,i=((s=Y+Z|0)>>>0>>0?i+1|0:i)+E|0,H=i=(E=o+s|0)>>>0>>0?i+1|0:i,o=fI(E^D,i^p,32),i=(O=h)+V|0,p=fI((s=o+q|0)^Y,(i=s>>>0>>0?i+1|0:i)^J,40),x=i,i=X+(Y=h)|0,i=H+((J=I+p|0)>>>0>>0?i+1|0:i)|0,i=(H=E+J|0)>>>0>>0?i+1|0:i,E=O,O=i,E=fI(o^H,E^i,48),i=(i=x)+(x=h)|0,o=(s=E+s|0)^p,p=i=s>>>0>>0?i+1|0:i,Y=i=fI(o,i^Y,1),J=o=h,AA=y,T=_,_=n,n=fI(k^d,W^CA,48),i=(k=h)+G|0,G=o=n+S|0,S=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^b,1),i=(b=h)+hA|0,i=N+((o=_+iA|0)>>>0<_>>>0?i+1|0:i)|0,f=i=(y=o+f|0)>>>0>>0?i+1|0:i,o=fI(y^T,i^U,32),i=(N=h)+l|0,U=i=(l=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^l,i^b,40),i=B+(CA=h)|0,b=_,i=f+((_=g+_|0)>>>0>>0?i+1|0:i)|0,f=_+y|0,_=N,N=i=f>>>0>>0?i+1|0:i,_=fI(o^f,_^i,48),i=(i=U)+(U=h)|0,d=o=_+l|0,W=i=o>>>0<_>>>0?i+1|0:i,y=e,i=F+IA|0,e=i=(o=D+K|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^M,1),i=(D=h)+yA|0,i=m+((l=c+gA|0)>>>0>>0?i+1|0:i)|0,u=i=(l=l+u|0)>>>0>>0?i+1|0:i,y=fI(y^l,i^L,32),m=i=h,F=c,i=i+S|0,i=(c=y+G|0)>>>0>>0?i+1|0:i,K=c,c^=F,F=i,c=fI(c,i^D,40),i=wA+(M=h)|0,i=u+((D=c+aA|0)>>>0>>0?i+1|0:i)|0,G=m,m=i=(u=l+D|0)>>>0>>0?i+1|0:i,D=fI(y^u,G^i,48),IA=i=h,l=i,y=fI(q^v,V^$,1),G=i=h,S=e,i=i+DA|0,i=R+((e=y+EA|0)>>>0>>0?i+1|0:i)|0,w=i=(e=e+w|0)>>>0>>0?i+1|0:i,k=fI(n^e,i^k,32),i=($=h)+S|0,S=o=k+o|0,n=fI(o^y,(n=G)^(G=o>>>0>>0?i+1|0:i),40),i=cA+(v=h)|0,i=w+((o=n+j|0)>>>0>>0?i+1|0:i)|0,q=o=o+e|0,V=i=o>>>0>>0?i+1|0:i,e=i,i=J+kA|0,i=((y=Y+nA|0)>>>0>>0?i+1|0:i)+e|0,w=i=(e=o+y|0)>>>0>>0?i+1|0:i,o=fI(e^D,i^l,32),i=(R=h)+W|0,l=fI((y=o+d|0)^Y,(i=y>>>0>>0?i+1|0:i)^J,40),L=i,i=_A+(Y=h)|0,i=w+((J=l+eA|0)>>>0>>0?i+1|0:i)|0,i=(w=e+J|0)>>>0>>0?i+1|0:i,e=R,R=i,e=fI(o^w,e^i,48),i=(i=L)+(L=h)|0,o=(y=e+y|0)^l,l=i=y>>>0>>0?i+1|0:i,Y=i=fI(o,i^Y,1),J=o=h,AA=s,T=_,_=n,n=fI(k^q,V^$,48),i=(k=h)+G|0,G=o=n+S|0,S=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^v,1),i=(v=h)+mA|0,i=m+((o=_+QA|0)>>>0<_>>>0?i+1|0:i)|0,u=i=(s=o+u|0)>>>0>>0?i+1|0:i,o=fI(s^T,i^U,32),i=(m=h)+p|0,U=i=(p=o+AA|0)>>>0>>0?i+1|0:i,_=fI(_^p,i^v,40),i=C+($=h)|0,v=_,i=u+((_=fA+_|0)>>>0>>0?i+1|0:i)|0,u=_+s|0,_=m,m=i=u>>>0>>0?i+1|0:i,_=fI(o^u,_^i,48),i=(i=U)+(U=h)|0,q=o=_+p|0,V=i=o>>>0<_>>>0?i+1|0:i,s=E,i=F+IA|0,E=i=(o=D+K|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^M,1),i=wA+(D=h)|0,i=N+((p=c+aA|0)>>>0>>0?i+1|0:i)|0,f=i=(p=p+f|0)>>>0>>0?i+1|0:i,s=fI(s^p,i^x,32),N=i=h,F=c,i=i+S|0,i=(c=s+G|0)>>>0>>0?i+1|0:i,K=c,c^=F,F=i,c=fI(c,i^D,40),i=P+(M=h)|0,i=f+((D=c+rA|0)>>>0>>0?i+1|0:i)|0,i=(f=p+D|0)>>>0

>>0?i+1|0:i,p=N,N=i,D=fI(s^f,p^i,48),IA=i=h,p=i,s=fI(b^d,W^CA,1),G=i=h,S=E,i=i+FA|0,i=O+((E=s+oA|0)>>>0>>0?i+1|0:i)|0,H=i=(E=E+H|0)>>>0>>0?i+1|0:i,k=fI(n^E,i^k,32),i=(CA=h)+S|0,S=o=k+o|0,n=fI(o^s,(n=G)^(G=o>>>0>>0?i+1|0:i),40),i=DA+(b=h)|0,i=H+((o=n+EA|0)>>>0>>0?i+1|0:i)|0,d=o=o+E|0,W=i=o>>>0>>0?i+1|0:i,E=i,i=J+pA|0,i=((s=Y+tA|0)>>>0>>0?i+1|0:i)+E|0,H=i=(E=o+s|0)>>>0>>0?i+1|0:i,o=fI(E^D,i^p,32),i=(O=h)+V|0,p=fI((s=o+q|0)^Y,(i=s>>>0>>0?i+1|0:i)^J,40),x=i,i=B+(Y=h)|0,i=H+((J=p+g|0)>>>0>>0?i+1|0:i)|0,i=(H=E+J|0)>>>0>>0?i+1|0:i,E=O,O=i,E=fI(o^H,E^i,48),i=(i=x)+(x=h)|0,o=(s=E+s|0)^p,p=i=s>>>0>>0?i+1|0:i,Y=i=fI(o,i^Y,1),J=o=h,AA=y,T=_,_=n,n=fI(k^d,W^CA,48),i=(k=h)+G|0,G=o=n+S|0,S=i=o>>>0>>0?i+1|0:i,_=fI(o^_,i^b,1),i=(d=h)+BA|0,i=N+((o=_+z|0)>>>0<_>>>0?i+1|0:i)|0,f=i=(y=o+f|0)>>>0>>0?i+1|0:i,o=fI(y^T,i^U,32),i=(N=h)+l|0,U=l=o+AA|0,b=i=l>>>0>>0?i+1|0:i,_=fI(_^l,i^d,40),i=lA+(AA=h)|0,d=_,i=f+((_=Z+_|0)>>>0>>0?i+1|0:i)|0,l=_+y|0,_=N,N=i=l>>>0>>0?i+1|0:i,_=fI(o^l,_^i,48),i=(i=b)+(b=h)|0,U=o=_+U|0,W=i=o>>>0<_>>>0?i+1|0:i,y=e,i=F+IA|0,e=i=(o=D+K|0)>>>0>>0?i+1|0:i,c=fI(o^c,i^M,1),i=(D=h)+X|0,i=m+((f=I+c|0)>>>0>>0?i+1|0:i)|0,u=i=(f=f+u|0)>>>0>>0?i+1|0:i,m=y=fI(y^f,i^L,32),F=i=h,K=c,i=i+S|0,i=(c=y+G|0)>>>0>>0?i+1|0:i,M=c,c^=K,K=i,c=fI(c,i^D,40),i=hA+(G=h)|0,i=u+((y=c+iA|0)>>>0>>0?i+1|0:i)|0,S=(y=y+f|0)^m,m=i=y>>>0>>0?i+1|0:i,f=fI(S,i^F,48),L=i=h,D=i,F=u=fI(q^v,V^$,1),S=i=h,v=e,i=i+cA|0,i=R+((e=u+j|0)>>>0>>0?i+1|0:i)|0,i=(e=e+w|0)>>>0>>0?i+1|0:i,w=k,k=i,u=fI(n^e,w^i,32),i=(T=h)+v|0,w=o=u+o|0,n=fI(n=o^F,(F=o>>>0>>0?i+1|0:i)^S,40),i=yA+(S=h)|0,i=k+((o=n+gA|0)>>>0>>0?i+1|0:i)|0,k=o=o+e|0,v=i=o>>>0>>0?i+1|0:i,e=i,i=J+lA|0,i=((R=Z)>>>0>(Z=Y+Z|0)>>>0?i+1|0:i)+e|0,lA=i=(o=o+Z|0)>>>0>>0?i+1|0:i,Z=fI(o^f,i^D,32),i=(q=h)+W|0,D=fI((e=U+Z|0)^Y,(i=e>>>0>>0?i+1|0:i)^J,40),R=i,i=hA+(V=h)|0,i=lA+((Y=iA)>>>0>(iA=D+iA|0)>>>0?i+1|0:i)|0,i=(iA=o+iA|0)>>>0>>0?i+1|0:i,o=Z^iA,Z=i;hA=fI(o,i^q,48),i=(lA=h)+R|0,e=i=(o=e+hA|0)>>>0>>0?i+1|0:i,i=fI(o^D,i^V,1),D=h,q=i,V=s,s=gA,R=yA,yA=fI(u^k,v^T,48),i=(u=h)+F|0,F=s,w=i=(gA=w+yA|0)>>>0>>0?i+1|0:i,s=fI(n^(k=gA),i^S,1),i=(S=h)+R|0,i=m+(s>>>0>(gA=F+s|0)>>>0?i+1|0:i)|0,n=i=(gA=y+gA|0)>>>0>>0?i+1|0:i,_=fI(_^gA,i^b,32),i=(i=p)+(p=h)|0,m=y=_+V|0,F=i=y>>>0<_>>>0?i+1|0:i,y=fI(y^s,i^S,40),i=(S=h)+mA|0,i=(y>>>0>(QA=y+QA|0)>>>0?i+1|0:i)+n|0,n=i=(n=QA)>>>0>(QA=gA+QA|0)>>>0?i+1|0:i,_=fI(_^QA,i^p,48),i=(s=h)+F|0,p=gA=_+m|0,mA=i=gA>>>0<_>>>0?i+1|0:i,m=I,F=X,i=K+L|0,gA=i=(I=f+M|0)>>>0>>0?i+1|0:i,X=fI(I^c,i^G,1),i=(f=h)+F|0,i=N+((c=m+X|0)>>>0>>0?i+1|0:i)|0,E=fI((c=c+l|0)^E,(i=c>>>0>>0?i+1|0:i)^x,32),m=i,N=tA,tA=X,i=(l=h)+w|0,w=f,f=i=(X=E+k|0)>>>0>>0?i+1|0:i,tA=fI(X^tA,w^i,40),i=(k=h)+pA|0,i=((pA=N+tA|0)>>>0>>0?i+1|0:i)+m|0,m=pA,c=E^(pA=c+pA|0),E=i=m>>>0>pA>>>0?i+1|0:i,i=fI(c,i^l,48),K=c=h,l=i,w=z,m=BA,z=fI(U^d,W^AA,1),F=i=h,i=i+kA|0,i=O+((z=(N=z)+nA|0)>>>0>>0?i+1|0:i)|0,nA=i=(z=H+z|0)>>>0>>0?i+1|0:i,BA=fI(z^yA,i^u,32),i=(H=h)+gA|0,gA=I=BA+I|0,yA=fI(I^N,(u=I>>>0>>0?i+1|0:i)^F,40),i=(i=m)+(m=h)|0,i=nA+((I=yA+w|0)>>>0>>0?i+1|0:i)|0,nA=I=I+z|0,kA=i=I>>>0>>0?i+1|0:i,z=i,i=D+wA|0,i=((N=aA)>>>0>(aA=q+aA|0)>>>0?i+1|0:i)+z|0,wA=i=(z=I+aA|0)>>>0>>0?i+1|0:i,aA=fI(l^z,i^c,32),i=(N=h)+mA|0,c=I=aA+p|0,I=fI(I^q,(w=D)^(D=I>>>0>>0?i+1|0:i),40),i=FA+(F=h)|0,FA=I,i=wA+((I=oA+I|0)>>>0>>0?i+1|0:i)|0,i=(I=I+z|0)>>>0>>0?i+1|0:i,wA=I,M=(r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24)^I,w=i,G=i^(r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24),z=fI(BA^nA,H^kA,48),i=(nA=h)+u|0,u=I=z+gA|0,kA=i=I>>>0>>0?i+1|0:i,BA=eA,i=f+K|0,eA=i=(I=l+X|0)>>>0>>0?i+1|0:i,tA=fI(I^tA,i^k,1),i=(l=h)+_A|0,i=((BA=tA+BA|0)>>>0>>0?i+1|0:i)+n|0,BA=i=(_A=BA+QA|0)>>>0>>0?i+1|0:i,gA=fI(_A^hA,i^lA,32),i=(X=h)+kA|0,QA=i=(oA=gA+u|0)>>>0>>0?i+1|0:i,hA=gA,gA=fI(tA^oA,i^l,40),i=(n=h)+DA|0,i=(gA>>>0>(tA=gA+EA|0)>>>0?i+1|0:i)+BA|0,f=X,X=i=(_A=tA+_A|0)>>>0>>0?i+1|0:i,tA=fI(hA^(EA=_A),f^i,48),i=(l=h)+QA|0,i=(BA=tA+oA|0)>>>0>>0?i+1|0:i,oA=BA,BA^=M,t[A+8|0]=BA,t[A+9|0]=BA>>>8,t[A+10|0]=BA>>>16,t[A+11|0]=BA>>>24,QA=i,i^=G,t[A+12|0]=i,t[A+13|0]=i>>>8,t[A+14|0]=i>>>16,t[A+15|0]=i>>>24,_A=I,BA=eA,I=z,z=fI(y^p,S^mA,1),i=(DA=h)+B|0,i=(z>>>0>(eA=z+g|0)>>>0?i+1|0:i)+Z|0,iA=i=(p=eA)>>>0>(eA=iA+eA|0)>>>0?i+1|0:i,I=fI(I^eA,i^nA,32),i=(i=BA)+(BA=h)|0,nA=i=(_A=I+_A|0)>>>0>>0?i+1|0:i,hA=I,_A=fI(z^(Z=_A),i^DA,40),i=(y=h)+C|0,i=iA+((I=_A+fA|0)>>>0<_A>>>0?i+1|0:i)|0,i=(I=I+eA|0)>>>0>>0?i+1|0:i,iA=I,I^=hA,hA=i,eA=fI(I,i^BA,48),i=(p=h)+nA|0,Z=I=eA+Z|0,nA=I>>>0>>0?i+1|0:i,yA=I=fI(u^yA,m^kA,1),DA=i=h,i=i+P|0,i=E+((I=I+rA|0)>>>0>>0?i+1|0:i)|0,P=i=(z=I+pA|0)>>>0>>0?i+1|0:i,I=(BA=fI(_^z,i^s,32))+o|0,i=(o=h)+e|0,pA=I,I=(rA=fI(E=I^yA,(yA=I>>>0>>0?i+1|0:i)^DA,40))+j|0,i=(j=h)+cA|0,i=P+(I>>>0>>0?i+1|0:i)|0,i=(P=I+z|0)>>>0>>0?i+1|0:i,z=P^GA^Z,t[0|(I=A)]=z,t[I+1|0]=z>>>8,t[I+2|0]=z>>>16,t[I+3|0]=z>>>24,z=i^a^nA,t[I+4|0]=z,t[I+5|0]=z>>>8,t[I+6|0]=z>>>16,t[I+7|0]=z>>>24,z=(BA=fI(P^BA,i^o,48))+pA|0,i=(pA=h)+yA|0,i=(yA=z>>>0>>0?i+1|0:i)^(r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24)^hA,P=(r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24)^iA^z,t[I+16|0]=P,t[I+17|0]=P>>>8,t[I+18|0]=P>>>16,t[I+19|0]=P>>>24,t[I+20|0]=i,t[I+21|0]=i>>>8,t[I+22|0]=i>>>16,t[I+23|0]=i>>>24,I=fI(aA^wA,w^N,48),P=h,iA=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24,i=(r[A+32|0]|r[A+33|0]<<8|r[A+34|0]<<16|r[A+35|0]<<24)^fI(gA^oA,n^QA,1)^I,t[A+32|0]=i,t[A+33|0]=i>>>8,t[A+34|0]=i>>>16,t[A+35|0]=i>>>24,i=h^iA^P,t[A+36|0]=i,t[A+37|0]=i>>>8,t[A+38|0]=i>>>16,t[A+39|0]=i>>>24,i=D+P|0,i=(iA=I+c|0)>>>0>>0?i+1|0:i,gA=(r[(I=A)+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24)^X^i,P=(r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24)^EA^iA,t[I+24|0]=P,t[I+25|0]=P>>>8,t[I+26|0]=P>>>16,t[I+27|0]=P>>>24,t[I+28|0]=gA,t[I+29|0]=gA>>>8,t[I+30|0]=gA>>>16,t[I+31|0]=gA>>>24,gA=r[I+44|0]|r[I+45|0]<<8|r[I+46|0]<<16|r[I+47|0]<<24,I=eA^(r[I+40|0]|r[I+41|0]<<8|r[I+42|0]<<16|r[I+43|0]<<24)^fI(z^rA,j^yA,1),t[A+40|0]=I,t[A+41|0]=I>>>8,t[A+42|0]=I>>>16,t[A+43|0]=I>>>24,I=p^h^gA,t[A+44|0]=I,t[A+45|0]=I>>>8,t[A+46|0]=I>>>16,t[A+47|0]=I>>>24,z=r[A+60|0]|r[A+61|0]<<8|r[A+62|0]<<16|r[A+63|0]<<24,I=BA^(r[A+56|0]|r[A+57|0]<<8|r[A+58|0]<<16|r[A+59|0]<<24)^fI(Z^_A,y^nA,1),t[A+56|0]=I,t[A+57|0]=I>>>8,t[A+58|0]=I>>>16,t[A+59|0]=I>>>24,I=pA^h^z,t[A+60|0]=I,t[A+61|0]=I>>>8,t[A+62|0]=I>>>16,t[A+63|0]=I>>>24,z=r[A+52|0]|r[A+53|0]<<8|r[A+54|0]<<16|r[A+55|0]<<24,I=tA^(r[A+48|0]|r[A+49|0]<<8|r[A+50|0]<<16|r[A+51|0]<<24)^fI(iA^FA,i^F,1),t[A+48|0]=I,t[A+49|0]=I>>>8,t[A+50|0]=I>>>16,t[A+51|0]=I>>>24,I=l^h^z,t[A+52|0]=I,t[A+53|0]=I>>>8,t[A+54|0]=I>>>16,t[A+55|0]=I>>>24}function u(A,I,g,C,B,a,Q){var o,n,c,e,E,_,y,p,f,l,u,D,w,k,F,S,G,N,b,M,H,Y,U,J,d,x,v,R,L,P,q,j,z,X,V,W,Z,O,T,$,AA,IA,gA,CA,BA,aA,QA,tA,iA=0,oA=0,nA=0,eA=0,EA=0,_A=0,yA=0,sA=0,pA=0,fA=0,hA=0,lA=0,uA=0,DA=0,wA=0,mA=0,kA=0,FA=0,SA=0,GA=0,NA=0,bA=0,MA=0,HA=0,YA=0,UA=0,JA=0,dA=0,KA=0,xA=0,vA=0,RA=0,LA=0,PA=0,qA=0,jA=0,zA=0,XA=0,VA=0,WA=0,ZA=0,OA=0,TA=0,$A=0,AI=0,II=0;return s=c=s-560|0,_I(c+352|0),Q&&cA(c+352|0,35248,34,0),cI(c+288|0,a,32,0),cA(_A=c+352|0,c+320|0,32,0),cA(_A,g,C,B),K(_A,sA=c+224|0),pA=r[(oA=a)+32|0]|r[oA+33|0]<<8|r[oA+34|0]<<16|r[oA+35|0]<<24,hA=r[oA+36|0]|r[oA+37|0]<<8|r[oA+38|0]<<16|r[oA+39|0]<<24,eA=r[oA+40|0]|r[oA+41|0]<<8|r[oA+42|0]<<16|r[oA+43|0]<<24,iA=r[oA+44|0]|r[oA+45|0]<<8|r[oA+46|0]<<16|r[oA+47|0]<<24,nA=r[oA+48|0]|r[oA+49|0]<<8|r[oA+50|0]<<16|r[oA+51|0]<<24,a=r[oA+52|0]|r[oA+53|0]<<8|r[oA+54|0]<<16|r[oA+55|0]<<24,EA=r[oA+60|0]|r[oA+61|0]<<8|r[oA+62|0]<<16|r[oA+63|0]<<24,oA=r[oA+56|0]|r[oA+57|0]<<8|r[oA+58|0]<<16|r[oA+59|0]<<24,t[A+56|0]=oA,t[A+57|0]=oA>>>8,t[A+58|0]=oA>>>16,t[A+59|0]=oA>>>24,t[A+60|0]=EA,t[A+61|0]=EA>>>8,t[A+62|0]=EA>>>16,t[A+63|0]=EA>>>24,t[A+48|0]=nA,t[A+49|0]=nA>>>8,t[A+50|0]=nA>>>16,t[A+51|0]=nA>>>24,t[A+52|0]=a,t[A+53|0]=a>>>8,t[A+54|0]=a>>>16,t[A+55|0]=a>>>24,t[A+40|0]=eA,t[A+41|0]=eA>>>8,t[A+42|0]=eA>>>16,t[A+43|0]=eA>>>24,t[A+44|0]=iA,t[A+45|0]=iA>>>8,t[A+46|0]=iA>>>16,t[A+47|0]=iA>>>24,t[0|(a=A+32|0)]=pA,t[a+1|0]=pA>>>8,t[a+2|0]=pA>>>16,t[a+3|0]=pA>>>24,t[a+4|0]=hA,t[a+5|0]=hA>>>8,t[a+6|0]=hA>>>16,t[a+7|0]=hA>>>24,m(sA),rA(c,sA),$I(A,c),_I(_A),Q&&cA(c+352|0,35248,34,0),cA(Q=c+352|0,A,64,0),cA(Q,g,C,B),K(Q,yA=c+160|0),m(yA),t[c+288|0]=248&r[c+288|0],t[c+319|0]=63&r[c+319|0]|64,g=r[23+(A=n=c+288|0)|0],eA=PI(e=r[A+21|0]|r[A+22|0]<<8|g<<16&2031616,0,E=(r[yA+28|0]|r[yA+29|0]<<8|r[yA+30|0]<<16|r[yA+31|0]<<24)>>>7|0,0),nA=h,g=(A=r[yA+27|0])>>>24|0,B=A<<8|(iA=r[yA+23|0]|r[yA+24|0]<<8|r[yA+25|0]<<16|r[yA+26|0]<<24)>>>24,A=PI(_=2097151&((3&(hA=(A=(C=r[yA+28|0])>>>16|0)|g))<<30|(g=(C<<=16)|B)>>>2),0,y=(Q=r[n+23|0]|r[n+24|0]<<8|r[n+25|0]<<16|r[n+26|0]<<24)>>>5&2097151,0),g=h+nA|0,C=A>>>0>(B=A+eA|0)>>>0?g+1|0:g,A=PI(p=(g=r[yA+23|0])<<16&2031616|r[yA+21|0]|r[yA+22|0]<<8,0,f=(r[n+28|0]|r[n+29|0]<<8|r[n+30|0]<<16|r[n+31|0]<<24)>>>7|0,0),C=h+C|0,nA=g=A+B|0,B=A>>>0>g>>>0?C+1|0:C,C=(A=r[n+27|0])>>>24|0,Q=A<<8|Q>>>24,A=PI(l=2097151&((3&(C|=g=(A=r[n+28|0])>>>16|0))<<30|(g=(A<<=16)|Q)>>>2),0,u=iA>>>5&2097151,0),g=h+B|0,oA=C=A+nA|0,B=A>>>0>C>>>0?g+1|0:g,iA=PI(y,0,u,0),nA=h,g=(A=r[n+19|0])>>>24|0,Q=A<<8|(kA=r[n+15|0]|r[n+16|0]<<8|r[n+17|0]<<16|r[n+18|0]<<24)>>>24,C=g,g=PI(D=(7&(C|=g=(A=r[n+20|0])>>>16|0))<<29|(g=(A<<=16)|Q)>>>3,hA=C>>>3|0,E,0),A=h+nA|0,A=g>>>0>(C=g+iA|0)>>>0?A+1|0:A,Q=(g=PI(e,0,_,0))+C|0,C=h+A|0,g=g>>>0>(iA=Q)>>>0?C+1|0:C,C=(A=r[yA+19|0])>>>24|0,nA=A<<8|(mA=r[yA+15|0]|r[yA+16|0]<<8|r[yA+17|0]<<16|r[yA+18|0]<<24)>>>24,A=PI(w=(7&(eA=(A=(Q=r[yA+20|0])>>>16|0)|C))<<29|(C=(Q<<=16)|nA)>>>3,k=eA>>>3|0,f,0),g=h+g|0,g=A>>>0>(C=A+iA|0)>>>0?g+1|0:g,A=PI(p,0,l,0),g=h+g|0,pA=g=A>>>0>(sA=A+C|0)>>>0?g+1|0:g,lA=A=g-((sA>>>0<4293918720)-1|0)|0,C=(g=A>>>21|0)+B|0,iA=C=(A=(2097151&A)<<11|(eA=sA- -1048576|0)>>>21)>>>0>(oA=A+oA|0)>>>0?C+1|0:C,DA=A=C-((oA>>>0<4293918720)-1|0)|0,_A=(2097151&A)<<11|(nA=oA- -1048576|0)>>>21,Q=A>>>21|0,A=PI(f,0,u,0),g=h,C=A,A=PI(E,0,y,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,uA=(A=C)+(C=PI(_,0,l,0))|0,A=h+g|0,A=C>>>0>uA>>>0?A+1|0:A,EA=uA-(g=-2097152&(C=uA- -1048576|0))|0,g=(A-((131071&(B=A-((uA>>>0<4293918720)-1|0)|0))+(g>>>0>uA>>>0)|0)|0)+Q|0,L=g=(A=EA+_A|0)>>>0>>0?g+1|0:g,P=A,EA=PI(A,g,470296,0),_A=h,g=PI(E,0,l,0),A=h,Q=g,g=PI(_,0,f,0),A=h+A|0,g=g>>>0>(Q=Q+g|0)>>>0?A+1|0:A,A=B>>>21|0,B=(2097151&B)<<11|C>>>21,C=A+g|0,bA=B=(C=B>>>0>(Q=B+Q|0)>>>0?C+1|0:C)-((Q>>>0<4293918720)-1|0)|0,A=Q-(g=-2097152&(NA=Q- -1048576|0))|0,q=Q=C-((131071&B)+(g>>>0>Q>>>0)|0)|0,j=g=oA-(C=-2097152&nA)|0,z=B=iA-((C>>>0>oA>>>0)+DA|0)|0,X=A,C=PI(A,Q,666643,0),A=h+_A|0,A=C>>>0>(Q=C+EA|0)>>>0?A+1|0:A,C=PI(g,B,654183,0),g=h+A|0,fA=B=C+Q|0,nA=C>>>0>B>>>0?g+1|0:g,uA=sA-(A=-2097152&eA)|0,lA=pA-((A>>>0>sA>>>0)+lA|0)|0,g=PI(_,0,D,hA),C=h,B=(A=g)+(g=PI(F=kA>>>6&2097151,0,E,0))|0,A=h+C|0,A=g>>>0>B>>>0?A+1|0:A,g=PI(y,0,p,0),C=h+A|0,C=g>>>0>(B=g+B|0)>>>0?C+1|0:C,A=PI(e,0,u,0),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,C=PI(f,0,S=mA>>>6&2097151,0),A=h+g|0,A=C>>>0>(B=C+B|0)>>>0?A+1|0:A,C=PI(l,0,w,k),g=h+A|0,sA=B=C+B|0,Q=C>>>0>B>>>0?g+1|0:g,g=(A=r[n+14|0])>>>24|0,B=A<<8|(pA=r[n+10|0]|r[n+11|0]<<8|r[n+12|0]<<16|r[n+13|0]<<24)>>>24,g=PI(G=2097151&((1&(g|=A=(C=r[n+15|0])>>>16|0))<<31|(A=(C<<=16)|B)>>>1),0,E,0),A=h,C=g,g=PI(_,0,F,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=PI(u,0,D,hA))+C|0,C=h+A|0,C=g>>>0>B>>>0?C+1|0:C,A=PI(y,0,w,k),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,A=PI(e,0,p,0),g=h+g|0,eA=C=A+B|0,B=A>>>0>C>>>0?g+1|0:g,g=(A=r[yA+14|0])>>>24|0,iA=A<<8|(oA=r[yA+10|0]|r[yA+11|0]<<8|r[yA+12|0]<<16|r[yA+13|0]<<24)>>>24,C=g,g=(A=r[yA+15|0])>>>16|0,g=PI(N=2097151&((1&(g|=C))<<31|(A=A<<16|iA)>>>1),0,f,0),A=h+B|0,A=g>>>0>(C=g+eA|0)>>>0?A+1|0:A,g=PI(l,0,S,0),A=h+A|0,iA=A=g>>>0>(eA=g+C|0)>>>0?A+1|0:A,MA=g=A-((eA>>>0<4293918720)-1|0)|0,C=(A=g>>>21|0)+Q|0,_A=C=(g=(2097151&g)<<11|(EA=eA- -1048576|0)>>>21)>>>0>(DA=g+sA|0)>>>0?C+1|0:C,SA=g=C-((DA>>>0<4293918720)-1|0)|0,A=(A=g>>>21|0)+lA|0,V=A=(g=(C=(2097151&g)<<11|(sA=DA- -1048576|0)>>>21)+uA|0)>>>0>>0?A+1|0:A,W=g,A=PI(g,A,-997805,-1),g=h+nA|0,fA=C=A+fA|0,nA=A>>>0>C>>>0?g+1|0:g,uA=(UA=r[23+(o=c+224|0)|0]|r[o+24|0]<<8|r[o+25|0]<<16|r[o+26|0]<<24)>>>5&2097151,C=PI(b=(A=r[n+2|0])<<16&2031616|r[0|n]|r[n+1|0]<<8,0,u,0),g=h,B=(A=PI(p,0,M=(Q=r[n+2|0]|r[n+3|0]<<8|r[n+4|0]<<16|r[n+5|0]<<24)>>>5&2097151,0))+C|0,C=h+g|0,C=A>>>0>B>>>0?C+1|0:C,A=PI(H=(r[n+7|0]|r[n+8|0]<<8|r[n+9|0]<<16|r[n+10|0]<<24)>>>7&2097151,0,S,0),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,C=PI(N,0,Y=pA>>>4&2097151,0),A=h+g|0,pA=B=C+B|0,B=C>>>0>B>>>0?A+1|0:A,Q=(g=r[n+6|0])<<8|Q>>>24,C=A=g>>>24|0,g=(A=r[n+7|0])>>>16|0,g=PI(U=2097151&((3&(g|=C))<<30|(A=A<<16|Q)>>>2),0,w,k),A=h+B|0,A=g>>>0>(C=g+pA|0)>>>0?A+1|0:A,B=(g=PI(F,0,J=(r[yA+7|0]|r[yA+8|0]<<8|r[yA+9|0]<<16|r[yA+10|0]<<24)>>>7&2097151,0))+C|0,C=h+A|0,C=g>>>0>B>>>0?C+1|0:C,g=PI(G,0,GA=oA>>>4&2097151,0),A=h+C|0,Q=g>>>0>(B=g+B|0)>>>0?A+1|0:A,A=(g=r[yA+6|0])>>>24|0,pA=g<<8|(oA=r[yA+2|0]|r[yA+3|0]<<8|r[yA+4|0]<<16|r[yA+5|0]<<24)>>>24,g=A,A=PI(D,hA,d=2097151&((3&(g|=C=(A=r[yA+7|0])>>>16|0))<<30|(A=A<<16|pA)>>>2),0),g=h+Q|0,g=A>>>0>(C=A+B|0)>>>0?g+1|0:g,B=C,C=PI(x=(A=r[yA+2|0])<<16&2031616|r[0|yA]|r[yA+1|0]<<8,0,y,0),A=h+g|0,A=C>>>0>(B=B+C|0)>>>0?A+1|0:A,g=PI(e,0,v=oA>>>5&2097151,0),A=h+A|0,g=g>>>0>(C=g+B|0)>>>0?A+1|0:A,pA=A=C+uA|0,Q=g=A>>>0>>0?g+1|0:g,B=r[o+21|0]|r[o+22|0]<<8,A=PI(p,0,b,0),g=h,oA=(C=A)+(A=PI(w,k,M,0))|0,C=h+g|0,C=A>>>0>oA>>>0?C+1|0:C,A=PI(N,0,H,0),g=h+C|0,g=A>>>0>(oA=A+oA|0)>>>0?g+1|0:g,A=PI(Y,0,GA,0),g=h+g|0,g=A>>>0>(C=A+oA|0)>>>0?g+1|0:g,oA=(A=C)+(C=PI(S,0,U,0))|0,A=h+g|0,A=C>>>0>oA>>>0?A+1|0:A,g=PI(F,0,d,0),A=h+A|0,A=g>>>0>(C=g+oA|0)>>>0?A+1|0:A,oA=(g=PI(G,0,J,0))+C|0,C=h+A|0,C=g>>>0>oA>>>0?C+1|0:C,A=PI(D,hA,v,0),g=h+C|0,g=A>>>0>(oA=A+oA|0)>>>0?g+1|0:g,A=PI(e,0,x,0),g=h+g|0,A=A>>>0>(C=A+oA|0)>>>0?g+1|0:g,g=(g=C)>>>0>(C=C+B|0)>>>0?A+1|0:A,B=C,C=(A=r[o+23|0])<<16&2031616,A=g,C=A=C>>>0>(B=B+C|0)>>>0?A+1|0:A,yA=A=A-((B>>>0<4293918720)-1|0)|0,g=(g=A>>>21|0)+Q|0,A=(g=(Q=pA=(A=(2097151&A)<<11|(oA=B- -1048576|0)>>>21)+pA|0)>>>0>>0?g+1|0:g)+nA|0,A=(nA=Q+fA|0)>>>0>>0?A+1|0:A,kA=Q- -1048576|0,wA=Q=g-((Q>>>0<4293918720)-1|0)|0,FA=nA-(g=-2097152&kA)|0,HA=A-((g>>>0>nA>>>0)+Q|0)|0,pA=B,nA=C,A=PI(j,z,470296,0),g=h,C=A,A=PI(P,L,666643,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,B=(A=C)+(C=PI(W,V,654183,0))|0,A=h+g|0,mA=B,Q=C>>>0>B>>>0?A+1|0:A,g=PI(w,k,b,0),A=h,C=g,g=PI(S,0,M,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=C)+(C=PI(H,0,GA,0))|0,g=h+A|0,g=C>>>0>B>>>0?g+1|0:g,A=PI(Y,0,J,0),C=h+g|0,C=A>>>0>(B=A+B|0)>>>0?C+1|0:C,A=PI(N,0,U,0),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,C=PI(F,0,v,0),A=h+g|0,A=C>>>0>(B=C+B|0)>>>0?A+1|0:A,g=PI(G,0,d,0),A=h+A|0,A=g>>>0>(C=g+B|0)>>>0?A+1|0:A,B=(g=C)+(C=PI(D,hA,x,0))|0,g=h+A|0,uA=B,C=C>>>0>B>>>0?g+1|0:g,g=(A=r[o+19|0])>>>24|0,lA=A<<8|(fA=r[o+15|0]|r[o+16|0]<<8|r[o+17|0]<<16|r[o+18|0]<<24)>>>24,C=((YA=(A=(B=r[o+20|0])>>>16|0)|g)>>>3|0)+C|0,uA=B=(g=(7&YA)<<29|(g=(B<<=16)|lA)>>>3)+uA|0,B=g>>>0>B>>>0?C+1|0:C,lA=fA>>>6&2097151,A=PI(S,0,b,0),g=h,C=A,A=PI(N,0,M,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,fA=(A=C)+(C=PI(H,0,J,0))|0,A=h+g|0,A=C>>>0>fA>>>0?A+1|0:A,C=PI(Y,0,d,0),g=h+A|0,g=C>>>0>(fA=C+fA|0)>>>0?g+1|0:g,C=PI(U,0,GA,0),A=h+g|0,A=C>>>0>(fA=C+fA|0)>>>0?A+1|0:A,g=PI(F,0,x,0),C=h+A|0,C=g>>>0>(fA=g+fA|0)>>>0?C+1|0:C,A=PI(G,0,v,0),g=h+C|0,A=A>>>0>(fA=A+fA|0)>>>0?g+1|0:g,qA=A=(dA=fA+lA|0)>>>0>>0?A+1|0:A,OA=A=A-((dA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(LA=dA- -1048576|0)>>>21,A=(A>>>21|0)+B|0,zA=A=C>>>0>(jA=C+uA|0)>>>0?A+1|0:A,TA=A=A-((jA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(xA=jA- -1048576|0)>>>21,A=(A>>>21|0)+Q|0,g=(C>>>0>(B=C+mA|0)>>>0?A+1|0:A)+nA|0,nA=(C=B+pA|0)-(A=-2097152&oA)|0,yA=A=(g=C>>>0>>0?g+1|0:g)-((A>>>0>C>>>0)+yA|0)|0,$A=A=A-((nA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(vA=nA- -1048576|0)>>>21,A=(A>>21)+HA|0,B=A=C>>>0>(Q=C+FA|0)>>>0?A+1|0:A,ZA=A=A-((Q>>>0<4293918720)-1|0)|0,RA=(2097151&A)<<11|(mA=Q- -1048576|0)>>>21,pA=A>>21,YA=DA-(A=-2097152&sA)|0,SA=_A-((A>>>0>DA>>>0)+SA|0)|0,A=PI(E,0,f,0),PA=g=h,FA=A,fA=A- -1048576|0,KA=g=g-((A>>>0<4293918720)-1|0)|0,Z=A=g>>>21|0,A=PI(R=(2097151&g)<<11|fA>>>21,A,-683901,-1),g=h+iA|0,g=A>>>0>(C=A+eA|0)>>>0?g+1|0:g,sA=C-(A=-2097152&EA)|0,oA=g-((A>>>0>C>>>0)+MA|0)|0,g=PI(u,0,F,0),A=h,C=g,g=PI(E,0,Y,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,g=PI(_,0,G,0),A=h+A|0,A=g>>>0>(C=g+C|0)>>>0?A+1|0:A,iA=(g=C)+(C=PI(p,0,D,hA))|0,g=h+A|0,g=C>>>0>iA>>>0?g+1|0:g,A=PI(y,0,S,0),C=h+g|0,C=A>>>0>(iA=A+iA|0)>>>0?C+1|0:C,A=PI(e,0,w,k),g=h+C|0,g=A>>>0>(iA=A+iA|0)>>>0?g+1|0:g,C=PI(f,0,GA,0),A=h+g|0,A=C>>>0>(iA=C+iA|0)>>>0?A+1|0:A,g=PI(l,0,N,0),A=h+A|0,eA=C=g+iA|0,iA=g>>>0>C>>>0?A+1|0:A,A=PI(_,0,Y,0),g=h,C=A,A=PI(E,0,H,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,_A=(A=PI(p,0,F,0))+C|0,C=h+g|0,C=A>>>0>_A>>>0?C+1|0:C,A=PI(u,0,G,0),g=h+C|0,g=A>>>0>(_A=A+_A|0)>>>0?g+1|0:g,C=PI(D,hA,w,k),A=h+g|0,A=C>>>0>(_A=C+_A|0)>>>0?A+1|0:A,g=PI(y,0,N,0),A=h+A|0,A=g>>>0>(C=g+_A|0)>>>0?A+1|0:A,_A=(g=C)+(C=PI(e,0,S,0))|0,g=h+A|0,g=C>>>0>_A>>>0?g+1|0:g,A=PI(f,0,J,0),C=h+g|0,C=A>>>0>(_A=A+_A|0)>>>0?C+1|0:C,A=PI(l,0,GA,0),g=h+C|0,lA=g=A>>>0>(uA=A+_A|0)>>>0?g+1|0:g,VA=A=g-((uA>>>0<4293918720)-1|0)|0,g=(2097151&A)<<11|(DA=uA- -1048576|0)>>>21,A=(A>>>21|0)+iA|0,EA=A=g>>>0>(MA=g+eA|0)>>>0?A+1|0:A,JA=A=A-((MA>>>0<4293918720)-1|0)|0,g=(C=A>>>21|0)+oA|0,sA=g=(A=(2097151&A)<<11|(_A=MA- -1048576|0)>>>21)>>>0>(HA=A+sA|0)>>>0?g+1|0:g,XA=A=g-((HA>>>0<4293918720)-1|0)|0,iA=(2097151&A)<<11|(oA=HA- -1048576|0)>>>21,A=(A>>21)+SA|0,O=A=(g=iA+YA|0)>>>0>>0?A+1|0:A,T=g,A=PI(g,A,-683901,-1),g=h+pA|0,RA=C=A+RA|0,pA=A>>>0>C>>>0?g+1|0:g,A=PI(_,0,b,0),g=h,C=A,A=PI(u,0,M,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,iA=(A=C)+(C=PI(w,k,H,0))|0,A=h+g|0,A=C>>>0>iA>>>0?A+1|0:A,g=PI(S,0,Y,0),C=h+A|0,C=g>>>0>(iA=g+iA|0)>>>0?C+1|0:C,g=PI(p,0,U,0),A=h+C|0,A=g>>>0>(iA=g+iA|0)>>>0?A+1|0:A,C=PI(F,0,GA,0),g=h+A|0,g=C>>>0>(iA=C+iA|0)>>>0?g+1|0:g,A=PI(G,0,N,0),g=h+g|0,g=A>>>0>(C=A+iA|0)>>>0?g+1|0:g,iA=(A=C)+(C=PI(D,hA,J,0))|0,A=h+g|0,A=C>>>0>iA>>>0?A+1|0:A,g=PI(y,0,v,0),C=h+A|0,C=g>>>0>(iA=g+iA|0)>>>0?C+1|0:C,g=PI(e,0,d,0),A=h+C|0,A=g>>>0>(iA=g+iA|0)>>>0?A+1|0:A,C=PI(l,0,x,0),g=h+A|0,SA=iA=C+iA|0,C=C>>>0>iA>>>0?g+1|0:g,g=(A=r[o+27|0])>>>24|0,eA=A<<8|UA>>>24,iA=2097151&((3&(g|=A=(iA=r[o+28|0])>>>16|0))<<30|(A=(iA<<=16)|eA)>>>2),g=C,eA=A=iA+SA|0,iA=A>>>0>>0?g+1|0:g,YA=PI(X,q,470296,0),SA=h,A=(C=(2097151&bA)<<11|NA>>>21)+(FA-(g=-2097152&fA)|0)|0,g=PA-((524287&KA)+(g>>>0>FA>>>0)|0)+(bA>>>21)|0,$=g=A>>>0>>0?g+1|0:g,AA=A,g=PI(A,g,666643,0),A=h+SA|0,A=g>>>0>(C=g+YA|0)>>>0?A+1|0:A,fA=(g=PI(P,L,654183,0))+C|0,C=h+A|0,C=g>>>0>fA>>>0?C+1|0:C,g=PI(j,z,-997805,-1),A=h+C|0,A=g>>>0>(fA=g+fA|0)>>>0?A+1|0:A,C=PI(W,V,136657,0),g=h+A|0,kA=(A=(2097151&wA)<<11|kA>>>21)+(fA=C+fA|0)|0,g=(wA>>>21|0)+(C>>>0>fA>>>0?g+1|0:g)|0,KA=fA=iA-((eA>>>0<4293918720)-1|0)|0,A=(A>>>0>kA>>>0?g+1|0:g)+iA|0,g=(iA=eA+kA|0)-(C=-2097152&(PA=eA- -1048576|0))|0,C=(A=(A=iA>>>0>>0?A+1|0:A)-((C>>>0>iA>>>0)+fA|0)|0)+pA|0,YA=iA=A-((g>>>0<4293918720)-1|0)|0,FA=(C=(eA=g+RA|0)>>>0>>0?C+1|0:C)-(((g=-2097152&(SA=g- -1048576|0))>>>0>eA>>>0)+iA|0)|0,UA=A=eA-g|0,iA=Q,Q=B,WA=HA-(A=-2097152&oA)|0,fA=sA-((A>>>0>HA>>>0)+XA|0)|0,A=PI(AA,$,-683901,-1),g=h,B=(C=A)+(A=PI(R,Z,136657,0))|0,C=h+g|0,g=EA+(A>>>0>B>>>0?C+1|0:C)|0,_A=(C=B+MA|0)-(A=-2097152&_A)|0,sA=(g=C>>>0>>0?g+1|0:g)-((A>>>0>C>>>0)+JA|0)|0,g=PI(R,Z,-997805,-1),A=h+lA|0,A=g>>>0>(C=g+uA|0)>>>0?A+1|0:A,B=(g=PI(AA,$,136657,0))+C|0,C=h+A|0,C=g>>>0>B>>>0?C+1|0:C,A=PI(X,q,-683901,-1),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,oA=B-(A=-2097152&DA)|0,pA=g-((A>>>0>B>>>0)+VA|0)|0,g=PI(u,0,Y,0),A=h,C=g,g=PI(_,0,H,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=PI(E,0,U,0))+C|0,C=h+A|0,C=g>>>0>B>>>0?C+1|0:C,A=PI(w,k,F,0),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,C=PI(p,0,G,0),A=h+g|0,A=C>>>0>(B=C+B|0)>>>0?A+1|0:A,C=PI(D,hA,S,0),g=h+A|0,g=C>>>0>(B=C+B|0)>>>0?g+1|0:g,C=PI(y,0,GA,0),A=h+g|0,A=C>>>0>(B=C+B|0)>>>0?A+1|0:A,g=PI(e,0,N,0),C=h+A|0,C=g>>>0>(B=g+B|0)>>>0?C+1|0:C,A=PI(f,0,d,0),g=h+C|0,g=A>>>0>(B=A+B|0)>>>0?g+1|0:g,C=PI(l,0,J,0),A=h+g|0,eA=B=C+B|0,B=C>>>0>B>>>0?A+1|0:A,A=PI(u,0,H,0),g=h,C=A,A=PI(E,0,M,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,EA=(A=C)+(C=PI(p,0,Y,0))|0,A=h+g|0,A=C>>>0>EA>>>0?A+1|0:A,g=PI(_,0,U,0),C=h+A|0,C=g>>>0>(EA=g+EA|0)>>>0?C+1|0:C,A=PI(F,0,S,0),g=h+C|0,g=A>>>0>(EA=A+EA|0)>>>0?g+1|0:g,C=PI(w,k,G,0),A=h+g|0,A=C>>>0>(EA=C+EA|0)>>>0?A+1|0:A,C=PI(D,hA,N,0),g=h+A|0,g=C>>>0>(EA=C+EA|0)>>>0?g+1|0:g,C=PI(y,0,J,0),A=h+g|0,A=C>>>0>(EA=C+EA|0)>>>0?A+1|0:A,g=PI(e,0,GA,0),C=h+A|0,C=g>>>0>(EA=g+EA|0)>>>0?C+1|0:C,EA=(A=PI(f,0,v,0))+EA|0,g=h+C|0,C=PI(l,0,d,0),A=h+(A>>>0>EA>>>0?g+1|0:g)|0,HA=A=C>>>0>(XA=C+EA|0)>>>0?A+1|0:A,gA=A=A-((XA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(bA=XA- -1048576|0)>>>21,A=(A>>>21|0)+B|0,NA=A=C>>>0>(RA=C+eA|0)>>>0?A+1|0:A,CA=A=A-((RA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(wA=RA- -1048576|0)>>>21,A=(A>>>21|0)+pA|0,kA=A=C>>>0>(MA=C+oA|0)>>>0?A+1|0:A,BA=A=A-((MA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(lA=MA- -1048576|0)>>>21,A=(A>>21)+sA|0,B=A=C>>>0>(oA=C+_A|0)>>>0?A+1|0:A,sA=A=A-((oA>>>0<4293918720)-1|0)|0,pA=(2097151&A)<<11|(C=oA- -1048576|0)>>>21,A=(A>>21)+fA|0,VA=A=(eA=pA+WA|0)>>>0>>0?A+1|0:A,JA=eA,A=PI(eA,A,-683901,-1),g=h,eA=A,A=PI(T,O,136657,0),g=h+g|0,A=(A>>>0>(eA=eA+A|0)>>>0?g+1|0:g)+Q|0,AI=(Q=iA+eA|0)-(g=-2097152&mA)|0,II=(A=Q>>>0>>0?A+1|0:A)-((g>>>0>Q>>>0)+ZA|0)|0,pA=nA,eA=yA,nA=PI(JA,VA,136657,0),Q=h,WA=A=oA-(g=-2097152&C)|0,IA=B=B-((g>>>0>oA>>>0)+sA|0)|0,C=PI(T,O,-997805,-1),g=h+Q|0,g=C>>>0>(nA=C+nA|0)>>>0?g+1|0:g,C=PI(A,B,-683901,-1),A=h+g|0,ZA=B=C+nA|0,iA=C>>>0>B>>>0?A+1|0:A,A=PI(W,V,470296,0),g=h,B=(C=A)+(A=PI(j,z,666643,0))|0,C=h+g|0,g=zA+(A>>>0>B>>>0?C+1|0:C)|0,fA=A=B+jA|0,Q=g=A>>>0>>0?g+1|0:g,g=PI(W,V,666643,0),A=h+qA|0,A=g>>>0>(C=g+dA|0)>>>0?A+1|0:A,_A=C-(g=-2097152&LA)|0,uA=A-((g>>>0>C>>>0)+OA|0)|0,g=PI(N,0,b,0),A=h,C=g,g=PI(M,0,GA,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=C)+(C=PI(H,0,d,0))|0,g=h+A|0,g=C>>>0>B>>>0?g+1|0:g,C=PI(Y,0,v,0),A=h+g|0,A=C>>>0>(B=C+B|0)>>>0?A+1|0:A,g=PI(U,0,J,0),C=h+A|0,C=g>>>0>(B=g+B|0)>>>0?C+1|0:C,A=PI(G,0,x,0),g=h+C|0,oA=B=A+B|0,B=A>>>0>B>>>0?g+1|0:g,g=(A=r[o+14|0])>>>24|0,nA=A<<8|(sA=r[o+10|0]|r[o+11|0]<<8|r[o+12|0]<<16|r[o+13|0]<<24)>>>24,g=2097151&((1&(g|=C=(A=r[o+15|0])>>>16|0))<<31|(A=nA|A<<16)>>>1),A=B,oA=C=g+oA|0,B=g>>>0>C>>>0?A+1|0:A,nA=sA>>>4&2097151,A=PI(b,0,GA,0),g=h,C=A,A=PI(M,0,J,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,A=PI(H,0,v,0),g=h+g|0,g=A>>>0>(C=A+C|0)>>>0?g+1|0:g,sA=(A=C)+(C=PI(Y,0,x,0))|0,A=h+g|0,A=C>>>0>sA>>>0?A+1|0:A,g=PI(U,0,d,0),C=h+A|0,A=g>>>0>(sA=g+sA|0)>>>0?C+1|0:C,yA=A=(LA=nA+sA|0)>>>0>>0?A+1|0:A,aA=A=A-((LA>>>0<4293918720)-1|0)|0,g=(C=A>>>21|0)+B|0,DA=g=(A=(2097151&A)<<11|(mA=LA- -1048576|0)>>>21)>>>0>(zA=A+oA|0)>>>0?g+1|0:g,QA=A=g-((zA>>>0<4293918720)-1|0)|0,g=(2097151&A)<<11|(EA=zA- -1048576|0)>>>21,A=(A>>>21|0)+uA|0,sA=A=g>>>0>(_A=g+_A|0)>>>0?A+1|0:A,tA=A=A-((_A>>>0<4293918720)-1|0)|0,g=(C=A>>21)+Q|0,OA=g=(g=(A=(2097151&A)<<11|(oA=_A- -1048576|0)>>>21)>>>0>(B=A+fA|0)>>>0?g+1|0:g)-(((C=-2097152&xA)>>>0>B>>>0)+TA|0)|0,xA=A=B-C|0,nA=A- -1048576|0,TA=A=g-((A>>>0<4293918720)-1|0)|0,C=(g=A>>21)+iA|0,g=((A=(2097151&A)<<11|nA>>>21)>>>0>(B=A+ZA|0)>>>0?C+1|0:C)+eA|0,dA=g=(g=(A=B)>>>0>(B=B+pA|0)>>>0?g+1|0:g)-(((C=-2097152&vA)>>>0>B>>>0)+$A|0)|0,eA=A=B-C|0,Q=A- -1048576|0,qA=A=g-((A>>>0<4293918720)-1|0)|0,C=(g=A>>21)+II|0,vA=A=(C=(A=(2097151&A)<<11|Q>>>21)>>>0>(iA=A+AI|0)>>>0?C+1|0:C)-((iA>>>0<4293918720)-1|0)|0,fA=UA- -1048576|0,uA=FA-((UA>>>0<4293918720)-1|0)|0,pA=(2097151&A)<<11|(B=iA- -1048576|0)>>>21,A=(A>>21)+FA|0,$A=(UA=pA+UA|0)-(g=-2097152&fA)|0,AI=(pA>>>0>UA>>>0?A+1|0:A)-((g>>>0>UA>>>0)+uA|0)|0,II=iA-(A=-2097152&B)|0,ZA=C-((A>>>0>iA>>>0)+vA|0)|0,jA=eA-(A=-2097152&Q)|0,UA=dA-((A>>>0>eA>>>0)+qA|0)|0,A=PI(JA,VA,-997805,-1),g=h,C=A,A=PI(T,O,654183,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,B=(A=C)+(C=PI(WA,IA,136657,0))|0,A=h+g|0,g=OA+(C>>>0>B>>>0?A+1|0:A)|0,dA=(C=B+xA|0)-(A=-2097152&nA)|0,qA=(g=C>>>0>>0?g+1|0:g)-((A>>>0>C>>>0)+TA|0)|0,xA=MA-(A=-2097152&lA)|0,FA=kA-((A>>>0>MA>>>0)+BA|0)|0,g=PI(AA,$,-997805,-1),A=h,C=g,g=PI(R,Z,654183,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=C)+(C=PI(X,q,136657,0))|0,g=h+A|0,g=C>>>0>B>>>0?g+1|0:g,A=PI(P,L,-683901,-1),C=h+g|0,g=NA+(A>>>0>(B=A+B|0)>>>0?C+1|0:C)|0,lA=(C=B+RA|0)-(A=-2097152&wA)|0,kA=(g=C>>>0>>0?g+1|0:g)-((A>>>0>C>>>0)+CA|0)|0,g=PI(AA,$,654183,0),A=h,C=g,g=PI(R,Z,470296,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,B=(g=PI(X,q,-997805,-1))+C|0,C=h+A|0,g=HA+(g>>>0>B>>>0?C+1|0:C)|0,g=(A=B+XA|0)>>>0>>0?g+1|0:g,C=A,A=PI(P,L,136657,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,B=(A=C)+(C=PI(j,z,-683901,-1))|0,A=h+g|0,nA=B-(g=-2097152&bA)|0,Q=(C>>>0>B>>>0?A+1|0:A)-((g>>>0>B>>>0)+gA|0)|0,B=(r[o+28|0]|r[o+29|0]<<8|r[o+30|0]<<16|r[o+31|0]<<24)>>>7|0,A=PI(E,0,b,0),g=h,iA=(C=A)+(A=PI(_,0,M,0))|0,C=h+g|0,C=A>>>0>iA>>>0?C+1|0:C,A=PI(p,0,H,0),g=h+C|0,g=A>>>0>(iA=A+iA|0)>>>0?g+1|0:g,C=PI(w,k,Y,0),A=h+g|0,A=C>>>0>(iA=C+iA|0)>>>0?A+1|0:A,C=PI(u,0,U,0),g=h+A|0,g=C>>>0>(iA=C+iA|0)>>>0?g+1|0:g,C=PI(F,0,N,0),A=h+g|0,A=C>>>0>(iA=C+iA|0)>>>0?A+1|0:A,g=PI(S,0,G,0),C=h+A|0,C=g>>>0>(iA=g+iA|0)>>>0?C+1|0:C,A=PI(D,hA,GA,0),g=h+C|0,g=A>>>0>(iA=A+iA|0)>>>0?g+1|0:g,C=PI(y,0,d,0),A=h+g|0,A=C>>>0>(iA=C+iA|0)>>>0?A+1|0:A,C=PI(e,0,J,0),g=h+A|0,g=C>>>0>(iA=C+iA|0)>>>0?g+1|0:g,C=PI(f,0,x,0),A=h+g|0,A=C>>>0>(iA=C+iA|0)>>>0?A+1|0:A,g=PI(l,0,v,0),C=h+A|0,g=g>>>0>(iA=g+iA|0)>>>0?C+1|0:C,NA=(C=(2097151&KA)<<11|PA>>>21)+(A=B+iA|0)|0,A=(KA>>>21|0)+(g=A>>>0>>0?g+1|0:g)|0,pA=A=C>>>0>NA>>>0?A+1|0:A,vA=g=A-((NA>>>0<4293918720)-1|0)|0,C=(A=g>>>21|0)+Q|0,eA=C=(g=(2097151&g)<<11|(hA=NA- -1048576|0)>>>21)>>>0>(wA=g+nA|0)>>>0?C+1|0:C,PA=g=C-((wA>>>0<4293918720)-1|0)|0,A=(A=g>>21)+kA|0,nA=A=(g=(2097151&g)<<11|(iA=wA- -1048576|0)>>>21)>>>0>(lA=g+lA|0)>>>0?A+1|0:A,bA=g=A-((lA>>>0<4293918720)-1|0)|0,C=(A=g>>21)+FA|0,KA=C=(g=(B=(2097151&g)<<11|(Q=lA- -1048576|0)>>>21)+xA|0)>>>0>>0?C+1|0:C,FA=g,A=PI(g,C,-683901,-1),g=h+qA|0,kA=C=A+dA|0,B=A>>>0>C>>>0?g+1|0:g,g=PI(T,O,470296,0),A=h+sA|0,A=g>>>0>(_A=g+_A|0)>>>0?A+1|0:A,g=PI(JA,VA,654183,0),A=h+(A-(((C=-2097152&oA)>>>0>_A>>>0)+tA|0)|0)|0,A=g>>>0>(oA=g+(_A-C|0)|0)>>>0?A+1|0:A,C=PI(WA,IA,-997805,-1),g=h+A|0,g=C>>>0>(oA=C+oA|0)>>>0?g+1|0:g,HA=C=lA-(A=-2097152&Q)|0,GA=nA=nA-((A>>>0>lA>>>0)+bA|0)|0,oA=(Q=PI(FA,KA,136657,0))+oA|0,A=h+g|0,C=PI(C,nA,-683901,-1),g=h+(Q>>>0>oA>>>0?A+1|0:A)|0,nA=g=C>>>0>(sA=C+oA|0)>>>0?g+1|0:g,bA=A=g-((sA>>>0<4293918720)-1|0)|0,g=(2097151&A)<<11|(Q=sA- -1048576|0)>>>21,A=(A>>21)+B|0,lA=g=(A=g>>>0>(oA=g+kA|0)>>>0?A+1|0:A)-((oA>>>0<4293918720)-1|0)|0,_A=(2097151&g)<<11|(B=oA- -1048576|0)>>>21,g=(g>>21)+UA|0,jA=kA=_A+jA|0,kA=_A>>>0>kA>>>0?g+1|0:g,UA=oA-(g=-2097152&B)|0,XA=A-((g>>>0>oA>>>0)+lA|0)|0,dA=sA-(A=-2097152&Q)|0,qA=nA-((A>>>0>sA>>>0)+bA|0)|0,A=PI(T,O,666643,0),C=DA+h|0,C=(Q=A+zA|0)>>>0>>0?C+1|0:C,B=(A=PI(JA,VA,470296,0))+(Q-(g=-2097152&EA)|0)|0,g=h+(C-((g>>>0>Q>>>0)+QA|0)|0)|0,g=A>>>0>B>>>0?g+1|0:g,C=PI(WA,IA,654183,0),A=h+g|0,oA=B=C+B|0,B=C>>>0>B>>>0?A+1|0:A,Q=wA-(A=-2097152&iA)|0,nA=eA-((A>>>0>wA>>>0)+PA|0)|0,A=PI(AA,$,470296,0),g=h,C=A,A=PI(R,Z,666643,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,A=PI(X,q,654183,0),g=h+g|0,g=A>>>0>(C=A+C|0)>>>0?g+1|0:g,iA=(A=C)+(C=PI(P,L,-997805,-1))|0,A=h+g|0,A=C>>>0>iA>>>0?A+1|0:A,g=PI(j,z,136657,0),A=h+A|0,A=g>>>0>(C=g+iA|0)>>>0?A+1|0:A,iA=(g=PI(W,V,-683901,-1))+C|0,C=h+A|0,g=pA+(g>>>0>iA>>>0?C+1|0:C)|0,wA=(C=(2097151&YA)<<11|SA>>>21)+((iA=iA+NA|0)-(A=-2097152&hA)|0)|0,A=((g=iA>>>0>>0?g+1|0:g)-((A>>>0>iA>>>0)+vA|0)|0)+(YA>>21)|0,lA=A=C>>>0>wA>>>0?A+1|0:A,xA=A=A-((wA>>>0<4293918720)-1|0)|0,g=Q,Q=(2097151&A)<<11|(EA=wA- -1048576|0)>>>21,A=(A>>21)+nA|0,bA=A=(C=g+Q|0)>>>0>>0?A+1|0:A,NA=C,A=PI(C,A,-683901,-1),g=h+B|0,g=A>>>0>(C=A+oA|0)>>>0?g+1|0:g,B=(A=C)+(C=PI(FA,KA,-997805,-1))|0,A=h+g|0,A=C>>>0>B>>>0?A+1|0:A,g=PI(HA,GA,136657,0),C=h+A|0,SA=B=g+B|0,eA=g>>>0>B>>>0?C+1|0:C,oA=LA-(A=-2097152&mA)|0,pA=yA-((A>>>0>LA>>>0)+aA|0)|0,g=PI(b,0,J,0),A=h,C=g,g=PI(M,0,d,0),A=h+A|0,A=g>>>0>(C=C+g|0)>>>0?A+1|0:A,g=PI(H,0,x,0),A=h+A|0,A=g>>>0>(C=g+C|0)>>>0?A+1|0:A,B=(g=PI(U,0,v,0))+C|0,C=h+A|0,g=g>>>0>B>>>0?C+1|0:C,hA=C=(A=(r[o+7|0]|r[o+8|0]<<8|r[o+9|0]<<16|r[o+10|0]<<24)>>>7&2097151)+B|0,iA=A>>>0>C>>>0?g+1|0:g,A=PI(b,0,d,0),g=h,C=A,A=PI(M,0,v,0),g=h+g|0,g=A>>>0>(C=C+A|0)>>>0?g+1|0:g,B=(A=C)+(C=PI(U,0,x,0))|0,A=h+g|0,nA=B,B=C>>>0>B>>>0?A+1|0:A,A=(g=r[o+6|0])>>>24|0,Q=g<<8|(vA=r[o+2|0]|r[o+3|0]<<8|r[o+4|0]<<16|r[o+5|0]<<24)>>>24,C=A,g=(A=r[o+7|0])>>>16|0,g|=C,C=B,Q=C=(A=2097151&((3&g)<<30|(A=A<<16|Q)>>>2))>>>0>(nA=A+nA|0)>>>0?C+1|0:C,RA=A=C-((nA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(DA=nA- -1048576|0)>>>21,A=(A>>>21|0)+iA|0,_A=A=C>>>0>(yA=C+hA|0)>>>0?A+1|0:A,PA=A=A-((yA>>>0<4293918720)-1|0)|0,C=(g=A>>>21|0)+pA|0,C=(A=(2097151&A)<<11|(sA=yA- -1048576|0)>>>21)>>>0>(B=A+oA|0)>>>0?C+1|0:C,g=PI(JA,VA,666643,0),A=h+C|0,A=g>>>0>(B=g+B|0)>>>0?A+1|0:A,g=PI(WA,IA,470296,0),A=h+A|0,A=g>>>0>(C=g+B|0)>>>0?A+1|0:A,B=(g=C)+(C=PI(NA,bA,136657,0))|0,g=h+A|0,g=C>>>0>B>>>0?g+1|0:g,A=PI(FA,KA,654183,0),g=h+g|0,g=A>>>0>(C=A+B|0)>>>0?g+1|0:g,oA=(A=PI(HA,GA,-997805,-1))+C|0,C=h+g|0,pA=C=A>>>0>oA>>>0?C+1|0:C,YA=A=C-((oA>>>0<4293918720)-1|0)|0,C=(2097151&A)<<11|(hA=oA- -1048576|0)>>>21,A=(A>>21)+eA|0,SA=C=(A=C>>>0>(B=C+SA|0)>>>0?A+1|0:A)-((B>>>0<4293918720)-1|0)|0,iA=(2097151&C)<<11|(eA=B- -1048576|0)>>>21,C=(C>>21)+qA|0,MA=mA=iA+dA|0,mA=iA>>>0>mA>>>0?C+1|0:C,iA=B,g=A,B=(wA-(A=-2097152&EA)|0)+(EA=(2097151&uA)<<11|fA>>>21)|0,A=(lA-((A>>>0>wA>>>0)+xA|0)|0)+(uA>>21)|0,fA=A=B>>>0>>0?A+1|0:A,dA=A=A-((B>>>0<4293918720)-1|0)|0,wA=C=A>>21,A=PI(JA=(2097151&A)<<11|(uA=B- -1048576|0)>>>21,C,-683901,-1),g=h+g|0,g=A>>>0>(C=A+iA|0)>>>0?g+1|0:g,qA=C-(A=-2097152&eA)|0,LA=g-((A>>>0>C>>>0)+SA|0)|0,g=PI(JA,wA,136657,0),A=h+pA|0,A=g>>>0>(C=g+oA|0)>>>0?A+1|0:A,zA=C-(g=-2097152&hA)|0,YA=A-((g>>>0>C>>>0)+YA|0)|0,g=PI(WA,IA,666643,0),A=h+(_A-(((C=-2097152&sA)>>>0>yA>>>0)+PA|0)|0)|0,A=g>>>0>(iA=g+(yA-C|0)|0)>>>0?A+1|0:A,C=PI(NA,bA,-997805,-1),g=h+A|0,g=C>>>0>(iA=C+iA|0)>>>0?g+1|0:g,A=PI(FA,KA,470296,0),C=h+g|0,C=A>>>0>(iA=A+iA|0)>>>0?C+1|0:C,g=PI(HA,GA,654183,0),A=h+C|0,SA=iA=g+iA|0,pA=g>>>0>iA>>>0?A+1|0:A,C=vA>>>5&2097151,A=PI(b,0,v,0),g=h,eA=A,A=PI(M,0,x,0),g=h+g|0,A=A>>>0>(iA=eA+A|0)>>>0?g+1|0:g,eA=g=C+iA|0,C=A=g>>>0>>0?A+1|0:A,yA=(g=PI(b,0,x,0))+(A=(A=r[o+2|0])<<16&2031616|r[0|o]|r[o+1|0]<<8)|0,g=h,EA=g=A>>>0>yA>>>0?g+1|0:g,xA=g=g-((yA>>>0<4293918720)-1|0)|0,A=(A=g>>>21|0)+C|0,sA=A=(g=(2097151&g)<<11|(_A=yA- -1048576|0)>>>21)>>>0>(lA=g+eA|0)>>>0?A+1|0:A,vA=g=A-((lA>>>0<4293918720)-1|0)|0,C=(2097151&g)<<11|(oA=lA- -1048576|0)>>>21,g=(g>>>21|0)+Q|0,g=C>>>0>(iA=C+nA|0)>>>0?g+1|0:g,C=PI(NA,bA,654183,0),A=h+(g-(((Q=-2097152&DA)>>>0>iA>>>0)+RA|0)|0)|0,A=C>>>0>(nA=C+(iA-Q|0)|0)>>>0?A+1|0:A,g=PI(FA,KA,666643,0),A=h+A|0,A=g>>>0>(C=g+nA|0)>>>0?A+1|0:A,hA=(g=C)+(C=PI(HA,GA,470296,0))|0,g=h+A|0,eA=g=C>>>0>hA>>>0?g+1|0:g,PA=g=g-((hA>>>0<4293918720)-1|0)|0,C=(A=g>>21)+pA|0,DA=g=(C=(g=(2097151&g)<<11|(iA=hA- -1048576|0)>>>21)>>>0>(nA=g+SA|0)>>>0?C+1|0:C)-((nA>>>0<4293918720)-1|0)|0,pA=(2097151&g)<<11|(Q=nA- -1048576|0)>>>21,g=(g>>21)+YA|0,KA=FA=pA+zA|0,pA=pA>>>0>FA>>>0?g+1|0:g,A=PI(JA,wA,-997805,-1),g=h+C|0,g=A>>>0>(nA=A+nA|0)>>>0?g+1|0:g,YA=nA-(A=-2097152&Q)|0,SA=g-((A>>>0>nA>>>0)+DA|0)|0,g=PI(JA,wA,654183,0),A=h+eA|0,A=g>>>0>(C=g+hA|0)>>>0?A+1|0:A,FA=C-(g=-2097152&iA)|0,DA=A-((g>>>0>C>>>0)+PA|0)|0,A=PI(NA,bA,470296,0),C=h+(sA-(((g=-2097152&oA)>>>0>lA>>>0)+vA|0)|0)|0,C=A>>>0>(Q=A+(lA-g|0)|0)>>>0?C+1|0:C,g=PI(HA,GA,666643,0),A=h+C|0,nA=Q=g+Q|0,C=g>>>0>Q>>>0?A+1|0:A,g=PI(NA,bA,666643,0),A=h+(EA-((4095&xA)+((Q=-2097152&_A)>>>0>yA>>>0)|0)|0)|0,hA=A=g>>>0>(oA=g+(yA-Q|0)|0)>>>0?A+1|0:A,EA=A=A-((oA>>>0<4293918720)-1|0)|0,Q=(2097151&A)<<11|(eA=oA- -1048576|0)>>>21,A=(A>>21)+C|0,C=A=Q>>>0>(iA=Q+nA|0)>>>0?A+1|0:A,_A=A=A-((iA>>>0<4293918720)-1|0)|0,Q=(2097151&A)<<11|(nA=iA- -1048576|0)>>>21,A=(A>>21)+DA|0,Q=Q>>>0>(sA=Q+FA|0)>>>0?A+1|0:A,A=PI(JA,wA,470296,0),C=h+C|0,C=A>>>0>(g=A+iA|0)>>>0?C+1|0:C,iA=g-(A=-2097152&nA)|0,nA=C-((A>>>0>g>>>0)+_A|0)|0,g=PI(JA,wA,666643,0),A=h+(hA-(((C=-2097152&eA)>>>0>oA>>>0)+EA|0)|0)|0,g=(C=(A=g>>>0>(lA=g+(oA-C|0)|0)>>>0?A+1|0:A)>>21)+nA|0,A=(A=(g=(A=(2097151&A)<<11|lA>>>21)>>>0>(DA=A+iA|0)>>>0?g+1|0:g)>>21)+Q|0,g=(g=(A=(g=(2097151&g)<<11|DA>>>21)>>>0>(EA=g+sA|0)>>>0?A+1|0:A)>>21)+SA|0,C=(A=(g=(A=(2097151&A)<<11|EA>>>21)>>>0>(Q=A+YA|0)>>>0?g+1|0:g)>>21)+pA|0,A=(g=(C=(g=(2097151&g)<<11|Q>>>21)>>>0>(_A=g+KA|0)>>>0?C+1|0:C)>>21)+LA|0,g=(C=(A=(C=(2097151&C)<<11|_A>>>21)>>>0>(sA=C+qA|0)>>>0?A+1|0:A)>>21)+mA|0,A=(A=(g=(A=(2097151&A)<<11|sA>>>21)>>>0>(oA=A+MA|0)>>>0?g+1|0:g)>>21)+XA|0,g=(g=(A=(g=(2097151&g)<<11|oA>>>21)>>>0>(pA=g+UA|0)>>>0?A+1|0:A)>>21)+kA|0,C=(A=(g=(A=(2097151&A)<<11|pA>>>21)>>>0>(hA=A+jA|0)>>>0?g+1|0:g)>>21)+ZA|0,A=(g=(C=(g=(2097151&g)<<11|hA>>>21)>>>0>(eA=g+II|0)>>>0?C+1|0:C)>>21)+AI|0,nA=(uA=B-(g=-2097152&uA)|0)+((2097151&(A=(C=(2097151&C)<<11|eA>>>21)>>>0>(iA=C+$A|0)>>>0?A+1|0:A))<<11|iA>>>21)|0,A=(fA-((g>>>0>B>>>0)+dA|0)|0)+(A>>21)|0,uA=g=(A=nA>>>0>>0?A+1|0:A)>>21,lA=(A=PI(mA=(2097151&A)<<11|nA>>>21,g,666643,0))+(g=2097151&lA)|0,A=h,B=A=g>>>0>lA>>>0?A+1|0:A,t[0|a]=lA,t[a+1|0]=(255&A)<<24|lA>>>8,A=2097151&DA,g=PI(mA,uA,470296,0)+A|0,C=h,A=(B>>21)+(A>>>0>g>>>0?C+1|0:C)|0,A=(fA=(2097151&B)<<11|lA>>>21)>>>0>(DA=fA+g|0)>>>0?A+1|0:A,t[a+4|0]=(2047&A)<<21|DA>>>11,g=A,C=DA,t[a+3|0]=(7&A)<<29|C>>>3,t[a+2|0]=31&((65535&B)<<16|lA>>>16)|C<<5,B=2097151&EA,EA=PI(mA,uA,654183,0)+B|0,A=h,DA=(2097151&g)<<11|C>>>21,g=(g>>21)+(B=B>>>0>EA>>>0?A+1|0:A)|0,A=g=(EA=DA+EA|0)>>>0>>0?g+1|0:g,t[a+6|0]=(63&A)<<26|EA>>>6,B=EA,EA=0,t[a+5|0]=EA<<13|(1572864&C)>>>19|B<<2,C=2097151&Q,Q=PI(mA,uA,-997805,-1)+C|0,g=h,g=C>>>0>Q>>>0?g+1|0:g,EA=(2097151&(C=A))<<11|B>>>21,C=(A>>=21)+g|0,C=(Q=EA+Q|0)>>>0>>0?C+1|0:C,t[a+9|0]=(511&C)<<23|Q>>>9,t[a+8|0]=(1&C)<<31|Q>>>1,g=0,t[a+7|0]=g<<18|(2080768&B)>>>14|Q<<7,g=2097151&_A,B=PI(mA,uA,136657,0)+g|0,A=h,A=g>>>0>B>>>0?A+1|0:A,_A=(2097151&(g=C))<<11|Q>>>21,g=A+(C=g>>21)|0,g=(B=_A+B|0)>>>0<_A>>>0?g+1|0:g,t[a+12|0]=(4095&g)<<20|B>>>12,C=B,t[a+11|0]=(15&g)<<28|C>>>4,B=0,t[a+10|0]=B<<15|(1966080&Q)>>>17|C<<4,B=2097151&sA,Q=PI(mA,uA,-683901,-1)+B|0,A=h,A=B>>>0>Q>>>0?A+1|0:A,B=g,g=A+(g>>=21)|0,g=(B=(sA=Q)+(Q=(2097151&B)<<11|C>>>21)|0)>>>0>>0?g+1|0:g,t[a+14|0]=(127&g)<<25|B>>>7,Q=0,t[a+13|0]=Q<<12|(1048576&C)>>>20|B<<1,A=g>>21,C=(g=(2097151&g)<<11|B>>>21)>>>0>(Q=g+(2097151&oA)|0)>>>0?A+1|0:A,t[a+17|0]=(1023&C)<<22|Q>>>10,t[a+16|0]=(3&C)<<30|Q>>>2,g=0,t[a+15|0]=g<<17|(2064384&B)>>>15|Q<<6,A=C>>21,A=(g=(2097151&C)<<11|Q>>>21)>>>0>(C=g+(2097151&pA)|0)>>>0?A+1|0:A,t[a+20|0]=(8191&A)<<19|C>>>13,t[a+19|0]=(31&A)<<27|C>>>5,B=(g=2097151&hA)+(hA=(2097151&A)<<11|C>>>21)|0,g=A>>21,g=B>>>0>>0?g+1|0:g,hA=B,t[a+21|0]=B,pA=0,t[a+18|0]=pA<<14|(1835008&Q)>>>18|C<<3,t[a+22|0]=(255&g)<<24|B>>>8,C=g>>21,C=(B=(Q=(2097151&g)<<11|B>>>21)+(2097151&eA)|0)>>>0>>0?C+1|0:C,t[a+25|0]=(2047&C)<<21|B>>>11,t[a+24|0]=(7&C)<<29|B>>>3,t[a+23|0]=31&((65535&g)<<16|hA>>>16)|B<<5,A=C>>21,A=(g=(2097151&C)<<11|B>>>21)>>>0>(C=g+(2097151&iA)|0)>>>0?A+1|0:A,t[a+27|0]=(63&A)<<26|C>>>6,Q=0,t[a+26|0]=Q<<13|(1572864&B)>>>19|C<<2,g=A>>21,g=(A=(B=(2097151&A)<<11|C>>>21)+(2097151&nA)|0)>>>0>>0?g+1|0:g,t[a+31|0]=(131071&g)<<15|A>>>17,t[a+30|0]=(511&g)<<23|A>>>9,t[a+29|0]=(1&g)<<31|A>>>1,B=0,t[a+28|0]=B<<18|(2080768&C)>>>14|A<<7,NC(n,64),NC(o,64),I&&(i[I>>2]=64,i[I+4>>2]=0),s=c+560|0,0}function D(A,I,g){var C,B,a,Q,i,o,n,c,e,E,_,y,s,p,f,l,u,D,w,m,k,F,S,G,N,b,M,H,Y,U,J,d,K,x,v,R,L,P,q,j,z,X,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0,QA=0,tA=0,iA=0,rA=0,oA=0,nA=0,cA=0,eA=0,EA=0,_A=0,yA=0,sA=0,pA=0,fA=0,hA=0,lA=0,uA=0,DA=0,wA=0,mA=0,kA=0,FA=0,SA=0,GA=0,NA=0,bA=0,MA=0,HA=0,YA=0,UA=0,JA=0,dA=0,KA=0,xA=0,vA=0,RA=0,LA=0,PA=0,qA=0;O=PI(C=(W=r[g+2|0])<<16&2031616|r[0|g]|r[g+1|0]<<8,0,B=(aA=r[I+23|0]|r[I+24|0]<<8|r[I+25|0]<<16|r[I+26|0]<<24)>>>5&2097151,0),Z=h,V=PI(a=(W=r[I+23|0])<<16&2031616|r[I+21|0]|r[I+22|0]<<8,0,Q=(T=r[g+2|0]|r[g+3|0]<<8|r[g+4|0]<<16|r[g+5|0]<<24)>>>5&2097151,0),W=h+Z|0,W=V>>>0>(O=V+O|0)>>>0?W+1|0:W,Z=PI(i=(r[g+7|0]|r[g+8|0]<<8|r[g+9|0]<<16|r[g+10|0]<<24)>>>7&2097151,0,o=(tA=r[I+15|0]|r[I+16|0]<<8|r[I+17|0]<<16|r[I+18|0]<<24)>>>6&2097151,0),V=h+W|0,IA=O=Z+O|0,Z=Z>>>0>O>>>0?V+1|0:V,V=(W=r[I+14|0])>>>24|0,$=W<<8|(gA=r[I+10|0]|r[I+11|0]<<8|r[I+12|0]<<16|r[I+13|0]<<24)>>>24,V=PI(n=2097151&((1&(CA=(W=V)|(V=(O=r[I+15|0])>>>16|0)))<<31|(W=(O<<=16)|$)>>>1),0,c=(AA=r[g+10|0]|r[g+11|0]<<8|r[g+12|0]<<16|r[g+13|0]<<24)>>>4&2097151,0),Z=h+Z|0,CA=W=V+IA|0,O=W>>>0>>0?Z+1|0:Z,Z=(V=r[g+6|0])>>>24|0,IA=V<<8|T>>>24,T=e=2097151&((3&(Z|=V=(W=r[g+7|0])>>>16|0))<<30|(W=IA|W<<16)>>>2),IA=0,$=(W=r[I+19|0])<<8|tA>>>24,Z=V=W>>>24|0,W=(V=r[I+20|0])>>>16|0,F=Z=(W|=Z)>>>3|0,V=PI(T,IA,E=(7&W)<<29|(V=V<<16|$)>>>3,Z),W=h+O|0,W=V>>>0>($=V+CA|0)>>>0?W+1|0:W,Z=PI(_=(T=r[g+15|0]|r[g+16|0]<<8|r[g+17|0]<<16|r[g+18|0]<<24)>>>6&2097151,0,y=(r[I+7|0]|r[I+8|0]<<8|r[I+9|0]<<16|r[I+10|0]<<24)>>>7&2097151,0),V=h+W|0,IA=O=Z+$|0,O=Z>>>0>O>>>0?V+1|0:V,$=(W=r[g+14|0])<<8|AA>>>24,W=V=W>>>24|0,Z=(V=r[g+15|0])>>>16|0,V=PI(s=2097151&((1&(Z|=W))<<31|(W=(V<<=16)|$)>>>1),0,p=gA>>>4&2097151,0),W=h+O|0,AA=Z=V+IA|0,IA=V>>>0>Z>>>0?W+1|0:W,W=(V=r[g+19|0])>>>24|0,O=V<<8|T>>>24,Z=(V=r[g+20|0])>>>16|0,f=(7&(Z|=W))<<29|(V=O|V<<16)>>>3,EA=W=Z>>>3|0,O=W,W=(V=r[I+6|0])>>>24|0,T=V<<8|(CA=r[I+2|0]|r[I+3|0]<<8|r[I+4|0]<<16|r[I+5|0]<<24)>>>24,Z=W,W=(V=r[I+7|0])>>>16|0,W=PI(f,O,l=2097151&((3&(W|=Z))<<30|(V=V<<16|T)>>>2),0),V=h+IA|0,Z=W>>>0>(O=W+AA|0)>>>0?V+1|0:V,W=PI(u=(W=r[g+23|0])<<16&2031616|r[g+21|0]|r[g+22|0]<<8,0,D=CA>>>5&2097151,0),V=h+Z|0,Z=W>>>0>(O=W+O|0)>>>0?V+1|0:V,V=PI(w=(W=r[I+2|0])<<16&2031616|r[0|I]|r[I+1|0]<<8,0,pA=(CA=r[g+23|0]|r[g+24|0]<<8|r[g+25|0]<<16|r[g+26|0]<<24)>>>5&2097151,0),W=h+Z|0,T=O=V+O|0,IA=V>>>0>O>>>0?W+1|0:W,V=PI(a,0,C,0),W=h,O=(Z=V)+(V=PI(E,F,Q,0))|0,Z=h+W|0,Z=V>>>0>O>>>0?Z+1|0:Z,V=PI(i,0,n,0),W=h+Z|0,W=V>>>0>(O=V+O|0)>>>0?W+1|0:W,Z=PI(c,0,p,0),V=h+W|0,V=Z>>>0>(O=Z+O|0)>>>0?V+1|0:V,W=PI(o,0,e,0),V=h+V|0,V=W>>>0>(Z=W+O|0)>>>0?V+1|0:V,O=(W=Z)+(Z=PI(_,0,l,0))|0,W=h+V|0,W=Z>>>0>O>>>0?W+1|0:W,V=PI(s,0,y,0),Z=h+W|0,Z=V>>>0>(O=V+O|0)>>>0?Z+1|0:Z,O=(V=PI(f,EA,D,0))+O|0,W=h+Z|0,Z=PI(u,0,w,0),V=h+(V>>>0>O>>>0?W+1|0:W)|0,O=V=Z>>>0>($=Z+O|0)>>>0?V+1|0:V,iA=V=V-(($>>>0<4293918720)-1|0)|0,W=(W=V>>>21|0)+IA|0,rA=Z=(W=(V=(2097151&V)<<11|(nA=$- -1048576|0)>>>21)>>>0>(T=V+T|0)>>>0?W+1|0:W)-((T>>>0<4293918720)-1|0)|0,QA=T-(V=-2097152&(cA=T- -1048576|0))|0,BA=W-((V>>>0>T>>>0)+Z|0)|0,IA=(W=r[g+27|0])<<8|CA>>>24,Z=V=W>>>24|0,T=PI(m=2097151&((3&(Z|=W=(V=r[g+28|0])>>>16|0))<<30|(W=(V<<=16)|IA)>>>2),0,hA=(r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24)>>>7|0,0),IA=h,W=(V=r[I+27|0])>>>24|0,I=PI(k=2097151&((3&(W|=Z=(I=r[I+28|0])>>>16|0))<<30|(V=V<<8|aA>>>24|I<<16)>>>2),0,lA=(r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24)>>>7|0,0),V=h+IA|0,V=I>>>0>(g=I+T|0)>>>0?V+1|0:V,Z=g,I=PI(B,0,lA,0),g=h,IA=(W=I)+(I=PI(pA,0,hA,0))|0,W=h+g|0,W=I>>>0>IA>>>0?W+1|0:W,I=PI(m,0,k,0),W=h+W|0,IA=W=I>>>0>(CA=I+IA|0)>>>0?W+1|0:W,AA=I=W-((CA>>>0<4293918720)-1|0)|0,W=I>>>21|0,T=(I=(2097151&I)<<11|(g=CA- -1048576|0)>>>21)+Z|0,Z=W+V|0,tA=W=(Z=I>>>0>T>>>0?Z+1|0:Z)-((T>>>0<4293918720)-1|0)|0,I=T-(V=-2097152&(gA=T- -1048576|0))|0,G=V=Z-((131071&W)+(V>>>0>T>>>0)|0)|0,N=I,I=PI(I,V,666643,0),V=h+BA|0,DA=W=I+QA|0,T=I>>>0>W>>>0?V+1|0:V,QA=CA-(I=-2097152&g)|0,yA=IA-((131071&AA)+(I>>>0>CA>>>0)|0)|0,I=PI(u,0,hA,0),g=h,W=(V=I)+(I=PI(pA,0,k,0))|0,V=h+g|0,V=I>>>0>W>>>0?V+1|0:V,g=(I=PI(a,0,lA,0))+W|0,W=h+V|0,W=I>>>0>g>>>0?W+1|0:W,I=PI(B,0,m,0),V=h+W|0,AA=g=I+g|0,I=I>>>0>g>>>0?V+1|0:V,g=PI(B,0,pA,0),V=h,Z=(W=g)+(g=PI(f,EA,hA,0))|0,W=h+V|0,W=g>>>0>Z>>>0?W+1|0:W,V=(g=PI(u,0,k,0))+Z|0,Z=h+W|0,Z=g>>>0>V>>>0?Z+1|0:Z,W=(g=PI(E,F,lA,0))+V|0,V=h+Z|0,V=g>>>0>W>>>0?V+1|0:V,BA=(g=PI(a,0,m,0))+W|0,W=h+V|0,CA=W=g>>>0>BA>>>0?W+1|0:W,oA=g=W-((BA>>>0<4293918720)-1|0)|0,W=I+(V=g>>>21|0)|0,g=W=(g=(2097151&g)<<11|(IA=BA- -1048576|0)>>>21)>>>0>(AA=g+AA|0)>>>0?W+1|0:W,aA=W=W-((AA>>>0<4293918720)-1|0)|0,V=QA,QA=(2097151&W)<<11|(I=AA- -1048576|0)>>>21,W=(W>>>21|0)+yA|0,b=W=(Z=V+QA|0)>>>0>>0?W+1|0:W,M=I=AA-(V=-2097152&I)|0,H=AA=g-((V>>>0>AA>>>0)+aA|0)|0,Y=Z,g=PI(Z,W,470296,0),V=h+T|0,V=g>>>0>(W=g+DA|0)>>>0?V+1|0:V,I=PI(I,AA,654183,0),Z=h+V|0,yA=g=I+W|0,T=I>>>0>g>>>0?Z+1|0:Z,aA=BA-(I=-2097152&IA)|0,BA=CA-((I>>>0>BA>>>0)+oA|0)|0,I=PI(f,EA,k,0),g=h,W=(V=I)+(I=PI(_,0,hA,0))|0,V=h+g|0,V=I>>>0>W>>>0?V+1|0:V,g=(I=PI(a,0,pA,0))+W|0,W=h+V|0,W=I>>>0>g>>>0?W+1|0:W,I=PI(B,0,u,0),Z=h+W|0,Z=I>>>0>(g=I+g|0)>>>0?Z+1|0:Z,I=PI(o,0,lA,0),V=h+Z|0,V=I>>>0>(g=I+g|0)>>>0?V+1|0:V,I=PI(E,F,m,0),W=h+V|0,CA=g=I+g|0,IA=I>>>0>g>>>0?W+1|0:W,I=PI(s,0,hA,0),g=h,W=(V=I)+(I=PI(_,0,k,0))|0,V=h+g|0,V=I>>>0>W>>>0?V+1|0:V,g=(I=PI(B,0,f,EA))+W|0,W=h+V|0,W=I>>>0>g>>>0?W+1|0:W,I=PI(E,F,pA,0),Z=h+W|0,Z=I>>>0>(g=I+g|0)>>>0?Z+1|0:Z,I=PI(a,0,u,0),V=h+Z|0,V=I>>>0>(g=I+g|0)>>>0?V+1|0:V,I=PI(n,0,lA,0),W=h+V|0,W=I>>>0>(g=I+g|0)>>>0?W+1|0:W,I=PI(o,0,m,0),V=h+W|0,I=V=I>>>0>(g=I+g|0)>>>0?V+1|0:V,_A=V=V-((g>>>0<4293918720)-1|0)|0,Z=(W=V>>>21|0)+IA|0,QA=Z=(V=(2097151&V)<<11|(oA=g- -1048576|0)>>>21)>>>0>(sA=V+CA|0)>>>0?Z+1|0:Z,HA=V=Z-((sA>>>0<4293918720)-1|0)|0,IA=(2097151&V)<<11|(AA=sA- -1048576|0)>>>21,V=(V>>>21|0)+BA|0,U=V=(Z=IA+aA|0)>>>0>>0?V+1|0:V,J=Z,V=PI(Z,V,-997805,-1),W=h+T|0,BA=Z=V+yA|0,T=V>>>0>Z>>>0?W+1|0:W,IA=$,$=O,V=PI(C,0,E,F),W=h,O=(Z=V)+(V=PI(o,0,Q,0))|0,Z=h+W|0,Z=V>>>0>O>>>0?Z+1|0:Z,W=PI(i,0,p,0),V=h+Z|0,V=W>>>0>(O=W+O|0)>>>0?V+1|0:V,Z=PI(c,0,y,0),W=h+V|0,W=Z>>>0>(O=Z+O|0)>>>0?W+1|0:W,Z=PI(n,0,e,0),V=h+W|0,V=Z>>>0>(O=Z+O|0)>>>0?V+1|0:V,Z=PI(_,0,D,0),W=h+V|0,W=Z>>>0>(O=Z+O|0)>>>0?W+1|0:W,V=PI(s,0,l,0),Z=h+W|0,Z=V>>>0>(O=V+O|0)>>>0?Z+1|0:Z,W=PI(f,EA,w,0),V=h+Z|0,CA=O=W+O|0,O=W>>>0>O>>>0?V+1|0:V,V=PI(C,0,o,0),W=h,Z=V,V=PI(n,0,Q,0),W=h+W|0,W=V>>>0>(Z=Z+V|0)>>>0?W+1|0:W,aA=(V=Z)+(Z=PI(i,0,y,0))|0,V=h+W|0,V=Z>>>0>aA>>>0?V+1|0:V,Z=PI(c,0,l,0),W=h+V|0,W=Z>>>0>(aA=Z+aA|0)>>>0?W+1|0:W,V=PI(e,0,p,0),Z=h+W|0,Z=V>>>0>(aA=V+aA|0)>>>0?Z+1|0:Z,aA=(W=PI(_,0,w,0))+aA|0,V=h+Z|0,Z=PI(s,0,D,0),W=h+(W>>>0>aA>>>0?V+1|0:V)|0,FA=W=Z>>>0>(kA=Z+aA|0)>>>0?W+1|0:W,xA=W=W-((kA>>>0<4293918720)-1|0)|0,Z=(2097151&W)<<11|(mA=kA- -1048576|0)>>>21,W=(W>>>21|0)+O|0,eA=W=Z>>>0>(SA=Z+CA|0)>>>0?W+1|0:W,vA=W=W-((SA>>>0<4293918720)-1|0)|0,Z=(2097151&W)<<11|(DA=SA- -1048576|0)>>>21,W=(W>>>21|0)+$|0,W=Z>>>0>(IA=Z+IA|0)>>>0?W+1|0:W,V=PI(Y,b,666643,0),W=h+(W-(((Z=-2097152&nA)>>>0>IA>>>0)+iA|0)|0)|0,W=V>>>0>(O=V+(IA-Z|0)|0)>>>0?W+1|0:W,Z=PI(M,H,470296,0),V=h+W|0,V=Z>>>0>(O=Z+O|0)>>>0?V+1|0:V,Z=PI(J,U,654183,0),W=h+V|0,yA=W=Z>>>0>(fA=Z+O|0)>>>0?W+1|0:W,JA=W=W-((fA>>>0<4293918720)-1|0)|0,V=(V=W>>21)+T|0,BA=V=(W=(2097151&W)<<11|(aA=fA- -1048576|0)>>>21)>>>0>(iA=W+BA|0)>>>0?V+1|0:V,GA=W=V-((iA>>>0<4293918720)-1|0)|0,YA=(2097151&W)<<11|(nA=iA- -1048576|0)>>>21,CA=W>>21,V=PI(C,0,k,0),W=h,Z=V,V=PI(B,0,Q,0),W=h+W|0,W=V>>>0>(Z=Z+V|0)>>>0?W+1|0:W,O=(V=PI(i,0,E,F))+Z|0,Z=h+W|0,Z=V>>>0>O>>>0?Z+1|0:Z,W=PI(o,0,c,0),V=h+Z|0,V=W>>>0>(O=W+O|0)>>>0?V+1|0:V,Z=PI(a,0,e,0),W=h+V|0,W=Z>>>0>(O=Z+O|0)>>>0?W+1|0:W,Z=PI(_,0,p,0),V=h+W|0,V=Z>>>0>(O=Z+O|0)>>>0?V+1|0:V,Z=PI(n,0,s,0),W=h+V|0,W=Z>>>0>(O=Z+O|0)>>>0?W+1|0:W,V=PI(y,0,f,EA),Z=h+W|0,Z=V>>>0>(O=V+O|0)>>>0?Z+1|0:Z,W=PI(D,0,pA,0),V=h+Z|0,V=W>>>0>(O=W+O|0)>>>0?V+1|0:V,Z=PI(l,0,u,0),W=h+V|0,W=Z>>>0>(O=Z+O|0)>>>0?W+1|0:W,Z=(V=O)+(O=PI(m,0,w,0))|0,V=h+W|0,T=Z,IA=Z>>>0>>0?V+1|0:V,wA=PI(hA,0,lA,0),$=Z=(NA=h)-((wA>>>0<4293918720)-1|0)|0,W=wA-(V=-2097152&(O=wA- -1048576|0))|0,V=(tA>>>21|0)+(V=NA-((524287&Z)+(V>>>0>wA>>>0)|0)|0)|0,d=V=(Z=(gA=(2097151&tA)<<11|gA>>>21)+W|0)>>>0>>0?V+1|0:V,K=Z,W=(2097151&rA)<<11|cA>>>21,gA=PI(Z,V,666643,0)+W|0,V=h+(rA>>>21|0)|0,V=W>>>0>gA>>>0?V+1|0:V,Z=PI(N,G,470296,0),W=h+V|0,W=(Z>>>0>(gA=Z+gA|0)>>>0?W+1|0:W)+IA|0,W=(V=T+gA|0)>>>0>>0?W+1|0:W,gA=(Z=PI(Y,b,654183,0))+V|0,V=h+W|0,UA=T- -1048576|0,wA=IA=IA-((T>>>0<4293918720)-1|0)|0,W=PI(M,H,-997805,-1),Z=h+(Z>>>0>gA>>>0?V+1|0:V)|0,Z=W>>>0>(T=W+gA|0)>>>0?Z+1|0:Z,cA=(V=PI(J,U,136657,0))+(T-(W=-2097152&UA)|0)|0,W=h+(Z-((W>>>0>T>>>0)+IA|0)|0)|0,Z=(tA=V>>>0>cA>>>0?W+1|0:W)+CA|0,bA=V=cA+YA|0,gA=Z=V>>>0>>0?Z+1|0:Z,NA=sA-(V=-2097152&AA)|0,sA=QA-((V>>>0>sA>>>0)+HA|0)|0,x=Z=$>>>21|0,W=(V=g)+(g=PI(S=(2097151&$)<<11|O>>>21,Z,-683901,-1))|0,V=h+I|0,QA=W-(I=-2097152&oA)|0,rA=(g>>>0>W>>>0?V+1|0:V)-((I>>>0>W>>>0)+_A|0)|0,I=PI(B,0,_,0),g=h,V=I,I=PI(c,0,hA,0),W=h+g|0,W=I>>>0>(V=V+I|0)>>>0?W+1|0:W,I=PI(s,0,k,0),Z=h+W|0,Z=I>>>0>(g=I+V|0)>>>0?Z+1|0:Z,I=PI(a,0,f,EA),V=h+Z|0,V=I>>>0>(g=I+g|0)>>>0?V+1|0:V,I=PI(o,0,pA,0),V=h+V|0,V=I>>>0>(g=I+g|0)>>>0?V+1|0:V,I=PI(E,F,u,0),W=h+V|0,W=I>>>0>(g=I+g|0)>>>0?W+1|0:W,I=PI(p,0,lA,0),W=h+W|0,W=I>>>0>(g=I+g|0)>>>0?W+1|0:W,I=PI(n,0,m,0),Z=h+W|0,O=g=I+g|0,I=I>>>0>g>>>0?Z+1|0:Z,g=PI(c,0,k,0),V=h,W=g,g=PI(i,0,hA,0),V=h+V|0,V=g>>>0>(W=W+g|0)>>>0?V+1|0:V,g=PI(a,0,_,0),V=h+V|0,V=g>>>0>(W=g+W|0)>>>0?V+1|0:V,Z=(g=PI(B,0,s,0))+W|0,W=h+V|0,W=g>>>0>Z>>>0?W+1|0:W,g=PI(E,F,f,EA),W=h+W|0,W=g>>>0>(V=g+Z|0)>>>0?W+1|0:W,g=PI(n,0,pA,0),Z=h+W|0,Z=g>>>0>(V=g+V|0)>>>0?Z+1|0:Z,W=(g=PI(o,0,u,0))+V|0,V=h+Z|0,V=g>>>0>W>>>0?V+1|0:V,g=PI(y,0,lA,0),V=h+V|0,V=g>>>0>(W=g+W|0)>>>0?V+1|0:V,AA=(g=PI(p,0,m,0))+W|0,W=h+V|0,CA=W=g>>>0>AA>>>0?W+1|0:W,MA=g=W-((AA>>>0<4293918720)-1|0)|0,Z=I+(V=g>>>21|0)|0,IA=Z=(g=(2097151&g)<<11|(T=AA- -1048576|0)>>>21)>>>0>(oA=g+O|0)>>>0?Z+1|0:Z,_A=I=Z-((oA>>>0<4293918720)-1|0)|0,W=(V=I>>>21|0)+rA|0,O=W=(I=(2097151&I)<<11|($=oA- -1048576|0)>>>21)>>>0>(QA=I+QA|0)>>>0?W+1|0:W,rA=g=W-((QA>>>0<4293918720)-1|0)|0,Z=(V=g>>21)+sA|0,v=Z=(g=(W=(2097151&g)<<11|(I=QA- -1048576|0)>>>21)+NA|0)>>>0>>0?Z+1|0:Z,HA=cA- -1048576|0,YA=W=tA-((cA>>>0<4293918720)-1|0)|0,dA=g,g=PI(g,Z,-683901,-1),V=h+gA|0,NA=V=(W=(V=g>>>0>(Z=g+bA|0)>>>0?V+1|0:V)-(((g=-2097152&HA)>>>0>Z>>>0)+W|0)|0)-(((gA=Z-g|0)>>>0<4293918720)-1|0)|0,P=gA-(g=-2097152&(sA=gA- -1048576|0))|0,RA=W-((g>>>0>gA>>>0)+V|0)|0,g=PI(dA,v,136657,0),W=h+(BA-(((V=-2097152&nA)>>>0>iA>>>0)+GA|0)|0)|0,KA=Z=g+(iA-V|0)|0,g=g>>>0>Z>>>0?W+1|0:W,uA=QA-(I&=-2097152)|0,nA=O-((I>>>0>QA>>>0)+rA|0)|0,I=PI(K,d,-683901,-1),V=h,W=I,I=PI(S,x,136657,0),V=h+V|0,W=IA+(I>>>0>(Z=W+I|0)>>>0?V+1|0:V)|0,tA=(V=Z+oA|0)-(I=-2097152&$)|0,gA=(W=V>>>0>>0?W+1|0:W)-((I>>>0>V>>>0)+_A|0)|0,I=PI(S,x,-997805,-1),V=h+CA|0,V=I>>>0>(W=I+AA|0)>>>0?V+1|0:V,I=PI(K,d,136657,0),V=h+V|0,V=I>>>0>(W=I+W|0)>>>0?V+1|0:V,Z=(I=PI(N,G,-683901,-1))+W|0,W=h+V|0,W=I>>>0>Z>>>0?W+1|0:W,IA=Z-(I=-2097152&T)|0,$=W-((I>>>0>Z>>>0)+MA|0)|0,I=PI(B,0,c,0),V=h,Z=(W=I)+(I=PI(i,0,k,0))|0,W=h+V|0,W=I>>>0>Z>>>0?W+1|0:W,I=PI(e,0,hA,0),V=h+W|0,V=I>>>0>(Z=I+Z|0)>>>0?V+1|0:V,I=PI(_,0,E,F),W=h+V|0,W=I>>>0>(Z=I+Z|0)>>>0?W+1|0:W,I=PI(a,0,s,0),V=h+W|0,V=I>>>0>(Z=I+Z|0)>>>0?V+1|0:V,W=(I=PI(o,0,f,EA))+Z|0,Z=h+V|0,Z=I>>>0>W>>>0?Z+1|0:Z,V=(I=PI(p,0,pA,0))+W|0,W=h+Z|0,W=I>>>0>V>>>0?W+1|0:W,Z=(I=PI(n,0,u,0))+V|0,V=h+W|0,V=I>>>0>Z>>>0?V+1|0:V,I=PI(l,0,lA,0),W=h+V|0,W=I>>>0>(Z=I+Z|0)>>>0?W+1|0:W,I=PI(y,0,m,0),V=h+W|0,O=Z=I+Z|0,I=I>>>0>Z>>>0?V+1|0:V,V=PI(B,0,i,0),W=h,T=(Z=V)+(V=PI(Q,0,hA,0))|0,Z=h+W|0,Z=V>>>0>T>>>0?Z+1|0:Z,V=PI(a,0,c,0),W=h+Z|0,W=V>>>0>(T=V+T|0)>>>0?W+1|0:W,Z=PI(e,0,k,0),V=h+W|0,V=Z>>>0>(T=Z+T|0)>>>0?V+1|0:V,Z=PI(o,0,_,0),W=h+V|0,W=Z>>>0>(T=Z+T|0)>>>0?W+1|0:W,Z=PI(E,F,s,0),V=h+W|0,V=Z>>>0>(T=Z+T|0)>>>0?V+1|0:V,W=PI(n,0,f,EA),Z=h+V|0,Z=W>>>0>(T=W+T|0)>>>0?Z+1|0:Z,V=PI(y,0,pA,0),W=h+Z|0,W=V>>>0>(T=V+T|0)>>>0?W+1|0:W,Z=PI(p,0,u,0),V=h+W|0,V=Z>>>0>(T=Z+T|0)>>>0?V+1|0:V,Z=PI(D,0,lA,0),W=h+V|0,W=Z>>>0>(T=Z+T|0)>>>0?W+1|0:W,Z=PI(l,0,m,0),V=h+W|0,iA=V=Z>>>0>(GA=Z+T|0)>>>0?V+1|0:V,q=V=V-((GA>>>0<4293918720)-1|0)|0,W=I+(W=V>>>21|0)|0,cA=W=(V=(2097151&V)<<11|(rA=GA- -1048576|0)>>>21)>>>0>(bA=V+O|0)>>>0?W+1|0:W,j=I=W-((bA>>>0<4293918720)-1|0)|0,V=(W=I>>>21|0)+$|0,QA=V=(I=(2097151&I)<<11|(oA=bA- -1048576|0)>>>21)>>>0>(MA=I+IA|0)>>>0?V+1|0:V,z=I=V-((MA>>>0<4293918720)-1|0)|0,W=(W=I>>21)+gA|0,CA=W=(I=(2097151&I)<<11|(BA=MA- -1048576|0)>>>21)>>>0>(_A=I+tA|0)>>>0?W+1|0:W,LA=I=W-((_A>>>0<4293918720)-1|0)|0,V=(W=I>>21)+nA|0,R=V=(I=(Z=(2097151&I)<<11|(O=_A- -1048576|0)>>>21)+uA|0)>>>0>>0?V+1|0:V,uA=I,I=PI(I,V,-683901,-1),Z=h+g|0,PA=V=I+KA|0,T=I>>>0>V>>>0?Z+1|0:Z,qA=fA-(I=-2097152&aA)|0,JA=yA-((I>>>0>fA>>>0)+JA|0)|0,I=PI(M,H,666643,0),V=h+(eA-(((g=-2097152&DA)>>>0>SA>>>0)+vA|0)|0)|0,V=I>>>0>(W=I+(SA-g|0)|0)>>>0?V+1|0:V,g=(I=PI(J,U,470296,0))+W|0,W=h+V|0,DA=g,g=I>>>0>g>>>0?W+1|0:W,AA=kA-(I=-2097152&mA)|0,IA=FA-((I>>>0>kA>>>0)+xA|0)|0,I=PI(C,0,n,0),V=h,W=I,I=PI(Q,0,p,0),Z=h+V|0,Z=I>>>0>(W=W+I|0)>>>0?Z+1|0:Z,I=PI(i,0,l,0),V=h+Z|0,V=I>>>0>(W=I+W|0)>>>0?V+1|0:V,Z=(I=PI(c,0,D,0))+W|0,W=h+V|0,W=I>>>0>Z>>>0?W+1|0:W,I=PI(e,0,y,0),V=h+W|0,V=I>>>0>(Z=I+Z|0)>>>0?V+1|0:V,I=PI(s,0,w,0),W=h+V|0,$=Z=I+Z|0,I=I>>>0>Z>>>0?W+1|0:W,V=PI(C,0,p,0),W=h,gA=(Z=V)+(V=PI(Q,0,y,0))|0,Z=h+W|0,Z=V>>>0>gA>>>0?Z+1|0:Z,W=PI(i,0,D,0),V=h+Z|0,V=W>>>0>(gA=W+gA|0)>>>0?V+1|0:V,Z=PI(c,0,w,0),W=h+V|0,W=Z>>>0>(gA=Z+gA|0)>>>0?W+1|0:W,Z=PI(e,0,l,0),V=h+W|0,yA=V=Z>>>0>(fA=Z+gA|0)>>>0?V+1|0:V,X=V=V-((fA>>>0<4293918720)-1|0)|0,Z=I+(W=V>>>21|0)|0,nA=Z=(V=(2097151&V)<<11|(aA=fA- -1048576|0)>>>21)>>>0>(FA=V+$|0)>>>0?Z+1|0:Z,xA=I=Z-((FA>>>0<4293918720)-1|0)|0,V=(W=I>>>21|0)+IA|0,V=(I=(2097151&I)<<11|(tA=FA- -1048576|0)>>>21)>>>0>(Z=I+AA|0)>>>0?V+1|0:V,I=PI(J,U,666643,0),W=h+V|0,gA=W=I>>>0>(mA=I+Z|0)>>>0?W+1|0:W,vA=I=W-((mA>>>0<4293918720)-1|0)|0,V=g+(V=I>>21)|0,IA=V=(I=(2097151&I)<<11|(AA=mA- -1048576|0)>>>21)>>>0>(eA=I+DA|0)>>>0?V+1|0:V,KA=I=V-((eA>>>0<4293918720)-1|0)|0,W=(V=I>>21)+JA|0,W=(I=(2097151&I)<<11|($=eA- -1048576|0)>>>21)>>>0>(g=I+qA|0)>>>0?W+1|0:W,I=PI(dA,v,-997805,-1),Z=h+W|0,Z=I>>>0>(V=I+g|0)>>>0?Z+1|0:Z,SA=I=_A-(g=-2097152&O)|0,L=W=CA-((g>>>0>_A>>>0)+LA|0)|0,O=(g=PI(uA,R,136657,0))+V|0,V=h+Z|0,I=PI(I,W,-683901,-1),V=h+(g>>>0>O>>>0?V+1|0:V)|0,O=V=I>>>0>(CA=I+O|0)>>>0?V+1|0:V,kA=I=V-((CA>>>0<4293918720)-1|0)|0,V=(W=I>>21)+T|0,g=V=(T=DA=(I=(2097151&I)<<11|(Z=CA- -1048576|0)>>>21)+PA|0)>>>0>>0?V+1|0:V,_A=V=V-((T>>>0<4293918720)-1|0)|0,DA=(2097151&V)<<11|(I=T- -1048576|0)>>>21,V=(V>>21)+RA|0,RA=JA=DA+P|0,DA=DA>>>0>JA>>>0?V+1|0:V,LA=T-(I&=-2097152)|0,PA=g-((I>>>0>T>>>0)+_A|0)|0,qA=CA-(I=-2097152&Z)|0,JA=O-((I>>>0>CA>>>0)+kA|0)|0,I=PI(dA,v,654183,0),W=h+(IA-(((g=-2097152&$)>>>0>eA>>>0)+KA|0)|0)|0,W=I>>>0>(V=I+(eA-g|0)|0)>>>0?W+1|0:W,g=(I=PI(uA,R,-997805,-1))+V|0,V=h+W|0,V=I>>>0>g>>>0?V+1|0:V,I=PI(SA,L,136657,0),V=h+V|0,KA=g=I+g|0,I=I>>>0>g>>>0?V+1|0:V,kA=MA-(g=-2097152&BA)|0,eA=QA-((g>>>0>MA>>>0)+z|0)|0,g=PI(K,d,-997805,-1),V=h,Z=(W=g)+(g=PI(S,x,654183,0))|0,W=h+V|0,W=g>>>0>Z>>>0?W+1|0:W,g=PI(N,G,136657,0),V=h+W|0,V=g>>>0>(Z=g+Z|0)>>>0?V+1|0:V,g=PI(Y,b,-683901,-1),V=h+V|0,W=cA+(g>>>0>(Z=g+Z|0)>>>0?V+1|0:V)|0,BA=(V=Z+bA|0)-(g=-2097152&oA)|0,cA=(W=V>>>0>>0?W+1|0:W)-((g>>>0>V>>>0)+j|0)|0,g=PI(K,d,654183,0),V=h,Z=(W=g)+(g=PI(S,x,470296,0))|0,W=h+V|0,W=g>>>0>Z>>>0?W+1|0:W,g=PI(N,G,-997805,-1),V=h+W|0,W=iA+(g>>>0>(Z=g+Z|0)>>>0?V+1|0:V)|0,W=(g=Z+GA|0)>>>0>>0?W+1|0:W,Z=(V=g)+(g=PI(Y,b,136657,0))|0,V=h+W|0,V=g>>>0>Z>>>0?V+1|0:V,W=(g=PI(M,H,-683901,-1))+Z|0,Z=h+V|0,Z=g>>>0>W>>>0?Z+1|0:Z,$=W-(g=-2097152&rA)|0,O=Z-((g>>>0>W>>>0)+q|0)|0,g=PI(C,0,hA,0),V=h,W=g,g=PI(Q,0,k,0),V=h+V|0,V=g>>>0>(W=W+g|0)>>>0?V+1|0:V,g=PI(a,0,i,0),V=h+V|0,V=g>>>0>(W=g+W|0)>>>0?V+1|0:V,g=PI(E,F,c,0),Z=h+V|0,Z=g>>>0>(W=g+W|0)>>>0?Z+1|0:Z,V=(g=PI(B,0,e,0))+W|0,W=h+Z|0,W=g>>>0>V>>>0?W+1|0:W,g=PI(_,0,n,0),W=h+W|0,W=g>>>0>(V=g+V|0)>>>0?W+1|0:W,Z=(g=PI(o,0,s,0))+V|0,V=h+W|0,V=g>>>0>Z>>>0?V+1|0:V,g=PI(p,0,f,EA),V=h+V|0,V=g>>>0>(W=g+Z|0)>>>0?V+1|0:V,g=PI(l,0,pA,0),Z=h+V|0,Z=g>>>0>(W=g+W|0)>>>0?Z+1|0:Z,V=(g=PI(y,0,u,0))+W|0,W=h+Z|0,W=g>>>0>V>>>0?W+1|0:W,g=PI(w,0,lA,0),W=h+W|0,W=g>>>0>(V=g+V|0)>>>0?W+1|0:W,Z=(g=PI(m,0,D,0))+V|0,V=h+W|0,V=(wA>>>21|0)+(V=g>>>0>Z>>>0?V+1|0:V)|0,CA=V=(g=(2097151&wA)<<11|UA>>>21)>>>0>(oA=g+Z|0)>>>0?V+1|0:V,GA=g=V-((oA>>>0<4293918720)-1|0)|0,W=(W=g>>>21|0)+O|0,IA=W=(g=(2097151&g)<<11|(T=oA- -1048576|0)>>>21)>>>0>(QA=g+$|0)>>>0?W+1|0:W,_A=g=W-((QA>>>0<4293918720)-1|0)|0,V=(W=g>>21)+cA|0,O=V=(g=(2097151&g)<<11|($=QA- -1048576|0)>>>21)>>>0>(BA=g+BA|0)>>>0?V+1|0:V,rA=V=V-((BA>>>0<4293918720)-1|0)|0,W=(W=V>>21)+eA|0,eA=W=(V=(Z=(2097151&V)<<11|(g=BA- -1048576|0)>>>21)+kA|0)>>>0>>0?W+1|0:W,UA=V,W=PI(V,W,-683901,-1),V=h+I|0,cA=Z=W+KA|0,I=W>>>0>Z>>>0?V+1|0:V,V=PI(dA,v,470296,0),Z=h+(gA-(((W=-2097152&AA)>>>0>mA>>>0)+vA|0)|0)|0,Z=V>>>0>(AA=V+(mA-W|0)|0)>>>0?Z+1|0:Z,V=PI(uA,R,654183,0),W=h+Z|0,W=V>>>0>(AA=V+AA|0)>>>0?W+1|0:W,Z=PI(SA,L,-997805,-1),V=h+W|0,V=Z>>>0>(AA=Z+AA|0)>>>0?V+1|0:V,wA=g=BA-(W=-2097152&g)|0,EA=O=O-((W>>>0>BA>>>0)+rA|0)|0,AA=(Z=PI(UA,eA,136657,0))+AA|0,W=h+V|0,g=PI(g,O,-683901,-1),Z=h+(Z>>>0>AA>>>0?W+1|0:W)|0,O=Z=g>>>0>(gA=g+AA|0)>>>0?Z+1|0:Z,iA=W=Z-((gA>>>0<4293918720)-1|0)|0,Z=(2097151&W)<<11|(g=gA- -1048576|0)>>>21,W=(W>>21)+I|0,rA=Z=(W=Z>>>0>(AA=Z+cA|0)>>>0?W+1|0:W)-((AA>>>0<4293918720)-1|0)|0,BA=(2097151&Z)<<11|(I=AA- -1048576|0)>>>21,Z=(Z>>21)+JA|0,cA=BA>>>0>(pA=cA=BA+qA|0)>>>0?Z+1|0:Z,hA=AA-(I&=-2097152)|0,lA=W-((I>>>0>AA>>>0)+rA|0)|0,bA=gA-(I=-2097152&g)|0,MA=O-((I>>>0>gA>>>0)+iA|0)|0,I=PI(dA,v,666643,0),W=h+(nA-(((g=-2097152&tA)>>>0>FA>>>0)+xA|0)|0)|0,W=I>>>0>(V=I+(FA-g|0)|0)>>>0?W+1|0:W,I=PI(uA,R,470296,0),Z=h+W|0,Z=I>>>0>(g=I+V|0)>>>0?Z+1|0:Z,I=PI(SA,L,654183,0),W=h+Z|0,AA=g=I+g|0,I=I>>>0>g>>>0?W+1|0:W,$=QA-(g=-2097152&$)|0,O=IA-((g>>>0>QA>>>0)+_A|0)|0,g=PI(K,d,470296,0),V=h,W=g,g=PI(S,x,666643,0),V=h+V|0,V=g>>>0>(W=W+g|0)>>>0?V+1|0:V,g=PI(N,G,654183,0),Z=h+V|0,Z=g>>>0>(W=g+W|0)>>>0?Z+1|0:Z,V=(g=PI(Y,b,-997805,-1))+W|0,W=h+Z|0,W=g>>>0>V>>>0?W+1|0:W,g=PI(M,H,136657,0),W=h+W|0,V=CA+(g>>>0>(Z=g+V|0)>>>0?W+1|0:W)|0,V=(g=Z+oA|0)>>>0>>0?V+1|0:V,W=g,g=PI(J,U,-683901,-1),V=h+V|0,V=g>>>0>(Z=W+g|0)>>>0?V+1|0:V,iA=(g=(2097151&YA)<<11|HA>>>21)+(Z-(W=-2097152&T)|0)|0,W=(V-((W>>>0>Z>>>0)+GA|0)|0)+(YA>>21)|0,QA=W=g>>>0>iA>>>0?W+1|0:W,_A=g=W-((iA>>>0<4293918720)-1|0)|0,W=(V=g>>21)+O|0,HA=W=(g=(Z=(2097151&g)<<11|(BA=iA- -1048576|0)>>>21)+$|0)>>>0>>0?W+1|0:W,YA=g,g=PI(g,W,-683901,-1),Z=h+I|0,Z=g>>>0>(V=g+AA|0)>>>0?Z+1|0:Z,I=PI(UA,eA,-997805,-1),W=h+Z|0,W=I>>>0>(g=I+V|0)>>>0?W+1|0:W,I=PI(wA,EA,136657,0),V=h+W|0,oA=g=I+g|0,$=I>>>0>g>>>0?V+1|0:V,T=fA-(I=-2097152&aA)|0,IA=yA-((I>>>0>fA>>>0)+X|0)|0,I=PI(C,0,y,0),g=h,V=I,I=PI(Q,0,l,0),W=h+g|0,W=I>>>0>(V=V+I|0)>>>0?W+1|0:W,I=PI(i,0,w,0),W=h+W|0,W=I>>>0>(g=I+V|0)>>>0?W+1|0:W,I=PI(e,0,D,0),V=h+W|0,I=I>>>0>(W=g=I+g|0)>>>0?V+1|0:V,g=PI(C,0,l,0),V=h,O=(Z=g)+(g=PI(Q,0,D,0))|0,Z=h+V|0,Z=g>>>0>O>>>0?Z+1|0:Z,g=PI(e,0,w,0),V=h+Z|0,g=V=g>>>0>(O=g+O|0)>>>0?V+1|0:V,dA=V=V-((O>>>0<4293918720)-1|0)|0,Z=V>>>21|0,rA=(V=(2097151&V)<<11|(nA=O- -1048576|0)>>>21)+W|0,W=I+Z|0,tA=W=V>>>0>rA>>>0?W+1|0:W,fA=I=W-((rA>>>0<4293918720)-1|0)|0,V=(Z=I>>>21|0)+IA|0,V=(I=(2097151&I)<<11|(gA=rA- -1048576|0)>>>21)>>>0>(W=I+T|0)>>>0?V+1|0:V,Z=(I=PI(uA,R,666643,0))+W|0,W=h+V|0,W=I>>>0>Z>>>0?W+1|0:W,I=PI(SA,L,470296,0),W=h+W|0,W=I>>>0>(V=I+Z|0)>>>0?W+1|0:W,Z=(I=PI(YA,HA,136657,0))+V|0,V=h+W|0,V=I>>>0>Z>>>0?V+1|0:V,W=(I=PI(UA,eA,654183,0))+Z|0,Z=h+V|0,Z=I>>>0>W>>>0?Z+1|0:Z,I=PI(wA,EA,-997805,-1),V=h+Z|0,CA=V=I>>>0>(AA=I+W|0)>>>0?V+1|0:V,FA=I=V-((AA>>>0<4293918720)-1|0)|0,W=(Z=I>>21)+$|0,mA=V=(W=(I=(V=(2097151&I)<<11|(T=AA- -1048576|0)>>>21)+oA|0)>>>0>>0?W+1|0:W)-((I>>>0<4293918720)-1|0)|0,$=(2097151&V)<<11|(IA=I- -1048576|0)>>>21,V=(V>>21)+MA|0,kA=aA=$+bA|0,oA=$>>>0>aA>>>0?V+1|0:V,$=I,Z=W,W=(QA-(((V=-2097152&BA)>>>0>iA>>>0)+_A|0)|0)+(NA>>21)|0,yA=W=(I=(iA-V|0)+(BA=(2097151&NA)<<11|sA>>>21)|0)>>>0>>0?W+1|0:W,GA=W=W-((I>>>0<4293918720)-1|0)|0,iA=V=W>>21,W=PI(uA=(2097151&W)<<11|(aA=I- -1048576|0)>>>21,V,-683901,-1),V=h+Z|0,V=W>>>0>($=W+$|0)>>>0?V+1|0:V,bA=$-(W=-2097152&IA)|0,MA=V-((W>>>0>$>>>0)+mA|0)|0,V=PI(uA,iA,136657,0),W=h+CA|0,W=V>>>0>(Z=V+AA|0)>>>0?W+1|0:W,_A=Z-(V=-2097152&T)|0,NA=W-((V>>>0>Z>>>0)+FA|0)|0,Z=(V=PI(SA,L,666643,0))+(rA-(W=-2097152&gA)|0)|0,W=h+(tA-((W>>>0>rA>>>0)+fA|0)|0)|0,W=V>>>0>Z>>>0?W+1|0:W,$=(V=PI(YA,HA,-997805,-1))+Z|0,Z=h+W|0,Z=V>>>0>$>>>0?Z+1|0:Z,W=PI(UA,eA,470296,0),V=h+Z|0,V=W>>>0>($=W+$|0)>>>0?V+1|0:V,Z=PI(wA,EA,654183,0),W=h+V|0,sA=$=Z+$|0,CA=Z>>>0>$>>>0?W+1|0:W,$=O,O=g,g=PI(Q,0,w,0),V=h,W=g,g=PI(C,0,D,0),V=h+V|0,V=g>>>0>(Z=W+g|0)>>>0?V+1|0:V,g=PI(C,0,w,0),fA=W=h,QA=g,tA=g- -1048576|0,FA=g=W-((g>>>0<4293918720)-1|0)|0,W=g>>>21|0,BA=(g=(2097151&g)<<11|tA>>>21)+Z|0,Z=W+V|0,gA=Z=g>>>0>BA>>>0?Z+1|0:Z,mA=g=Z-((BA>>>0<4293918720)-1|0)|0,V=(W=g>>>21|0)+O|0,V=(g=(2097151&g)<<11|(AA=BA- -1048576|0)>>>21)>>>0>(Z=g+$|0)>>>0?V+1|0:V,O=(g=PI(YA,HA,654183,0))+(Z-(W=-2097152&nA)|0)|0,Z=h+(V-((8191&dA)+(W>>>0>Z>>>0)|0)|0)|0,Z=g>>>0>O>>>0?Z+1|0:Z,g=PI(UA,eA,666643,0),W=h+Z|0,W=g>>>0>(V=g+O|0)>>>0?W+1|0:W,T=(g=PI(wA,EA,470296,0))+V|0,V=h+W|0,IA=V=g>>>0>T>>>0?V+1|0:V,rA=g=V-((T>>>0<4293918720)-1|0)|0,W=(W=g>>21)+CA|0,Z=W=(g=(2097151&g)<<11|($=T- -1048576|0)>>>21)>>>0>(O=g+sA|0)>>>0?W+1|0:W,nA=V=W-((O>>>0<4293918720)-1|0)|0,CA=(2097151&V)<<11|(g=O- -1048576|0)>>>21,V=(V>>21)+NA|0,CA=CA>>>0>(eA=sA=CA+_A|0)>>>0?V+1|0:V,W=PI(uA,iA,-997805,-1),V=h+Z|0,UA=(O=W+O|0)-(g&=-2097152)|0,NA=(W>>>0>O>>>0?V+1|0:V)-((g>>>0>O>>>0)+nA|0)|0,g=PI(uA,iA,654183,0),Z=h+IA|0,Z=g>>>0>(V=g+T|0)>>>0?Z+1|0:Z,sA=V-(g=-2097152&$)|0,rA=Z-((g>>>0>V>>>0)+rA|0)|0,g=PI(YA,HA,470296,0),W=h+(gA-((8191&mA)+((V=-2097152&AA)>>>0>BA>>>0)|0)|0)|0,W=g>>>0>(Z=g+(BA-V|0)|0)>>>0?W+1|0:W,g=PI(wA,EA,666643,0),W=h+W|0,W=g>>>0>(V=g+Z|0)>>>0?W+1|0:W,O=V,g=PI(YA,HA,666643,0),Z=h+(fA-((2047&FA)+((V=-2097152&tA)>>>0>QA>>>0)|0)|0)|0,T=Z=g>>>0>(AA=g+(QA-V|0)|0)>>>0?Z+1|0:Z,nA=g=Z-((AA>>>0<4293918720)-1|0)|0,W=W+(V=g>>21)|0,tA=g=(W=(g=(2097151&g)<<11|(IA=AA- -1048576|0)>>>21)>>>0>($=g+O|0)>>>0?W+1|0:W)-(($>>>0<4293918720)-1|0)|0,Z=(V=g>>21)+rA|0,g=(g=(2097151&g)<<11|(O=$- -1048576|0)>>>21)>>>0>(gA=g+sA|0)>>>0?Z+1|0:Z,V=PI(uA,iA,470296,0),W=h+W|0,W=V>>>0>(Z=V+$|0)>>>0?W+1|0:W,O=Z-(V=-2097152&O)|0,$=W-((V>>>0>Z>>>0)+tA|0)|0,V=PI(uA,iA,666643,0),Z=h+(T-(((W=-2097152&IA)>>>0>AA>>>0)+nA|0)|0)|0,V=(W=(Z=V>>>0>(QA=V+(AA-W|0)|0)>>>0?Z+1|0:Z)>>21)+$|0,W=g+(Z=(V=(Z=(2097151&Z)<<11|QA>>>21)>>>0>(O=Z+O|0)>>>0?V+1|0:V)>>21)|0,V=(V=(W=(g=$=(V=(2097151&V)<<11|O>>>21)+gA|0)>>>0>>0?W+1|0:W)>>21)+NA|0,W=(W=(V=(W=(2097151&W)<<11|g>>>21)>>>0>(BA=W+UA|0)>>>0?V+1|0:V)>>21)+CA|0,Z=(V=(W=(V=(2097151&V)<<11|BA>>>21)>>>0>(nA=V+eA|0)>>>0?W+1|0:W)>>21)+MA|0,V=(W=(Z=(W=(2097151&W)<<11|nA>>>21)>>>0>(tA=W+bA|0)>>>0?Z+1|0:Z)>>21)+oA|0,W=(Z=(V=(Z=(2097151&Z)<<11|tA>>>21)>>>0>(gA=Z+kA|0)>>>0?V+1|0:V)>>21)+lA|0,V=(V=(W=(V=(2097151&V)<<11|gA>>>21)>>>0>(AA=V+hA|0)>>>0?W+1|0:W)>>21)+cA|0,W=(W=(V=(W=(2097151&W)<<11|AA>>>21)>>>0>(CA=W+pA|0)>>>0?V+1|0:V)>>21)+PA|0,Z=(V=(W=(V=(2097151&V)<<11|CA>>>21)>>>0>(T=V+LA|0)>>>0?W+1|0:W)>>21)+DA|0,W=(yA-((I>>>0<(V=-2097152&aA)>>>0)+GA|0)|0)+((Z=(W=(2097151&W)<<11|T>>>21)>>>0>(IA=W+RA|0)>>>0?Z+1|0:Z)>>21)|0,aA=V=(W=($=(aA=I-V|0)+((2097151&Z)<<11|IA>>>21)|0)>>>0>>0?W+1|0:W)>>21,I=(I=PI(yA=(2097151&W)<<11|$>>>21,V,666643,0))+(V=2097151&QA)|0,Z=h,t[0|A]=I,Z=I>>>0>>0?Z+1|0:Z,t[A+1|0]=(255&Z)<<24|I>>>8,V=2097151&O,O=PI(yA,aA,470296,0)+V|0,W=h,W=(Z>>21)+(W=V>>>0>O>>>0?W+1|0:W)|0,W=(O=(QA=(2097151&Z)<<11|I>>>21)+O|0)>>>0>>0?W+1|0:W,t[A+4|0]=(2047&W)<<21|O>>>11;t[A+3|0]=(7&W)<<29|O>>>3,t[A+2|0]=31&((65535&Z)<<16|I>>>16)|O<<5,I=2097151&g,g=PI(yA,aA,654183,0)+I|0,Z=h,Z=I>>>0>g>>>0?Z+1|0:Z,I=W,V=(W>>=21)+Z|0,I=V=(I=(2097151&I)<<11|O>>>21)>>>0>(g=I+g|0)>>>0?V+1|0:V,t[A+6|0]=(63&V)<<26|g>>>6,W=0,t[A+5|0]=W<<13|(1572864&O)>>>19|g<<2,W=2097151&BA,Z=PI(yA,aA,-997805,-1)+W|0,V=h,V=W>>>0>Z>>>0?V+1|0:V,W=(W=I>>21)+V|0,W=(I=(O=Z)+(Z=(2097151&I)<<11|g>>>21)|0)>>>0>>0?W+1|0:W,t[A+9|0]=(511&W)<<23|I>>>9,t[A+8|0]=(1&W)<<31|I>>>1,V=0,t[A+7|0]=V<<18|(2080768&g)>>>14|I<<7,g=2097151&nA,V=PI(yA,aA,136657,0)+g|0,Z=h,Z=g>>>0>V>>>0?Z+1|0:Z,g=(O=(2097151&(g=W))<<11|I>>>21)+V|0,V=(W>>=21)+Z|0,V=g>>>0>>0?V+1|0:V,t[A+12|0]=(4095&V)<<20|g>>>12,t[A+11|0]=(15&V)<<28|g>>>4,W=0,t[A+10|0]=W<<15|(1966080&I)>>>17|g<<4,I=2097151&tA,Z=PI(yA,aA,-683901,-1)+I|0,W=h,W=I>>>0>Z>>>0?W+1|0:W,I=V,V=W+(V>>=21)|0,V=(I=(O=Z)+(Z=(2097151&I)<<11|g>>>21)|0)>>>0>>0?V+1|0:V,t[A+14|0]=(127&V)<<25|I>>>7,W=0,t[A+13|0]=W<<12|(1048576&g)>>>20|I<<1,W=V>>21,W=(g=(V=(2097151&V)<<11|I>>>21)+(2097151&gA)|0)>>>0>>0?W+1|0:W,t[A+17|0]=(1023&W)<<22|g>>>10,t[A+16|0]=(3&W)<<30|g>>>2,V=0,t[A+15|0]=V<<17|(2064384&I)>>>15|g<<6,I=W,W>>=21,Z=(I=(V=(2097151&I)<<11|g>>>21)+(2097151&AA)|0)>>>0>>0?W+1|0:W,t[A+20|0]=(8191&Z)<<19|I>>>13,t[A+19|0]=(31&Z)<<27|I>>>5,V=Z>>21,V=(W=(O=(2097151&Z)<<11|I>>>21)+(2097151&CA)|0)>>>0>>0?V+1|0:V,O=W,t[A+21|0]=W,W=0,t[A+18|0]=W<<14|(1835008&g)>>>18|I<<3,t[A+22|0]=(255&V)<<24|O>>>8,W=V>>21,W=(I=(g=(2097151&V)<<11|O>>>21)+(2097151&T)|0)>>>0>>0?W+1|0:W,t[A+25|0]=(2047&W)<<21|I>>>11,t[A+24|0]=(7&W)<<29|I>>>3,t[A+23|0]=31&((65535&V)<<16|O>>>16)|I<<5,V=(2097151&W)<<11|I>>>21,W>>=21,W=(g=V+(2097151&IA)|0)>>>0>>0?W+1|0:W,t[A+27|0]=(63&W)<<26|g>>>6,V=0,t[A+26|0]=V<<13|(1572864&I)>>>19|g<<2,V=W>>21,V=(I=(W=(2097151&W)<<11|g>>>21)+(2097151&$)|0)>>>0>>0?V+1|0:V,t[A+31|0]=(131071&V)<<15|I>>>17,t[A+30|0]=(511&V)<<23|I>>>9,t[A+29|0]=(1&V)<<31|I>>>1,W=0,t[A+28|0]=W<<18|(2080768&g)>>>14|I<<7}function w(A,I,g,C){for(var B=0,a=0,Q=0,t=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0;Q=(B=c<<3)+g|0,a=r[0|(B=I+B|0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,F=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,o=a<<24|(65280&a)<<8,E=(n=16711680&a)<<24,n=n>>>8|0,B=(e=-16777216&a)>>>24|0,i[Q>>2]=E|e<<8|-16777216&((255&F)<<24|a>>>8)|16711680&((16777215&F)<<8|a>>>24)|F>>>8&65280|F>>>24,a=B|n|o,B=0,i[Q+4>>2]=a|B|B,16!=(0|(c=c+1|0)););for(I=i[A+4>>2],i[C>>2]=i[A>>2],i[C+4>>2]=I,I=i[A+60>>2],i[C+56>>2]=i[A+56>>2],i[C+60>>2]=I,I=i[A+52>>2],i[C+48>>2]=i[A+48>>2],i[C+52>>2]=I,I=i[A+44>>2],i[C+40>>2]=i[A+40>>2],i[C+44>>2]=I,I=i[A+36>>2],i[C+32>>2]=i[A+32>>2],i[C+36>>2]=I,I=i[A+28>>2],i[C+24>>2]=i[A+24>>2],i[C+28>>2]=I,I=i[A+20>>2],i[C+16>>2]=i[A+16>>2],i[C+20>>2]=I,I=i[A+12>>2],i[C+8>>2]=i[A+8>>2],i[C+12>>2]=I;e=i[C+56>>2],o=i[C+60>>2],B=i[(I=F=(S=P<<3)+g|0)>>2],I=i[I+4>>2],D=a=i[C+36>>2],a=fI(c=i[C+32>>2],a,50),Q=h,a=fI(c,D,46)^a,Q^=h,a=fI(c,D,23)^a,I=(h^Q)+I|0,I=(B=a+B|0)>>>0>>0?I+1|0:I,B=(Q=i[(a=S+34464|0)>>2])+B|0,I=i[a+4>>2]+I|0,I=B>>>0>>0?I+1|0:I,a=(E=((Q=i[C+48>>2])^(n=i[C+40>>2]))&c^Q)+B|0,B=(((u=i[C+52>>2])^(_=i[C+44>>2]))&D^u)+I|0,I=(a>>>0>>0?B+1|0:B)+o|0,I=(B=a)>>>0>(a=a+e|0)>>>0?I+1|0:I,e=(o=i[C+24>>2])+a|0,B=i[C+28>>2]+I|0,y=B=o>>>0>e>>>0?B+1|0:B,i[C+24>>2]=e,i[C+28>>2]=B,m=B=i[C+4>>2],B=fI(p=i[C>>2],B,36),o=h,B=fI(p,m,30)^B,E=h^o,o=a+(fI(p,m,25)^B)|0,B=I+(h^E)|0,B=a>>>0>o>>>0?B+1|0:B,E=(I=o)+(o=p&((a=i[C+16>>2])|(f=i[C+8>>2]))|a&f)|0,I=(I=B)+(m&((B=i[C+20>>2])|(w=i[C+12>>2]))|B&w)|0,o=I=o>>>0>E>>>0?I+1|0:I,i[C+56>>2]=E,i[C+60>>2]=I,t=a,s=B,k=i[(I=d=(l=8|S)+g|0)>>2],J=i[I+4>>2],B=((_^D)&y^_)+u|0,B=(I=(a=(n^c)&e^n)+Q|0)>>>0>>0?B+1|0:B,a=fI(e,y,50),Q=h,a=fI(e,y,46)^a,Q^=h,a=(u=fI(e,y,23)^a)+I|0,I=(h^Q)+B|0,I=(a>>>0>>0?I+1|0:I)+J|0,I=(B=a+k|0)>>>0>>0?I+1|0:I,a=(a=B)+(Q=i[(B=l+34464|0)>>2])|0,B=i[B+4>>2]+I|0,B=(I=a>>>0>>0?B+1|0:B)+s|0,l=B=(t=a+t|0)>>>0>>0?B+1|0:B,i[C+16>>2]=t,i[C+20>>2]=B,I=I+((w|m)&o|w&m)|0,I=(B=a+((p|f)&E|p&f)|0)>>>0>>0?I+1|0:I,a=fI(E,o,36),Q=h,a=fI(E,o,30)^a,s=h^Q,Q=B,B=fI(E,o,25)^a,I=(h^s)+I|0,s=I=B>>>0>(Q=Q+B|0)>>>0?I+1|0:I,i[C+48>>2]=Q,i[C+52>>2]=I,I=(I=n)+(n=i[(B=J=(a=16|S)+g|0)>>2])|0,B=i[B+4>>2]+_|0,B=I>>>0>>0?B+1|0:B,a=(_=I)+(n=i[(I=a+34464|0)>>2])|0,I=i[I+4>>2]+B|0,I=((y^D)&l^D)+(I=a>>>0>>0?I+1|0:I)|0,I=(B=(B=a)+(a=(e^c)&t^c)|0)>>>0>>0?I+1|0:I,a=fI(t,l,50),n=h,a=fI(t,l,46)^a,n^=h,a=(_=fI(t,l,23)^a)+B|0,B=(h^n)+I|0,u=B=a>>>0<_>>>0?B+1|0:B,I=B,B=fI(Q,s,36),n=h,B=fI(Q,s,30)^B,_=h^n,k=fI(Q,s,25)^B,B=((o|m)&s|o&m)+(h^_)|0,I=((n=k+((E|p)&Q|E&p)|0)>>>0>>0?B+1|0:B)+I|0,_=I=(B=n)>>>0>(n=a+n|0)>>>0?I+1|0:I,i[C+40>>2]=n,i[C+44>>2]=I,B=u+w|0,w=B=(f=a+f|0)>>>0>>0?B+1|0:B,i[C+8>>2]=f,i[C+12>>2]=B,B=(B=c)+(c=i[(I=M=(a=24|S)+g|0)>>2])|0,I=i[I+4>>2]+D|0,I=B>>>0>>0?I+1|0:I,a=(D=B)+(c=i[(B=a+34464|0)>>2])|0,B=i[B+4>>2]+I|0,B=(y^(y^l)&w)+(B=a>>>0>>0?B+1|0:B)|0,B=(I=(I=a)+(a=e^(e^t)&f)|0)>>>0>>0?B+1|0:B,a=fI(f,w,50),c=h,a=fI(f,w,46)^a,c^=h,a=(u=fI(f,w,23)^a)+I|0,I=(h^c)+B|0,I=a>>>0>>0?I+1|0:I,B=fI(n,_,36),c=h,B=fI(n,_,30)^B,u=h^c,D=fI(n,_,25)^B,B=((o|s)&_|o&s)+(h^u)|0,B=((c=D+((Q|E)&n|Q&E)|0)>>>0>>0?B+1|0:B)+I|0,u=B=(D=c)>>>0>(c=a+c|0)>>>0?B+1|0:B,i[C+32>>2]=c,i[C+36>>2]=B,I=I+m|0,m=I=(p=a+p|0)>>>0>>0?I+1|0:I,i[C>>2]=p,i[C+4>>2]=I,a=i[(B=K=(I=32|S)+g|0)>>2],B=y+i[B+4>>2]|0,B=(a=a+e|0)>>>0>>0?B+1|0:B,a=(e=i[(I=I+34464|0)>>2])+a|0,I=i[I+4>>2]+B|0,I=(l^(l^w)&m)+(I=a>>>0>>0?I+1|0:I)|0,I=(B=(B=a)+(a=t^(t^f)&p)|0)>>>0>>0?I+1|0:I,a=fI(p,m,50),e=h,a=fI(p,m,46)^a,e^=h,a=(y=fI(p,m,23)^a)+B|0,B=(h^e)+I|0,D=B=a>>>0>>0?B+1|0:B,I=B,B=fI(c,u,36),e=h,B=fI(c,u,30)^B,y=h^e,k=fI(c,u,25)^B,B=((_|s)&u|_&s)+(h^y)|0,I=((e=k+((Q|n)&c|Q&n)|0)>>>0>>0?B+1|0:B)+I|0,e=I=(y=a+e|0)>>>0>>0?I+1|0:I,i[C+24>>2]=y,i[C+28>>2]=I,B=o+D|0,D=B=(o=a+E|0)>>>0>>0?B+1|0:B,i[C+56>>2]=o,i[C+60>>2]=B,a=i[(I=Y=(B=40|S)+g|0)>>2],I=l+i[I+4>>2]|0,I=(a=a+t|0)>>>0>>0?I+1|0:I,a=(E=i[(B=B+34464|0)>>2])+a|0,B=i[B+4>>2]+I|0,B=(w^(w^m)&D)+(B=a>>>0>>0?B+1|0:B)|0,B=(I=(I=a)+(a=f^(p^f)&o)|0)>>>0>>0?B+1|0:B,a=fI(o,D,50),E=h,a=fI(o,D,46)^a,E^=h,a=(t=fI(o,D,23)^a)+I|0,I=(h^E)+B|0,I=a>>>0>>0?I+1|0:I,B=fI(y,e,36),E=h,B=fI(y,e,30)^B,t=h^E,l=fI(y,e,25)^B,B=((_|u)&e|_&u)+(h^t)|0,B=((E=l+((n|c)&y|n&c)|0)>>>0>>0?B+1|0:B)+I|0,E=B=(t=a+E|0)>>>0>>0?B+1|0:B,i[C+16>>2]=t,i[C+20>>2]=B,I=I+s|0,l=I=(s=a+Q|0)>>>0>>0?I+1|0:I,i[C+48>>2]=s,i[C+52>>2]=I,a=i[(B=U=(I=48|S)+g|0)>>2],B=w+i[B+4>>2]|0,B=(a=a+f|0)>>>0>>0?B+1|0:B,a=(Q=i[(I=I+34464|0)>>2])+a|0,I=i[I+4>>2]+B|0,I=(m^(D^m)&l)+(I=a>>>0>>0?I+1|0:I)|0,I=(B=(B=a)+(a=p^(o^p)&s)|0)>>>0>>0?I+1|0:I,a=fI(s,l,50),Q=h,a=fI(s,l,46)^a,Q^=h,a=(f=fI(s,l,23)^a)+B|0,B=(h^Q)+I|0,w=B=a>>>0>>0?B+1|0:B,I=B,B=fI(t,E,36),Q=h,B=fI(t,E,30)^B,f=h^Q,k=fI(t,E,25)^B,B=((e|u)&E|e&u)+(h^f)|0,I=((Q=k+((c|y)&t|c&y)|0)>>>0>>0?B+1|0:B)+I|0,f=I=(B=Q)>>>0>(Q=a+Q|0)>>>0?I+1|0:I,i[C+8>>2]=Q,i[C+12>>2]=I,B=_+w|0,w=B=(k=a+n|0)>>>0>>0?B+1|0:B,i[C+40>>2]=k,i[C+44>>2]=B,a=i[(I=H=(B=56|S)+g|0)>>2],I=m+i[I+4>>2]|0,I=(a=a+p|0)>>>0

>>0?I+1|0:I,a=(n=i[(B=B+34464|0)>>2])+a|0,B=i[B+4>>2]+I|0,B=(D^(l^D)&w)+(B=a>>>0>>0?B+1|0:B)|0,B=(I=(I=a)+(a=o^(o^s)&k)|0)>>>0>>0?B+1|0:B,a=fI(k,w,50),n=h,a=fI(k,w,46)^a,n^=h,a=(_=fI(k,w,23)^a)+I|0,I=(h^n)+B|0,I=a>>>0<_>>>0?I+1|0:I,B=fI(Q,f,36),n=h,B=fI(Q,f,30)^B,_=h^n,p=fI(Q,f,25)^B,B=((e|E)&f|e&E)+(h^_)|0,B=((n=p+((t|y)&Q|t&y)|0)>>>0

>>0?B+1|0:B)+I|0,_=B=(_=n)>>>0>(n=a+n|0)>>>0?B+1|0:B,i[C>>2]=n,i[C+4>>2]=B,I=I+u|0,m=I=(B=c)>>>0>(c=a+c|0)>>>0?I+1|0:I,i[C+32>>2]=c,i[C+36>>2]=I,a=i[(B=x=(I=64|S)+g|0)>>2],B=D+i[B+4>>2]|0,B=(a=a+o|0)>>>0>>0?B+1|0:B,a=(o=i[(I=I+34464|0)>>2])+a|0,I=i[I+4>>2]+B|0,I=(l^(l^w)&m)+(I=a>>>0>>0?I+1|0:I)|0,I=(B=(B=a)+(a=s^(s^k)&c)|0)>>>0>>0?I+1|0:I,a=fI(c,m,50),o=h,a=fI(c,m,46)^a,o^=h,a=(u=fI(c,m,23)^a)+B|0,B=(h^o)+I|0,p=B=a>>>0>>0?B+1|0:B,I=B,B=fI(n,_,36),o=h,B=fI(n,_,30)^B,u=h^o,D=fI(n,_,25)^B,B=((E|f)&_|E&f)+(h^u)|0,I=((o=D+((Q|t)&n|Q&t)|0)>>>0>>0?B+1|0:B)+I|0,o=I=(u=a+o|0)>>>0>>0?I+1|0:I,i[C+56>>2]=u,i[C+60>>2]=I,B=e+p|0,D=B=(e=a+y|0)>>>0>>0?B+1|0:B,i[C+24>>2]=e,i[C+28>>2]=B,a=i[(I=G=(B=72|S)+g|0)>>2],I=l+i[I+4>>2]|0,I=(a=a+s|0)>>>0>>0?I+1|0:I,a=(s=i[(B=B+34464|0)>>2])+a|0,B=i[B+4>>2]+I|0,B=(w^(w^m)&D)+(B=a>>>0>>0?B+1|0:B)|0,B=(I=(I=a)+(a=k^(c^k)&e)|0)>>>0>>0?B+1|0:B,a=fI(e,D,50),s=h,a=fI(e,D,46)^a,s^=h,a=(p=fI(e,D,23)^a)+I|0,I=(h^s)+B|0,I=a>>>0

>>0?I+1|0:I,B=fI(u,o,36),s=h,B=fI(u,o,30)^B,p=h^s,y=fI(u,o,25)^B,B=((_|f)&o|_&f)+(h^p)|0,B=((s=y+((Q|n)&u|Q&n)|0)>>>0>>0?B+1|0:B)+I|0,s=B=(p=a+s|0)>>>0>>0?B+1|0:B,i[C+48>>2]=p,i[C+52>>2]=B,I=I+E|0,l=I=(E=a+t|0)>>>0>>0?I+1|0:I,i[C+16>>2]=E,i[C+20>>2]=I,I=(t=i[(B=b=(a=80|S)+g|0)>>2])+k|0,B=i[B+4>>2]+w|0,B=I>>>0>>0?B+1|0:B,a=(y=I)+(t=i[(I=a+34464|0)>>2])|0,I=i[I+4>>2]+B|0,I=(m^(D^m)&l)+(I=a>>>0>>0?I+1|0:I)|0,I=(B=(B=a)+(a=c^(e^c)&E)|0)>>>0>>0?I+1|0:I,a=fI(E,l,50),t=h,a=fI(E,l,46)^a,t^=h,a=(y=fI(E,l,23)^a)+B|0,B=(h^t)+I|0,w=B=a>>>0>>0?B+1|0:B,I=B,B=fI(p,s,36),t=h,B=fI(p,s,30)^B,y=h^t,k=fI(p,s,25)^B,B=((o|_)&s|o&_)+(h^y)|0,I=((t=k+((n|u)&p|n&u)|0)>>>0>>0?B+1|0:B)+I|0,t=I=(y=a+t|0)>>>0>>0?I+1|0:I,i[C+40>>2]=y,i[C+44>>2]=I,B=f+w|0,w=B=(f=a+Q|0)>>>0>>0?B+1|0:B,i[C+8>>2]=f,i[C+12>>2]=B,B=34464+(I=88|S)|0,Q=i[(I=N=I+g|0)>>2],a=i[B>>2]+Q|0,I=i[B+4>>2]+i[I+4>>2]|0,B=m+(a>>>0>>0?I+1|0:I)|0,B=(D^(l^D)&w)+(B=(I=a+c|0)>>>0>>0?B+1|0:B)|0,B=(I=(a=e^(e^E)&f)+I|0)>>>0>>0?B+1|0:B,a=fI(f,w,50),Q=h,a=fI(f,w,46)^a,Q^=h,a=(c=fI(f,w,23)^a)+I|0,I=(h^Q)+B|0,I=a>>>0>>0?I+1|0:I,B=fI(y,t,36),Q=h,B=fI(y,t,30)^B,c=h^Q,m=fI(y,t,25)^B,B=((o|s)&t|o&s)+(h^c)|0,B=((Q=m+((p|u)&y|p&u)|0)>>>0>>0?B+1|0:B)+I|0,c=B=(c=Q)>>>0>(Q=a+Q|0)>>>0?B+1|0:B,i[C+32>>2]=Q,i[C+36>>2]=B,I=I+_|0,_=I=(B=n)>>>0>(n=a+n|0)>>>0?I+1|0:I,i[C>>2]=n,i[C+4>>2]=I,B=34464+(I=96|S)|0,m=i[(I=v=I+g|0)>>2],a=i[B>>2]+m|0,B=i[B+4>>2]+i[I+4>>2]|0,I=D+(a>>>0>>0?B+1|0:B)|0,I=(B=a+e|0)>>>0>>0?I+1|0:I,a=(e=E^(E^f)&n)+B|0,B=(l^(l^w)&_)+I|0,B=a>>>0>>0?B+1|0:B,I=fI(n,_,50),e=h,I=fI(n,_,46)^I,e^=h,D=a,a=fI(n,_,23)^I,B=(h^e)+B|0,D=B=(I=D+a|0)>>>0>>0?B+1|0:B,a=I,I=fI(Q,c,36),e=h,I=fI(Q,c,30)^I,m=h^e,k=fI(Q,c,25)^I,I=((t|s)&c|t&s)+(h^m)|0,B=((e=k+((p|y)&Q|p&y)|0)>>>0>>0?I+1|0:I)+B|0,e=B=(m=a+e|0)>>>0>>0?B+1|0:B,i[C+24>>2]=m,i[C+28>>2]=B,B=o+D|0,o=B=(u=a+u|0)>>>0>>0?B+1|0:B,i[C+56>>2]=u,i[C+60>>2]=B,B=34464+(I=104|S)|0,D=i[(I=L=I+g|0)>>2],a=i[B>>2]+D|0,I=i[B+4>>2]+i[I+4>>2]|0,B=l+(a>>>0>>0?I+1|0:I)|0,B=(I=a+E|0)>>>0>>0?B+1|0:B,a=(E=f^(n^f)&u)+I|0,I=(w^(_^w)&o)+B|0,I=a>>>0>>0?I+1|0:I,B=fI(u,o,50),E=h,B=fI(u,o,46)^B,E^=h,l=fI(u,o,23)^B,B=(h^E)+I|0,D=B=(a=l+a|0)>>>0>>0?B+1|0:B,I=B,B=fI(m,e,36),E=h,B=fI(m,e,30)^B,l=h^E,k=fI(m,e,25)^B,B=((t|c)&e|t&c)+(h^l)|0,I=((E=k+((Q|y)&m|Q&y)|0)>>>0>>0?B+1|0:B)+I|0,E=I=(l=a+E|0)>>>0>>0?I+1|0:I,i[C+16>>2]=l,i[C+20>>2]=I,I=s+D|0,s=I=(p=a+p|0)>>>0>>0?I+1|0:I,i[C+48>>2]=p,i[C+52>>2]=I,B=34464+(I=112|S)|0,D=i[(a=k=I+g|0)>>2],I=i[B>>2]+D|0,B=i[B+4>>2]+i[a+4>>2]|0,B=w+(I>>>0>>0?B+1|0:B)|0,B=(_^(o^_)&s)+(B=(I=I+f|0)>>>0>>0?B+1|0:B)|0,B=(I=(a=n^(n^u)&p)+I|0)>>>0>>0?B+1|0:B,a=fI(p,s,50),f=h,a=fI(p,s,46)^a,f^=h,a=(w=fI(p,s,23)^a)+I|0,I=(h^f)+B|0,D=I=a>>>0>>0?I+1|0:I,B=I,I=fI(l,E,36),f=h,I=fI(l,E,30)^I,w=h^f,R=fI(l,E,25)^I,I=((e|c)&E|e&c)+(h^w)|0,B=((f=R+((Q|m)&l|Q&m)|0)>>>0>>0?I+1|0:I)+B|0,f=B=(w=a+f|0)>>>0>>0?B+1|0:B,i[C+8>>2]=w,i[C+12>>2]=B,B=t+D|0,a=B=(t=a+y|0)>>>0>>0?B+1|0:B,i[C+40>>2]=t,i[C+44>>2]=B,B=34464+(I=120|S)|0,S=i[(I=y=I+g|0)>>2],D=i[B>>2]+S|0,B=i[B+4>>2]+i[I+4>>2]|0,I=_+(D>>>0>>0?B+1|0:B)|0,I=(o^(o^s)&a)+(I=(B=n+D|0)>>>0>>0?I+1|0:I)|0,I=(B=(n=u^(p^u)&t)+B|0)>>>0>>0?I+1|0:I,n=fI(t,a,50),o=h,n=fI(t,a,46)^n,o^=h,a=(n=fI(t,a,23)^n)+B|0,B=(h^o)+I|0,B=a>>>0>>0?B+1|0:B,n=a,o=B,I=B,B=fI(w,f,36),t=h,B=fI(w,f,30)^B,s=h^t,_=fI(w,f,25)^B,B=((e|E)&f|e&E)+(h^s)|0,I=((t=_+((l|m)&w|l&m)|0)>>>0<_>>>0?B+1|0:B)+I|0,I=(a=a+t|0)>>>0>>0?I+1|0:I,i[C>>2]=a,i[C+4>>2]=I,B=o+c|0,B=(c=Q)>>>0>(Q=Q+n|0)>>>0?B+1|0:B,i[C+32>>2]=Q,i[C+36>>2]=B,64!=(0|P);)o=((P=P+16|0)<<3)+g|0,n=i[F>>2],c=i[F+4>>2],R=i[G>>2],e=I=i[G+4>>2],B=I,a=I=i[k+4>>2],I=fI(w=i[k>>2],I,45),Q=h,t=((63&a)<<26|w>>>6)^(I=fI(w,a,3)^I),I=(a>>>6^(E=h^Q))+B|0,B=((Q=t+R|0)>>>0>>0?I+1|0:I)+c|0,B=(I=Q+n|0)>>>0>>0?B+1|0:B,n=Q=i[d+4>>2],Q=fI(c=i[d>>2],Q,63),E=h,Q=((127&n)<<25|c>>>7)^fI(c,n,56)^Q,B=(h^E^n>>>7)+B|0,Q=B=Q>>>0>(m=Q+I|0)>>>0?B+1|0:B,i[o>>2]=m,i[o+4>>2]=B,c=(k=i[b>>2])+c|0,I=(o=i[b+4>>2])+n|0,B=c>>>0>>0?I+1|0:I,n=I=i[y+4>>2],I=fI(D=i[y>>2],I,45),E=h,t=c,c=((63&n)<<26|D>>>6)^fI(D,n,3)^I,B=(h^E^n>>>6)+B|0,c=(t=t+c|0)>>>0>>0?B+1|0:B,B=fI(E=i[J>>2],I=i[J+4>>2],63),s=h,y=t,t=((127&I)<<25|E>>>7)^fI(E,I,56)^B,B=(h^s^I>>>7)+c|0,c=B=t>>>0>(l=y+t|0)>>>0?B+1|0:B,i[F+136>>2]=l,i[F+140>>2]=B,B=(S=i[N>>2])+E|0,I=(E=i[N+4>>2])+I|0,t=fI(m,Q,45),s=h,t=(_=((63&Q)<<26|m>>>6)^fI(m,Q,3)^t)+B|0,B=(h^s^Q>>>6)+(B>>>0>>0?I+1|0:I)|0,B=t>>>0<_>>>0?B+1|0:B,s=I=i[M+4>>2],I=fI(_=i[M>>2],I,63),f=h,y=t,t=((127&s)<<25|_>>>7)^fI(_,s,56)^I,B=(h^f^s>>>7)+B|0,t=B=t>>>0>(d=y+t|0)>>>0?B+1|0:B,i[F+144>>2]=d,i[F+148>>2]=B,_=(J=i[v>>2])+_|0,I=(I=s)+(s=i[v+4>>2])|0,B=_>>>0>>0?I+1|0:I,I=fI(l,c,45),f=h,u=((63&c)<<26|l>>>6)^fI(l,c,3)^I,B=(h^f^c>>>6)+B|0,B=(_=u+_|0)>>>0>>0?B+1|0:B,f=I=i[K+4>>2],I=fI(u=i[K>>2],I,63),p=h,y=_,_=((127&f)<<25|u>>>7)^fI(u,f,56)^I,B=(h^p^f>>>7)+B|0,_=B=_>>>0>(M=y+_|0)>>>0?B+1|0:B,i[F+152>>2]=M,i[F+156>>2]=B,I=(K=i[L>>2])+u|0,B=(B=f)+(f=i[L+4>>2])|0,u=fI(d,t,45),p=h,u=((63&t)<<26|d>>>6)^fI(d,t,3)^u,B=(h^p^t>>>6)+(I>>>0>>0?B+1|0:B)|0,u=(y=u+I|0)>>>0>>0?B+1|0:B,B=fI(p=i[Y>>2],I=i[Y+4>>2],63),Y=h,N=y,y=((127&I)<<25|p>>>7)^(B=fI(p,I,56)^B),B=(I>>>7^(G=h^Y))+u|0,u=B=y>>>0>(Y=N+y|0)>>>0?B+1|0:B,i[F+160>>2]=Y,i[F+164>>2]=B,I=I+a|0,I=(B=p+w|0)>>>0

>>0?I+1|0:I,p=fI(M,_,45),y=h,p=(G=((63&_)<<26|M>>>6)^fI(M,_,3)^p)+B|0,B=(h^y^_>>>6)+I|0,B=p>>>0>>0?B+1|0:B,G=I=i[U+4>>2],I=fI(y=i[U>>2],I,63),U=h,I=fI(y,G,56)^I,N=p,B=(G>>>7^(b=h^U))+B|0,p=B=(p=((127&G)<<25|y>>>7)^I)>>>0>(U=N+p|0)>>>0?B+1|0:B,i[F+168>>2]=U,i[F+172>>2]=B,I=n+G|0,I=(B=y+D|0)>>>0>>0?I+1|0:I,N=y=i[H+4>>2],y=fI(b=i[H>>2],y,63),G=h,y=(H=((127&N)<<25|b>>>7)^fI(b,N,56)^y)+B|0,B=(h^G^N>>>7)+I|0,I=y>>>0>>0?B+1|0:B,B=fI(Y,u,45),G=h,B=fI(Y,u,3)^B,H=h^G,G=y,I=(u>>>6^H)+I|0,y=I=(y=((63&u)<<26|Y>>>6)^B)>>>0>(G=G+y|0)>>>0?I+1|0:I,i[F+176>>2]=G,i[F+180>>2]=I,v=i[x>>2],x=I=i[x+4>>2],H=I,I=fI(R,e,63),B=h,L=((127&e)<<25|R>>>7)^fI(R,e,56)^I,I=(h^B^e>>>7)+c|0,B=((l=L+l|0)>>>0>>0?I+1|0:I)+H|0,B=(I=l+v|0)>>>0>>0?B+1|0:B,c=fI(G,y,45),l=h,H=(c=((63&y)<<26|G>>>6)^fI(G,y,3)^c)+I|0,I=(h^l^y>>>6)+B|0,c=I=c>>>0>H>>>0?I+1|0:I,i[F+192>>2]=H,i[F+196>>2]=I,B=Q+N|0,B=(I=m+b|0)>>>0>>0?B+1|0:B,l=fI(v,x,63),b=h,N=((127&x)<<25|v>>>7)^fI(v,x,56)^l,B=(h^b^x>>>7)+B|0,I=(l=N+I|0)>>>0>>0?B+1|0:B,B=fI(U,p,45),b=h,B=fI(U,p,3)^B,x=l,I=(p>>>6^(N=h^b))+I|0,l=I=(l=((63&p)<<26|U>>>6)^B)>>>0>(b=x+l|0)>>>0?I+1|0:I,i[F+184>>2]=b,i[F+188>>2]=I,I=fI(S,E,63),B=h,I=((127&E)<<25|S>>>7)^fI(S,E,56)^I,B=(h^B^E>>>7)+o|0,I=_+(I>>>0>(N=I+k|0)>>>0?B+1|0:B)|0,I=(B=M+N|0)>>>0>>0?I+1|0:I,_=fI(H,c,45),M=h,_=fI(H,c,3)^_,N=h^M,M=(_^=(63&c)<<26|H>>>6)+B|0,B=(c>>>6^N)+I|0,_=B=_>>>0>M>>>0?B+1|0:B,i[F+208>>2]=M,i[F+212>>2]=B,I=fI(k,o,63),B=h,N=fI(k,o,56)^I,B=((I=o>>>7|0)^h^B)+e|0,I=t+((o=(k=N^((127&o)<<25|k>>>7))+R|0)>>>0>>0?B+1|0:B)|0,I=(B=o+d|0)>>>0>>0?I+1|0:I,e=fI(b,l,45),o=h,t=(e=((63&l)<<26|b>>>6)^fI(b,l,3)^e)+B|0,B=(h^o^l>>>6)+I|0,e=B=e>>>0>t>>>0?B+1|0:B,i[F+200>>2]=t,i[F+204>>2]=B,I=fI(K,f,63),B=h,k=((127&f)<<25|K>>>7)^fI(K,f,56)^I,I=(h^B^f>>>7)+s|0,B=p+((o=k+J|0)>>>0>>0?I+1|0:I)|0,B=(I=o+U|0)>>>0>>0?B+1|0:B,o=fI(M,_,45),p=h,N=I,I=_>>>6|0,o=((63&_)<<26|M>>>6)^fI(M,_,3)^o,B=(I^h^p)+B|0,o=B=o>>>0>(_=N+o|0)>>>0?B+1|0:B,i[F+224>>2]=_,i[F+228>>2]=B,I=fI(J,s,63),B=h,I=fI(J,s,56)^I,p=h^B,k=((127&s)<<25|J>>>7)^I,I=((B=s>>>7|0)^p)+E|0,B=u+((s=k+S|0)>>>0>>0?I+1|0:I)|0,B=(I=s+Y|0)>>>0>>0?B+1|0:B,E=fI(t,e,45),s=h,p=I,I=e>>>6|0,e=((63&e)<<26|t>>>6)^fI(t,e,3)^E,I=(I^h^s)+B|0,e=I=e>>>0>(E=p+e|0)>>>0?I+1|0:I,i[F+216>>2]=E,i[F+220>>2]=I,I=fI(D,n,63),B=h,s=((127&n)<<25|D>>>7)^fI(D,n,56)^I,B=(h^B^n>>>7)+a|0,B=l+((I=s+w|0)>>>0>>0?B+1|0:B)|0,I=(t=I+b|0)>>>0>>0?B+1|0:B,B=fI(_,o,45),s=h,l=t,t=fI(_,o,3)^B,B=o>>>6|0,o=l+(t^=(63&o)<<26|_>>>6)|0,I=(B^h^s)+I|0,i[F+240>>2]=o,i[F+244>>2]=o>>>0>>0?I+1|0:I,I=fI(w,a,63),B=h,I=fI(w,a,56)^I,o=h^B,B=((B=a>>>7|0)^o)+f|0,I=y+((I^=(127&a)<<25|w>>>7)>>>0>(a=I+K|0)>>>0?B+1|0:B)|0,I=(B=a+G|0)>>>0>>0?I+1|0:I,a=fI(E,e,45),o=h,t=B,B=e>>>6|0,a=((63&e)<<26|E>>>6)^fI(E,e,3)^a,B=(B^h^o)+I|0,a=B=a>>>0>(e=t+a|0)>>>0?B+1|0:B,i[F+232>>2]=e,i[F+236>>2]=B,I=fI(m,Q,63),B=h,t=fI(m,Q,56)^I,B=((I=Q>>>7|0)^h^B)+n|0,I=c+((Q=(o=t^((127&Q)<<25|m>>>7))+D|0)>>>0>>0?B+1|0:B)|0,I=(B=Q+H|0)>>>0>>0?I+1|0:I,Q=fI(e,a,45),n=h,c=B,B=a>>>6|0,a=c+(Q=((63&a)<<26|e>>>6)^fI(e,a,3)^Q)|0,B=(B^h^n)+I|0,i[F+248>>2]=a,i[F+252>>2]=a>>>0>>0?B+1|0:B;I=I+i[A+4>>2]|0,I=(g=a+i[A>>2]|0)>>>0>>0?I+1|0:I,i[A>>2]=g,i[A+4>>2]=I,B=i[A+12>>2]+i[C+12>>2]|0,I=(g=i[C+8>>2])+i[A+8>>2]|0,i[A+8>>2]=I,i[A+12>>2]=I>>>0>>0?B+1|0:B,B=i[A+20>>2]+i[C+20>>2]|0,I=(g=i[C+16>>2])+i[A+16>>2]|0,i[A+16>>2]=I,i[A+20>>2]=I>>>0>>0?B+1|0:B,I=i[A+28>>2]+i[C+28>>2]|0,g=(B=i[C+24>>2])+i[A+24>>2]|0,i[A+24>>2]=g,i[A+28>>2]=g>>>0>>0?I+1|0:I,B=i[A+36>>2]+i[C+36>>2]|0,I=(g=i[C+32>>2])+i[A+32>>2]|0,i[A+32>>2]=I,i[A+36>>2]=I>>>0>>0?B+1|0:B,I=i[A+44>>2]+i[C+44>>2]|0,g=(B=i[C+40>>2])+i[A+40>>2]|0,i[A+40>>2]=g,i[A+44>>2]=g>>>0>>0?I+1|0:I,B=i[A+52>>2]+i[C+52>>2]|0,I=(g=i[C+48>>2])+i[A+48>>2]|0,i[A+48>>2]=I,i[A+52>>2]=I>>>0>>0?B+1|0:B,B=i[A+60>>2]+i[C+60>>2]|0,I=(g=i[C+56>>2])+i[A+56>>2]|0,i[A+56>>2]=I,i[A+60>>2]=I>>>0>>0?B+1|0:B}function m(A){var I,g,C,B,a,Q,i,o,n,c,e=0,E=0,_=0,y=0,s=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0;y=(m=r[A+44|0]|r[A+45|0]<<8|r[A+46|0]<<16|r[A+47|0]<<24)>>>5&2097151,_=PI(U=(r[A+60|0]|r[A+61|0]<<8|r[A+62|0]<<16|r[A+63|0]<<24)>>>3|0,0,-683901,-1),E=(e=r[A+44|0])<<16&2031616|r[A+42|0]|r[A+43|0]<<8,e=h,l=e=E>>>0>(u=_+E|0)>>>0?e+1|0:e,G=e=e-((u>>>0<4293918720)-1|0)|0,_=e>>21,e=(E=y)+(y=(2097151&e)<<11|(p=u- -1048576|0)>>>21)|0,E=_,P=E=e>>>0>>0?E+1|0:E,q=e,M=PI(e,E,-683901,-1),D=h,f=PI(I=(r[A+49|0]|r[A+50|0]<<8|r[A+51|0]<<16|r[A+52|0]<<24)>>>7&2097151,0,-997805,-1),_=(e=r[A+27|0])>>>24|0,y=e<<8|(k=r[A+23|0]|r[A+24|0]<<8|r[A+25|0]<<16|r[A+26|0]<<24)>>>24,E=(e=r[A+28|0])>>>16|0,E=2097151&((3&(E|=_))<<30|(e=y|e<<16)>>>2),e=h,e=E>>>0>(_=E+f|0)>>>0?e+1|0:e,E=PI(v=(F=r[A+52|0]|r[A+53|0]<<8|r[A+54|0]<<16|r[A+55|0]<<24)>>>4&2097151,0,654183,0),e=h+e|0,f=_=E+_|0,_=E>>>0>_>>>0?e+1|0:e,s=(E=r[A+48|0])<<8|m>>>24,E=e=E>>>24|0,e=PI(g=2097151&((3&(m=(e=(y=r[A+49|0])>>>16|0)|E))<<30|(E=(y<<=16)|s)>>>2),0,136657,0),_=h+_|0,_=e>>>0>(E=e+f|0)>>>0?_+1|0:_,y=(e=PI(C=(r[A+57|0]|r[A+58|0]<<8|r[A+59|0]<<16|r[A+60|0]<<24)>>>6&2097151,0,666643,0))+E|0,E=h+_|0,f=y,_=e>>>0>y>>>0?E+1|0:E,E=(e=r[A+56|0])>>>24|0,s=e<<8|F>>>24,E=PI(B=2097151&((1&(F=(e=(y=r[A+57|0])>>>16|0)|E))<<31|(E=(y<<=16)|s)>>>1),0,470296,0),e=h+_|0,E=(e=(_=y=E+f|0)>>>0>>0?e+1|0:e)+D|0,E=_>>>0>(y=_+M|0)>>>0?E+1|0:E,N=_- -1048576|0,b=_=e-((_>>>0<4293918720)-1|0)|0,D=y-(e=-2097152&N)|0,M=E-((e>>>0>y>>>0)+_|0)|0,E=PI(I,0,654183,0),e=h,e=E>>>0>(_=E+(k>>>5&2097151)|0)>>>0?e+1|0:e,y=(E=_)+(_=PI(v,0,470296,0))|0,E=h+e|0,E=_>>>0>y>>>0?E+1|0:E,e=PI(g,z,-997805,-1),E=h+E|0,E=e>>>0>(_=e+y|0)>>>0?E+1|0:E,y=(e=_)+(_=PI(B,X,666643,0))|0,e=h+E|0,s=y,y=_>>>0>y>>>0?e+1|0:e,f=(_=PI(I,0,470296,0))+(e=(e=r[A+23|0])<<16&2031616|r[A+21|0]|r[A+22|0]<<8)|0,_=h,_=e>>>0>f>>>0?_+1|0:_,f=(E=PI(v,0,666643,0))+f|0,e=h+_|0,_=PI(g,z,654183,0),E=h+(E>>>0>f>>>0?e+1|0:e)|0,F=E=_>>>0>(k=_+f|0)>>>0?E+1|0:E,x=E=E-((k>>>0<4293918720)-1|0)|0,e=(e=E>>>21|0)+y|0,_=e=(E=(2097151&E)<<11|(f=k- -1048576|0)>>>21)>>>0>(s=E+s|0)>>>0?e+1|0:e,w=E=e-((s>>>0<4293918720)-1|0)|0,e=D,D=(2097151&E)<<11|(y=s- -1048576|0)>>>21,E=(E>>21)+M|0,m=D=(E=D>>>0>(S=e+D|0)>>>0?E+1|0:E)-((S>>>0<4293918720)-1|0)|0,R=S-(e=-2097152&(M=S- -1048576|0))|0,V=E-((e>>>0>S>>>0)+D|0)|0,e=PI(q,P,136657,0),_=h+_|0,_=e>>>0>(E=e+s|0)>>>0?_+1|0:_,Y=E-(e=-2097152&y)|0,L=_-((e>>>0>E>>>0)+w|0)|0,S=u-(e=-2097152&p)|0,G=l-((e>>>0>u>>>0)+G|0)|0,l=PI(U,0,136657,0),E=(e=r[A+40|0])>>>24|0,y=e<<8|(p=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24)>>>24,_=(e=r[A+41|0])>>>16|0,E=(_|=E)>>>3|0,_=(7&_)<<29|(e=y|e<<16)>>>3,e=E+h|0,e=_>>>0>(y=_+l|0)>>>0?e+1|0:e,E=PI(C,0,-683901,-1),e=h+e|0,e=E>>>0>(_=E+y|0)>>>0?e+1|0:e,s=_,E=PI(U,0,-997805,-1),_=h,_=E>>>0>(y=E+(p>>>6&2097151)|0)>>>0?_+1|0:_,p=(E=y)+(y=PI(C,0,136657,0))|0,E=h+_|0,_=PI(B,X,-683901,-1),E=h+(y>>>0>p>>>0?E+1|0:E)|0,D=E=_>>>0>(J=_+p|0)>>>0?E+1|0:E,W=_=E-((J>>>0<4293918720)-1|0)|0,e=e+(E=_>>21)|0,p=e=(_=(2097151&_)<<11|(u=J- -1048576|0)>>>21)>>>0>(w=_+s|0)>>>0?e+1|0:e,d=e=e-((w>>>0<4293918720)-1|0)|0,E=(E=e>>21)+G|0,j=E=(e=(_=(2097151&e)<<11|(s=w- -1048576|0)>>>21)+S|0)>>>0<_>>>0?E+1|0:E,K=e,E=PI(e,E,-683901,-1),e=h+L|0,H=_=E+Y|0,y=E>>>0>_>>>0?e+1|0:e,L=k-(e=-2097152&f)|0,G=F-((4095&x)+(e>>>0>k>>>0)|0)|0,k=PI(I,0,666643,0),e=(E=r[A+19|0])>>>24|0,f=E<<8|(F=r[A+15|0]|r[A+16|0]<<8|r[A+17|0]<<16|r[A+18|0]<<24)>>>24,_=e,E=(7&(_|=E=(e=r[A+20|0])>>>16|0))<<29|(E=(e<<=16)|f)>>>3,_=h+(_>>>3|0)|0,_=E>>>0>(f=E+k|0)>>>0?_+1|0:_,e=PI(g,z,470296,0),E=h+_|0,e=e>>>0>(f=e+f|0)>>>0?E+1|0:E,_=PI(g,z,666643,0),E=h,k=E=_>>>0>(Y=_+(F>>>6&2097151)|0)>>>0?E+1|0:E,Z=_=E-((Y>>>0<4293918720)-1|0)|0,e=e+(E=_>>>21|0)|0,F=e=(_=(2097151&_)<<11|(l=Y- -1048576|0)>>>21)>>>0>(S=_+f|0)>>>0?e+1|0:e,O=e=e-((S>>>0<4293918720)-1|0)|0,E=(E=e>>>21|0)+G|0,E=(e=(2097151&e)<<11|(f=S- -1048576|0)>>>21)>>>0>(_=e+L|0)>>>0?E+1|0:E,G=(e=_)+(_=PI(q,P,-997805,-1))|0,e=h+E|0,e=_>>>0>G>>>0?e+1|0:e,x=E=w-(_=-2097152&s)|0,a=s=p-((_>>>0>w>>>0)+d|0)|0,_=PI(K,j,136657,0),e=h+e|0,e=_>>>0>(p=_+G|0)>>>0?e+1|0:e,_=PI(E,s,-683901,-1),E=h+e|0,p=E=_>>>0>(G=_+p|0)>>>0?E+1|0:E,d=e=E-((G>>>0<4293918720)-1|0)|0,E=(2097151&e)<<11|(s=G- -1048576|0)>>>21,e=(e>>21)+y|0,H=E=(e=E>>>0>(w=E+H|0)>>>0?e+1|0:e)-((w>>>0<4293918720)-1|0)|0,L=(2097151&E)<<11|(y=w- -1048576|0)>>>21,E=(E>>21)+V|0,i=R=L+R|0,L=R>>>0>>0?E+1|0:E,o=w-(E=-2097152&y)|0,n=e-((E>>>0>w>>>0)+H|0)|0,R=G-(e=-2097152&s)|0,V=p-((e>>>0>G>>>0)+d|0)|0,_=(e=PI(q,P,654183,0))+(S-(E=-2097152&f)|0)|0,E=h+(F-((E>>>0>S>>>0)+O|0)|0)|0,E=e>>>0>_>>>0?E+1|0:E,e=PI(K,j,-997805,-1),E=h+E|0,E=e>>>0>(_=e+_|0)>>>0?E+1|0:E,y=(e=_)+(_=PI(x,a,136657,0))|0,e=h+E|0,H=y,p=_>>>0>y>>>0?e+1|0:e,S=J-(e=-2097152&u)|0,w=D-((e>>>0>J>>>0)+W|0)|0,F=PI(v,0,-683901,-1),e=(E=r[A+35|0])>>>24|0,y=E<<8|(f=r[A+31|0]|r[A+32|0]<<8|r[A+33|0]<<16|r[A+34|0]<<24)>>>24,_=e,E=(e=r[A+36|0])>>>16|0,E|=_,_=h,_=(e=2097151&((1&E)<<31|(e=e<<16|y)>>>1))>>>0>(E=e+F|0)>>>0?_+1|0:_,y=(e=PI(U,0,654183,0))+E|0,E=h+_|0,E=e>>>0>y>>>0?E+1|0:E,_=PI(C,0,-997805,-1),e=h+E|0,e=_>>>0>(y=_+y|0)>>>0?e+1|0:e,E=PI(B,X,136657,0),e=h+e|0,s=_=E+y|0,y=E>>>0>_>>>0?e+1|0:e,e=PI(I,0,-683901,-1),E=h,E=e>>>0>(_=e+(f>>>4&2097151)|0)>>>0?E+1|0:E,f=(e=PI(v,0,136657,0))+_|0,_=h+E|0,_=e>>>0>f>>>0?_+1|0:_,e=PI(U,0,470296,0),E=h+_|0,E=e>>>0>(f=e+f|0)>>>0?E+1|0:E,f=(_=PI(C,0,654183,0))+f|0,e=h+E|0,E=PI(B,X,-997805,-1),e=h+(_>>>0>f>>>0?e+1|0:e)|0,F=e=E>>>0>(D=E+f|0)>>>0?e+1|0:e,c=E=e-((D>>>0<4293918720)-1|0)|0,_=(e=E>>21)+y|0,G=E=(_=(E=(2097151&E)<<11|(f=D- -1048576|0)>>>21)>>>0>(u=E+s|0)>>>0?_+1|0:_)-((u>>>0<4293918720)-1|0)|0,e=(e=E>>21)+w|0,d=e=(E=(y=(2097151&E)<<11|(s=u- -1048576|0)>>>21)+S|0)>>>0>>0?e+1|0:e,y=H,H=E,e=PI(E,e,-683901,-1),E=h+p|0,w=y=y+e|0,y=e>>>0>y>>>0?E+1|0:E,p=(e=PI(q,P,470296,0))+(Y-(E=-2097152&l)|0)|0,E=h+(k-((2047&Z)+(E>>>0>Y>>>0)|0)|0)|0,E=e>>>0>p>>>0?E+1|0:E,l=(e=p)+(p=PI(K,j,654183,0))|0,e=h+E|0,e=p>>>0>l>>>0?e+1|0:e,p=PI(x,a,-997805,-1),E=h+e|0,E=p>>>0>(l=p+l|0)>>>0?E+1|0:E,J=s=u-(e=-2097152&s)|0,Q=p=_-((e>>>0>u>>>0)+G|0)|0,_=PI(H,d,136657,0),e=h+E|0,e=_>>>0>(l=_+l|0)>>>0?e+1|0:e,_=PI(s,p,-683901,-1),E=h+e|0,p=E=_>>>0>(k=_+l|0)>>>0?E+1|0:E,G=e=E-((k>>>0<4293918720)-1|0)|0,E=(2097151&e)<<11|(s=k- -1048576|0)>>>21,e=(e>>21)+y|0,w=E=(e=E>>>0>(l=E+w|0)>>>0?e+1|0:e)-((l>>>0<4293918720)-1|0)|0,u=(2097151&E)<<11|(y=l- -1048576|0)>>>21,E=(E>>21)+V|0,W=S=u+R|0,S=u>>>0>S>>>0?E+1|0:E,Z=l-(E=-2097152&y)|0,O=e-((E>>>0>l>>>0)+w|0)|0,R=k-(e=-2097152&s)|0,V=p-((e>>>0>k>>>0)+G|0)|0,p=PI(q,P,666643,0),e=(E=r[A+14|0])>>>24|0,y=E<<8|(G=r[A+10|0]|r[A+11|0]<<8|r[A+12|0]<<16|r[A+13|0]<<24)>>>24,_=e,E=(e=r[A+15|0])>>>16|0,E|=_,_=h,_=(e=2097151&((1&E)<<31|(e=e<<16|y)>>>1))>>>0>(E=e+p|0)>>>0?_+1|0:_,y=(e=E)+(E=PI(K,j,470296,0))|0,e=h+_|0,e=E>>>0>y>>>0?e+1|0:e,E=PI(x,a,654183,0),e=h+e|0,e=E>>>0>(_=E+y|0)>>>0?e+1|0:e,y=(E=_)+(_=PI(H,d,-997805,-1))|0,E=h+e|0,E=_>>>0>y>>>0?E+1|0:E,e=PI(J,Q,136657,0),E=h+E|0,k=_=e+y|0,y=e>>>0>_>>>0?E+1|0:E,f=D-(e=-2097152&f)|0,p=F-((e>>>0>D>>>0)+c|0)|0,_=PI(I,0,136657,0),e=h,e=(E=(r[A+28|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24)>>>7&2097151)>>>0>(_=E+_|0)>>>0?e+1|0:e,s=(E=_)+(_=PI(v,0,-997805,-1))|0,E=h+e|0,E=_>>>0>s>>>0?E+1|0:E,e=PI(g,z,-683901,-1),E=h+E|0,E=e>>>0>(_=e+s|0)>>>0?E+1|0:E,s=(e=PI(U,0,666643,0))+_|0,_=h+E|0,_=e>>>0>s>>>0?_+1|0:_,E=PI(C,0,470296,0),e=h+_|0,e=E>>>0>(s=E+s|0)>>>0?e+1|0:e,E=PI(B,X,654183,0),e=h+e|0,E=(b>>21)+(E>>>0>(_=E+s|0)>>>0?e+1|0:e)|0,u=E=(s=(2097151&b)<<11|N>>>21)>>>0>(N=s+_|0)>>>0?E+1|0:E,w=e=E-((N>>>0<4293918720)-1|0)|0,s=(2097151&e)<<11|(l=N- -1048576|0)>>>21,e=(e>>21)+p|0,Y=e=(E=s+f|0)>>>0>>0?e+1|0:e,b=E,E=PI(E,e,-683901,-1),e=h+y|0,s=_=E+k|0,y=E>>>0>_>>>0?e+1|0:e,e=PI(K,j,666643,0),E=h,E=e>>>0>(_=e+(G>>>4&2097151)|0)>>>0?E+1|0:E,e=PI(x,a,470296,0),E=h+E|0,E=e>>>0>(_=e+_|0)>>>0?E+1|0:E,p=(e=PI(H,d,654183,0))+_|0,_=h+E|0,_=e>>>0>p>>>0?_+1|0:_,E=PI(J,Q,-997805,-1),e=h+_|0,e=E>>>0>(p=E+p|0)>>>0?e+1|0:e,E=PI(b,Y,136657,0),e=h+e|0,F=e=E>>>0>(D=E+p|0)>>>0?e+1|0:e,P=E=e-((D>>>0<4293918720)-1|0)|0,e=s,s=(2097151&E)<<11|(f=D- -1048576|0)>>>21,E=(E>>21)+y|0,K=y=(E=(_=e+s|0)>>>0>>0?E+1|0:E)-((_>>>0<4293918720)-1|0)|0,e=(e=y>>21)+V|0,q=s=(y=(2097151&y)<<11|(p=_- -1048576|0)>>>21)+R|0,k=y>>>0>s>>>0?e+1|0:e,s=_,_=E,y=(N-(E=-2097152&l)|0)+(l=(2097151&m)<<11|M>>>21)|0,E=(u-((E>>>0>N>>>0)+w|0)|0)+(m>>21)|0,G=E=y>>>0>>0?E+1|0:E,v=E=E-((y>>>0<4293918720)-1|0)|0,M=e=E>>21,e=PI(U=(2097151&E)<<11|(w=y- -1048576|0)>>>21,e,-683901,-1),_=h+_|0,_=e>>>0>(E=e+s|0)>>>0?_+1|0:_,z=E-(e=-2097152&p)|0,X=_-((e>>>0>E>>>0)+K|0)|0,e=PI(U,M,136657,0),E=F+h|0,j=(_=e+D|0)-(e=-2097152&f)|0,K=(E=_>>>0>>0?E+1|0:E)-((e>>>0>_>>>0)+P|0)|0,E=PI(x,a,666643,0),_=h,_=(e=(r[A+7|0]|r[A+8|0]<<8|r[A+9|0]<<16|r[A+10|0]<<24)>>>7&2097151)>>>0>(E=e+E|0)>>>0?_+1|0:_,s=(e=PI(H,d,470296,0))+E|0,E=h+_|0,E=e>>>0>s>>>0?E+1|0:E,e=PI(J,Q,654183,0),E=h+E|0,E=e>>>0>(_=e+s|0)>>>0?E+1|0:E,s=(e=_)+(_=PI(b,Y,-997805,-1))|0,e=h+E|0,l=s,s=_>>>0>s>>>0?e+1|0:e,F=PI(H,d,666643,0),e=(E=r[A+6|0])>>>24|0,p=E<<8|(N=r[A+2|0]|r[A+3|0]<<8|r[A+4|0]<<16|r[A+5|0]<<24)>>>24,_=e,E=(e=r[A+7|0])>>>16|0,E=2097151&((3&(E|=_))<<30|(e=e<<16|p)>>>2),e=h,e=E>>>0>(_=E+F|0)>>>0?e+1|0:e,p=(E=PI(J,Q,470296,0))+_|0,_=h+e|0,_=E>>>0>p>>>0?_+1|0:_,E=PI(b,Y,654183,0),e=h+_|0,F=e=E>>>0>(u=E+p|0)>>>0?e+1|0:e,m=e=e-((u>>>0<4293918720)-1|0)|0,E=(_=e>>21)+s|0,D=e=(E=(e=(2097151&e)<<11|(f=u- -1048576|0)>>>21)>>>0>(p=e+l|0)>>>0?E+1|0:E)-((p>>>0<4293918720)-1|0)|0,l=(2097151&e)<<11|(s=p- -1048576|0)>>>21,e=(e>>21)+K|0,K=H=l+j|0,l=l>>>0>H>>>0?e+1|0:e,e=PI(U,M,-997805,-1),E=h+E|0,E=e>>>0>(_=e+p|0)>>>0?E+1|0:E,x=_-(e=-2097152&s)|0,d=E-((e>>>0>_>>>0)+D|0)|0,E=PI(U,M,654183,0),e=F+h|0,H=(_=E+u|0)-(E=-2097152&f)|0,m=(e=_>>>0>>0?e+1|0:e)-((E>>>0>_>>>0)+m|0)|0,e=PI(J,Q,666643,0),E=h,E=e>>>0>(_=e+(N>>>5&2097151)|0)>>>0?E+1|0:E,e=PI(b,Y,470296,0),E=h+E|0,p=_=e+_|0,_=e>>>0>_>>>0?E+1|0:E,s=PI(b,Y,666643,0),E=(e=r[A+2|0])<<16&2031616|r[0|A]|r[A+1|0]<<8,e=h,F=e=E>>>0>(D=s+E|0)>>>0?e+1|0:e,Y=e=e-((D>>>0<4293918720)-1|0)|0,s=(2097151&e)<<11|(f=D- -1048576|0)>>>21,e=(e>>21)+_|0,_=e=s>>>0>(u=s+p|0)>>>0?e+1|0:e,N=e=e-((u>>>0<4293918720)-1|0)|0,s=(2097151&e)<<11|(p=u- -1048576|0)>>>21,e=(e>>21)+m|0,s=s>>>0>(m=b=s+H|0)>>>0?e+1|0:e,e=PI(U,M,470296,0),_=_+h|0,_=(E=e+u|0)>>>0>>0?_+1|0:_,u=E-(e=-2097152&p)|0,p=_-((e>>>0>E>>>0)+N|0)|0,E=PI(U,M,666643,0),e=h+(F-(((_=-2097152&f)>>>0>D>>>0)+Y|0)|0)|0,E=(_=(e=E>>>0>(b=E+(D-_|0)|0)>>>0?e+1|0:e)>>21)+p|0,e=(e=(E=(e=(2097151&e)<<11|b>>>21)>>>0>(N=e+u|0)>>>0?E+1|0:E)>>21)+s|0,E=(E=(e=(E=(2097151&E)<<11|N>>>21)>>>0>(m=E+m|0)>>>0?e+1|0:e)>>21)+d|0,_=(e=(E=(e=(2097151&e)<<11|m>>>21)>>>0>(s=e+x|0)>>>0?E+1|0:E)>>21)+l|0,e=(E=(_=(E=(2097151&E)<<11|s>>>21)>>>0>(M=E+K|0)>>>0?_+1|0:_)>>21)+X|0,E=(_=(e=(_=(2097151&_)<<11|M>>>21)>>>0>(D=_+z|0)>>>0?e+1|0:e)>>21)+k|0,e=(e=(E=(e=(2097151&e)<<11|D>>>21)>>>0>(u=e+q|0)>>>0?E+1|0:E)>>21)+O|0,E=(E=(e=(E=(2097151&E)<<11|u>>>21)>>>0>(k=E+Z|0)>>>0?e+1|0:e)>>21)+S|0,_=(e=(E=(e=(2097151&e)<<11|k>>>21)>>>0>(l=e+W|0)>>>0?E+1|0:E)>>21)+n|0,e=(E=(_=(E=(2097151&E)<<11|l>>>21)>>>0>(F=E+o|0)>>>0?_+1|0:_)>>21)+L|0,p=(w=y-(E=-2097152&w)|0)+((2097151&(e=(_=(2097151&_)<<11|F>>>21)>>>0>(f=_+i|0)>>>0?e+1|0:e))<<11|f>>>21)|0,e=(G-((E>>>0>y>>>0)+v|0)|0)+(e>>21)|0,w=E=(e=p>>>0>>0?e+1|0:e)>>21,b=(e=PI(S=(2097151&e)<<11|p>>>21,E,666643,0))+(E=2097151&b)|0,e=h,y=e=E>>>0>b>>>0?e+1|0:e,t[0|A]=b,t[A+1|0]=(255&e)<<24|b>>>8,e=2097151&N,E=PI(S,w,470296,0)+e|0,_=h,e=(y>>21)+(e>>>0>E>>>0?_+1|0:_)|0,e=(G=(2097151&y)<<11|b>>>21)>>>0>(N=G+E|0)>>>0?e+1|0:e,t[A+4|0]=(2047&e)<<21|N>>>11,E=e,_=N,t[A+3|0]=(7&e)<<29|_>>>3,t[A+2|0]=31&((65535&y)<<16|b>>>16)|_<<5,y=2097151&m,m=PI(S,w,654183,0)+y|0,e=h,N=(2097151&E)<<11|_>>>21,E=(E>>21)+(y=y>>>0>m>>>0?e+1|0:e)|0,e=E=(m=N+m|0)>>>0>>0?E+1|0:E,t[A+6|0]=(63&e)<<26|m>>>6,y=m,m=0,t[A+5|0]=m<<13|(1572864&_)>>>19|y<<2,_=2097151&s,s=PI(S,w,-997805,-1)+_|0,E=h,E=_>>>0>s>>>0?E+1|0:E,m=(2097151&(_=e))<<11|y>>>21,_=(e>>=21)+E|0,_=(s=m+s|0)>>>0>>0?_+1|0:_,t[A+9|0]=(511&_)<<23|s>>>9,t[A+8|0]=(1&_)<<31|s>>>1,E=0,t[A+7|0]=E<<18|(2080768&y)>>>14|s<<7,E=2097151&M,y=PI(S,w,136657,0)+E|0,e=h,e=E>>>0>y>>>0?e+1|0:e,M=(2097151&(E=_))<<11|s>>>21,E=e+(_=E>>21)|0,E=(y=M+y|0)>>>0>>0?E+1|0:E,t[A+12|0]=(4095&E)<<20|y>>>12,_=y,t[A+11|0]=(15&E)<<28|_>>>4,y=0,t[A+10|0]=y<<15|(1966080&s)>>>17|_<<4,y=2097151&D,s=PI(S,w,-683901,-1)+y|0,e=h,e=y>>>0>s>>>0?e+1|0:e,y=E,E=e+(E>>=21)|0,E=(y=(H=s)+(s=(2097151&y)<<11|_>>>21)|0)>>>0>>0?E+1|0:E,t[A+14|0]=(127&E)<<25|y>>>7,s=0,t[A+13|0]=s<<12|(1048576&_)>>>20|y<<1,e=E>>21,_=(E=(2097151&E)<<11|y>>>21)>>>0>(s=E+(2097151&u)|0)>>>0?e+1|0:e,t[A+17|0]=(1023&_)<<22|s>>>10,t[A+16|0]=(3&_)<<30|s>>>2,E=0,t[A+15|0]=E<<17|(2064384&y)>>>15|s<<6,e=_>>21,e=(E=(2097151&_)<<11|s>>>21)>>>0>(_=E+(2097151&k)|0)>>>0?e+1|0:e,t[A+20|0]=(8191&e)<<19|_>>>13,t[A+19|0]=(31&e)<<27|_>>>5,y=(E=2097151&l)+(l=(2097151&e)<<11|_>>>21)|0,E=e>>21,E=y>>>0>>0?E+1|0:E,l=y,t[A+21|0]=y,k=0,t[A+18|0]=k<<14|(1835008&s)>>>18|_<<3,t[A+22|0]=(255&E)<<24|y>>>8,_=E>>21,_=(y=(s=(2097151&E)<<11|y>>>21)+(2097151&F)|0)>>>0>>0?_+1|0:_,t[A+25|0]=(2047&_)<<21|y>>>11,t[A+24|0]=(7&_)<<29|y>>>3,t[A+23|0]=31&((65535&E)<<16|l>>>16)|y<<5,e=_>>21,e=(E=(2097151&_)<<11|y>>>21)>>>0>(_=E+(2097151&f)|0)>>>0?e+1|0:e,t[A+27|0]=(63&e)<<26|_>>>6,s=0,t[A+26|0]=s<<13|(1572864&y)>>>19|_<<2,E=e>>21,E=(e=(y=(2097151&e)<<11|_>>>21)+(2097151&p)|0)>>>0>>0?E+1|0:E,t[A+31|0]=(131071&E)<<15|e>>>17,t[A+30|0]=(511&E)<<23|e>>>9,t[A+29|0]=(1&E)<<31|e>>>1,y=0,t[A+28|0]=y<<18|(2080768&_)>>>14|e<<7}function k(A,I){var g,C=0,B=0,a=0,Q=0,t=0,o=0,c=0,e=0,E=0,_=0,y=0,l=0,u=0,D=0,w=0,m=0,k=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0,QA=0,tA=0,iA=0,rA=0,oA=0,nA=0,cA=0,eA=0,EA=0;if(s=g=s-4096|0,A){A:{I:{if(2==(0|(o=i[A+36>>2]))){if(QA=i[A+4>>2],(T=i[I>>2])|(X=r[I+8|0])>>>0>=2)break I;T=0}else X=r[I+8|0],QA=i[A+4>>2],T=i[I>>2];if(yg(g+3072|0,0,1024),yg(g+2104|0,0,968),i[g+2048>>2]=T,i[g+2052>>2]=0,K=i[I+4>>2],i[g+2064>>2]=X,i[g+2068>>2]=0,i[g+2056>>2]=K,i[g+2060>>2]=0,i[g+2072>>2]=i[A+16>>2],i[g+2076>>2]=0,K=i[A+8>>2],i[g+2088>>2]=o,i[g+2092>>2]=0,i[g+2080>>2]=K,i[g+2084>>2]=0,!i[A+20>>2])break A;for(K=0;(w=127&c)||(K=(P=P+1|0)?K:K+1|0,i[g+2096>>2]=P,i[g+2100>>2]=K,o=yg(g,0,1024),yg(o+1024|0,0,1024),F(C=o+3072|0,o+2048|0,o),F(C,o,o+1024|0)),w=i[4+(o=(g+1024|0)+(w<<3)|0)>>2],i[(C=(c<<3)+QA|0)>>2]=i[o>>2],i[C+4>>2]=w,(w=i[A+20>>2])>>>0>(c=c+1|0)>>>0;);break A}w=i[A+20>>2],oA=1}if(!((K=(iA=!(X|T))<<1)>>>0>=w>>>0))for(o=i[A+24>>2],aA=i[I+4>>2],c=(P=(n(o,aA)+K|0)+n(w,X)|0)+((P>>>0)%(o>>>0)|0?-1:o-1|0)|0,nA=X+1|0;;){C=i[A+28>>2],tA=1==((P>>>0)%((o=i[A+24>>2])>>>0)|0)?P-1|0:c,c=oA?i[i[A>>2]+4>>2]+(tA<<10)|0:(K<<3)+QA|0,B=i[c>>2],c=i[c+4>>2],i[I+12>>2]=K,C=iA?aA:(c>>>0)%(C>>>0)|0;A:if(T)c=o+((0|C)==(0|aA)?(-1^w)+K|0:(K?0:-1)-w|0)|0,a=0,3!=(0|X)&&(a=n(w,nA));else{if(!X){c=K-1|0,a=0;break A}if(c=n(w,X),(0|C)==(0|aA)){c=(c+K|0)-1|0,a=0;break A}c=c-!K|0,a=0}if(e=(w=i[i[A>>2]+4>>2])+(n(C,o)<<10)|0,a=(Q=C=c-1|0)>>>0>(C=C+a|0)>>>0,PI(B,0,B,0),PI(c,0,h,0),ZA(C-(c=h)|0,a-(C>>>0>>0)|0,o),h=f,c=(p<<10)+e|0,o=w+(tA<<10)|0,rA=w+(P<<10)|0,T)F(o,c,rA);else{for(ng(g+3072|0,c,1024),c=0;a=i[(B=(w=c<<3)+(C=g+3072|0)|0)>>2],_=i[(e=o+w|0)>>2],e=i[B+4>>2]^i[e+4>>2],i[B>>2]=a^_,i[B+4>>2]=e,e=i[(B=(a=8|w)+C|0)>>2],_=i[(a=o+a|0)>>2],a=i[B+4>>2]^i[a+4>>2],i[B>>2]=e^_,i[B+4>>2]=a,e=i[(B=(a=16|w)+C|0)>>2],_=i[(a=o+a|0)>>2],a=i[B+4>>2]^i[a+4>>2],i[B>>2]=e^_,i[B+4>>2]=a,C=i[(w=C+(B=24|w)|0)>>2],a=i[(B=B+o|0)>>2],B=i[w+4>>2]^i[B+4>>2],i[w>>2]=C^a,i[w+4>>2]=B,128!=(0|(c=c+4|0)););for(ng(g+2048|0,g+3072|0,1024),w=0,c=0;e=(a=i[56+(o=(g+3072|0)+(c<<7)|0)>>2])+(B=i[o+24>>2])|0,_=(Q=i[o+60>>2])+(C=i[o+28>>2])|0,E=PI(B<<1&-2,1&(C<<1|B>>>31),a,0),B=h+(B>>>0>e>>>0?_+1|0:_)|0,e=(C=E+e|0)>>>0>>0?B+1|0:B,E=(_=fI(C^i[o+120>>2],e^i[o+124>>2],32))+(B=i[o+88>>2])|0,t=(u=h)+(Y=i[o+92>>2])|0,y=a,Y=PI(_,0,B<<1&-2,1&(Y<<1|B>>>31)),B=h+(B>>>0>E>>>0?t+1|0:t)|0,J=fI(y^(a=Y+E|0),Q^(v=a>>>0>>0?B+1|0:B),40),E=1+(B=e+(gA=h)|0)|0,Q=B,E=(B=C+J|0)>>>0>>0?E:Q,Y=(C=PI(J,0,C<<1&-2,1&(e<<1|C>>>31)))+B|0,B=h+E|0,S=fI(Y^_,u^(j=C>>>0>Y>>>0?B+1|0:B),48),b=y=h,e=(l=i[o+44>>2])+(C=i[o+12>>2])|0,E=(_=i[o+40>>2])+(B=i[o+8>>2])|0,t=PI(B<<1&-2,1&(C<<1|B>>>31),_,0),B=h+(B>>>0>E>>>0?e+1|0:e)|0,E=(C=E+t|0)>>>0>>0?B+1|0:B,Q=(t=fI(C^i[o+104>>2],E^i[o+108>>2],32))+(e=i[o+72>>2])|0,u=(m=h)+(B=i[o+76>>2])|0,D=_,_=PI(t,0,e<<1&-2,1&(B<<1|e>>>31)),e=h+(Q>>>0>>0?u+1|0:u)|0,_=fI(D^(B=_+Q|0),l^(Q=B>>>0<_>>>0?e+1|0:e),40),D=1+(e=E+(u=h)|0)|0,l=e,l=(e=C+_|0)>>>0>>0?D:l,C=PI(_,0,C<<1&-2,1&(E<<1|C>>>31)),E=h+l|0,l=fI((e=C+e|0)^t,m^(z=C>>>0>e>>>0?E+1|0:E),48),t=1+(C=Q+(CA=h)|0)|0,E=C,E=(C=B+l|0)>>>0>>0?t:E,t=_,_=C,C=PI(l,0,B<<1&-2,1&(Q<<1|B>>>31)),B=h+E|0,m=fI(t^(_=_+C|0),u^(V=C>>>0>_>>>0?B+1|0:B),1),$=k=h,E=(H=i[o+36>>2])+(C=i[o+4>>2])|0,Q=(t=i[o+32>>2])+(B=i[o>>2])|0,u=PI(B<<1&-2,1&(C<<1|B>>>31),t,0),B=h+(B>>>0>Q>>>0?E+1|0:E)|0,Q=(C=Q+u|0)>>>0>>0?B+1|0:B,u=(W=fI(C^i[o+96>>2],Q^i[o+100>>2],32))+(B=i[(E=q=o- -64|0)>>2])|0,D=(BA=h)+(E=i[E+4>>2])|0,G=t,t=PI(W,0,B<<1&-2,1&(E<<1|B>>>31)),B=h+(B>>>0>u>>>0?D+1|0:D)|0,D=fI(G^(E=t+u|0),H^(L=t>>>0>E>>>0?B+1|0:B),40),u=1+(B=Q+(Z=h)|0)|0,t=B,t=(B=C+D|0)>>>0>>0?u:t,u=B,B=PI(D,0,C<<1&-2,1&(Q<<1|C>>>31)),t=h+t|0,t=1+(B=k+(x=(C=u+B|0)>>>0>>0?t+1|0:t)|0)|0,Q=B,Q=(B=C+m|0)>>>0>>0?t:Q,t=B,B=PI(m,0,C<<1&-2,1&(x<<1|C>>>31)),Q=h+Q|0,y=fI((t=t+B|0)^S,y^(d=B>>>0>t>>>0?Q+1|0:Q),32),O=h,u=(M=i[o+52>>2])+(B=i[o+20>>2])|0,H=(k=i[o+48>>2])+(Q=i[o+16>>2])|0,U=PI(Q<<1&-2,1&(B<<1|Q>>>31),k,0),Q=h+(Q>>>0>H>>>0?u+1|0:u)|0,H=(B=H+U|0)>>>0>>0?Q+1|0:Q,R=(U=fI(B^i[o+112>>2],H^i[o+116>>2],32))+(u=i[o+80>>2])|0,G=(AA=h)+(Q=i[o+84>>2])|0,N=k,k=PI(U,0,u<<1&-2,1&(Q<<1|u>>>31)),u=h+(u>>>0>R>>>0?G+1|0:G)|0,k=fI(N^(Q=k+R|0),M^(R=Q>>>0>>0?u+1|0:u),40),N=1+(u=H+(M=h)|0)|0,G=u,G=(u=B+k|0)>>>0>>0?N:G,B=PI(k,0,B<<1&-2,1&(H<<1|B>>>31)),H=h+G|0,H=fI(N=(u=B+u|0)^U,AA^(U=B>>>0>u>>>0?H+1|0:H),48),N=1+(B=R+(AA=h)|0)|0,G=B,G=(B=Q+H|0)>>>0>>0?N:G,Q=PI(H,0,Q<<1&-2,1&(R<<1|Q>>>31)),R=h+G|0,N=1+(Q=(R=(B=Q+B|0)>>>0>>0?R+1|0:R)+O|0)|0,G=Q,G=(Q=B+y|0)>>>0>>0?N:G,N=m,m=PI(y,0,B<<1&-2,1&(R<<1|B>>>31)),G=h+G|0,m=fI(N^(Q=m+Q|0),$^(G=Q>>>0>>0?G+1|0:G),40),cA=1+(N=d+($=h)|0)|0,IA=N,IA=(N=t+m|0)>>>0>>0?cA:IA,t=(d=PI(m,0,t<<1&-2,1&(d<<1|t>>>31)))+N|0,i[o>>2]=t,N=h+IA|0,d=t>>>0>>0?N+1|0:N,i[o+4>>2]=d,t=fI(t^y,d^O,48),i[o+120>>2]=t,y=h,i[o+124>>2]=y,IA=1+(y=y+G|0)|0,N=y,d=(y=t+Q|0)>>>0>>0?IA:N,t=(Q=PI(t,0,Q<<1&-2,1&(G<<1|Q>>>31)))+y|0,i[o+80>>2]=t,y=h+d|0,Q=t>>>0>>0?y+1|0:y,i[o+84>>2]=Q,eA=o,EA=fI(t^m,Q^$,1),i[eA+40>>2]=EA,i[o+44>>2]=h,t=fI(B^k,R^M,1),y=1+(B=z+(k=h)|0)|0,Q=B,Q=(B=t+e|0)>>>0>>0?y:Q,B=B+(m=PI(t,0,e<<1&-2,1&(z<<1|e>>>31)))|0,e=h+Q|0,Q=fI(C^W,x^BA,48),e=fI(Q^B,(m=B>>>0>>0?e+1|0:e)^(z=h),32),W=y=h,G=1+(C=v+b|0)|0,b=C,x=(C=a+S|0)>>>0>>0?G:b,a=PI(S,0,a<<1&-2,1&(v<<1|a>>>31)),S=h+x|0,b=1+(a=(S=(C=a+C|0)>>>0>>0?S+1|0:S)+y|0)|0,y=a,y=(a=C+e|0)>>>0>>0?b:y,b=t,t=PI(e,0,C<<1&-2,1&(S<<1|C>>>31)),y=h+y|0,t=fI(b^(a=t+a|0),k^(y=a>>>0>>0?y+1|0:y),40),G=1+(v=m+(k=h)|0)|0,b=v,x=(v=B+t|0)>>>0>>0?G:b,b=e,e=PI(t,0,B<<1&-2,1&(m<<1|B>>>31)),m=h+x|0,e=fI(b^(B=e+v|0),W^(m=B>>>0>>0?m+1|0:m),48),i[o+96>>2]=e,v=h,i[o+100>>2]=v,i[o+8>>2]=B,i[o+12>>2]=m,m=1+(B=y+v|0)|0,b=B,m=(B=a+e|0)>>>0>>0?m:b,a=PI(e,0,a<<1&-2,1&(y<<1|a>>>31)),e=h+m|0,eA=o,EA=fI((B=a+B|0)^t,k^(a=B>>>0>>0?e+1|0:e),1),i[eA+48>>2]=EA,i[o+52>>2]=h,i[o+88>>2]=B,i[o+92>>2]=a,a=fI(C^J,S^gA,1),e=1+(C=U+(J=h)|0)|0,B=C,e=(C=a+u|0)>>>0>>0?e:B,B=C,C=PI(a,0,u<<1&-2,1&(U<<1|u>>>31)),e=h+e|0,e=fI((B=B+C|0)^l,CA^(t=C>>>0>B>>>0?e+1|0:e),32),S=u=h,l=1+(C=L+z|0)|0,y=C,l=(C=Q+E|0)>>>0>>0?l:y,E=PI(Q,0,E<<1&-2,1&(L<<1|E>>>31)),Q=h+l|0,l=1+(E=(Q=(C=C+E|0)>>>0>>0?Q+1|0:Q)+u|0)|0,y=E,u=(E=C+e|0)>>>0>>0?l:y,y=a,a=E,E=PI(e,0,C<<1&-2,1&(Q<<1|C>>>31)),u=h+u|0,E=fI(y^(a=a+E|0),J^(u=a>>>0>>0?u+1|0:u),40),k=1+(l=t+(J=h)|0)|0,y=l,m=(l=B+E|0)>>>0>>0?k:y,B=(t=PI(E,0,B<<1&-2,1&(t<<1|B>>>31)))+l|0,i[o+16>>2]=B,l=h+m|0,t=B>>>0>>0?l+1|0:l,i[o+20>>2]=t,B=fI(B^e,t^S,48),i[o+104>>2]=B,e=h,i[o+108>>2]=e,l=1+(e=e+u|0)|0,y=e,t=(e=B+a|0)>>>0>>0?l:y,a=(B=PI(B,0,a<<1&-2,1&(u<<1|a>>>31)))+e|0,e=h+t|0,u=B=B>>>0>a>>>0?e+1|0:e,i[q>>2]=a,i[q+4>>2]=B,e=(B=fI(C^D,Q^Z,1))+Y|0,t=(S=h)+j|0,C=(Q=PI(Y<<1&-2,1&(j<<1|Y>>>31),B,0))+e|0,e=h+(B>>>0>e>>>0?t+1|0:t)|0,e=fI(C^H,AA^(t=C>>>0>>0?e+1|0:e),32),l=1+(Q=V+(Y=h)|0)|0,y=Q,l=(Q=e+_|0)>>>0<_>>>0?l:y,y=B,B=(_=PI(e,0,_<<1&-2,1&(V<<1|_>>>31)))+Q|0,Q=h+l|0,_=fI(y^B,S^(Q=B>>>0<_>>>0?Q+1|0:Q),40),D=1+(l=t+(S=h)|0)|0,y=l,m=(l=C+_|0)>>>0>>0?D:y,y=e,C=PI(_,0,C<<1&-2,1&(t<<1|C>>>31)),t=h+m|0,C=fI(y^(e=C+l|0),Y^(t=C>>>0>e>>>0?t+1|0:t),48),D=1+(l=Q+(Y=h)|0)|0,y=l,m=(l=C+B|0)>>>0>>0?D:y,B=(Q=PI(C,0,B<<1&-2,1&(Q<<1|B>>>31)))+l|0,i[o+72>>2]=B,l=h+m|0,Q=B>>>0>>0?l+1|0:l,i[o+76>>2]=Q,i[o+112>>2]=C,i[o+116>>2]=Y,i[o+24>>2]=e,i[o+28>>2]=t,eA=o,EA=fI(a^E,u^J,1),i[eA+56>>2]=EA,i[o+60>>2]=h,eA=o,EA=fI(B^_,Q^S,1),i[eA+32>>2]=EA,i[o+36>>2]=h,8!=(0|(c=c+1|0)););for(;a=(B=i[392+(o=(g+3072|0)+(w<<4)|0)>>2])+(C=i[o+136>>2])|0,e=(t=i[o+396>>2])+(c=i[o+140>>2])|0,_=PI(C<<1&-2,1&(c<<1|C>>>31),B,0),C=h+(C>>>0>a>>>0?e+1|0:e)|0,a=(c=_+a|0)>>>0<_>>>0?C+1|0:C,_=(e=fI(c^i[o+904>>2],a^i[o+908>>2],32))+(C=i[o+648>>2])|0,E=(Q=h)+(u=i[o+652>>2])|0,y=B,u=PI(e,0,C<<1&-2,1&(u<<1|C>>>31)),C=h+(C>>>0>_>>>0?E+1|0:E)|0,Y=fI(y^(B=u+_|0),t^(H=B>>>0>>0?C+1|0:C),40),y=1+(C=a+(R=h)|0)|0,E=C,_=(C=c+Y|0)>>>0>>0?y:E,u=(c=PI(Y,0,c<<1&-2,1&(a<<1|c>>>31)))+C|0,C=h+_|0,J=fI(u^e,Q^(v=c>>>0>u>>>0?C+1|0:C),48),G=D=h,a=(S=i[o+268>>2])+(c=i[o+12>>2])|0,_=(e=i[o+264>>2])+(C=i[o+8>>2])|0,E=PI(C<<1&-2,1&(c<<1|C>>>31),e,0),C=h+(C>>>0>_>>>0?a+1|0:a)|0,_=(c=_+E|0)>>>0>>0?C+1|0:C,t=(E=fI(c^i[o+776>>2],_^i[o+780>>2],32))+(a=i[o+520>>2])|0,Q=(l=h)+(C=i[o+524>>2])|0,y=e,e=PI(E,0,a<<1&-2,1&(C<<1|a>>>31)),a=h+(a>>>0>t>>>0?Q+1|0:Q)|0,e=fI(y^(C=e+t|0),S^(t=C>>>0>>0?a+1|0:a),40),k=1+(a=_+(Q=h)|0)|0,y=a,S=(a=c+e|0)>>>0>>0?k:y,c=PI(e,0,c<<1&-2,1&(_<<1|c>>>31)),_=h+S|0,S=fI((a=c+a|0)^E,l^(j=a>>>0>>0?_+1|0:_),48),y=1+(c=t+(gA=h)|0)|0,E=c,_=(c=C+S|0)>>>0>>0?y:E,E=e,e=c,c=PI(S,0,C<<1&-2,1&(t<<1|C>>>31)),C=h+_|0,l=fI(E^(e=e+c|0),Q^(z=c>>>0>e>>>0?C+1|0:C),1),b=y=h,_=(k=i[o+260>>2])+(c=i[o+4>>2])|0,t=(E=i[o+256>>2])+(C=i[o>>2])|0,Q=PI(C<<1&-2,1&(c<<1|C>>>31),E,0),C=h+(C>>>0>t>>>0?_+1|0:_)|0,t=(c=t+Q|0)>>>0>>0?C+1|0:C,Q=(V=fI(c^i[o+768>>2],t^i[o+772>>2],32))+(C=i[o+512>>2])|0,m=(CA=h)+(_=i[o+516>>2])|0,M=E,E=PI(V,0,C<<1&-2,1&(_<<1|C>>>31)),C=h+(C>>>0>Q>>>0?m+1|0:m)|0,m=fI(M^(_=E+Q|0),k^(W=E>>>0>_>>>0?C+1|0:C),40),E=1+(C=t+($=h)|0)|0,Q=C,E=(C=c+m|0)>>>0>>0?E:Q,Q=C,C=PI(m,0,c<<1&-2,1&(t<<1|c>>>31)),E=h+E|0,E=1+(C=y+(q=C>>>0>(c=Q+C|0)>>>0?E+1|0:E)|0)|0,Q=C,t=(C=c+l|0)>>>0>>0?E:Q,Q=C,C=PI(l,0,c<<1&-2,1&(q<<1|c>>>31)),t=h+t|0,D=fI((E=Q+C|0)^J,D^(L=C>>>0>E>>>0?t+1|0:t),32),BA=h,Q=(Z=i[o+388>>2])+(C=i[o+132>>2])|0,k=(y=i[o+384>>2])+(t=i[o+128>>2])|0,x=PI(t<<1&-2,1&(C<<1|t>>>31),y,0),t=h+(t>>>0>k>>>0?Q+1|0:Q)|0,k=(C=k+x|0)>>>0>>0?t+1|0:t,d=(x=fI(C^i[o+896>>2],k^i[o+900>>2],32))+(Q=i[o+640>>2])|0,U=(O=h)+(t=i[o+644>>2])|0,M=y,y=PI(x,0,Q<<1&-2,1&(t<<1|Q>>>31)),Q=h+(Q>>>0>d>>>0?U+1|0:U)|0,y=fI(M^(t=y+d|0),Z^(d=t>>>0>>0?Q+1|0:Q),40),N=1+(Q=k+(Z=h)|0)|0,M=Q,U=(Q=C+y|0)>>>0>>0?N:M,C=PI(y,0,C<<1&-2,1&(k<<1|C>>>31)),k=h+U|0,k=fI(M=(Q=C+Q|0)^x,O^(x=C>>>0>Q>>>0?k+1|0:k),48),N=1+(C=d+(O=h)|0)|0,M=C,U=(C=t+k|0)>>>0>>0?N:M,t=PI(k,0,t<<1&-2,1&(d<<1|t>>>31)),d=h+U|0,N=1+(t=(d=(C=t+C|0)>>>0>>0?d+1|0:d)+BA|0)|0,M=t,U=(t=C+D|0)>>>0>>0?N:M,M=l,l=PI(D,0,C<<1&-2,1&(d<<1|C>>>31)),U=h+U|0,l=fI(M^(t=l+t|0),b^(U=t>>>0>>0?U+1|0:U),40),IA=1+(M=L+(b=h)|0)|0,N=M,AA=(M=E+l|0)>>>0>>0?IA:N,E=(L=PI(l,0,E<<1&-2,1&(L<<1|E>>>31)))+M|0,i[o>>2]=E,M=h+AA|0,L=E>>>0>>0?M+1|0:M,i[o+4>>2]=L,E=fI(E^D,L^BA,48),i[o+904>>2]=E,D=h,i[o+908>>2]=D,N=1+(D=D+U|0)|0,M=D,L=(D=t+E|0)>>>0>>0?N:M,E=(t=PI(E,0,t<<1&-2,1&(U<<1|t>>>31)))+D|0,i[o+640>>2]=E,D=h+L|0,t=t>>>0>E>>>0?D+1|0:D,i[o+644>>2]=t,eA=o,EA=fI(E^l,t^b,1),i[eA+264>>2]=EA,i[o+268>>2]=h,E=fI(C^y,d^Z,1),t=1+(C=j+(y=h)|0)|0,l=C,t=(C=a+E|0)>>>0>>0?t:l,C=C+(l=PI(E,0,a<<1&-2,1&(j<<1|a>>>31)))|0,a=h+t|0,t=fI(c^V,q^CA,48),a=fI(t^C,(l=C>>>0>>0?a+1|0:a)^(j=h),32),V=D=h,G=1+(c=H+G|0)|0,b=c,q=(c=B+J|0)>>>0>>0?G:b,B=PI(J,0,B<<1&-2,1&(H<<1|B>>>31)),J=h+q|0,b=1+(B=(J=B>>>0>(c=B+c|0)>>>0?J+1|0:J)+D|0)|0,D=B,D=(B=a+c|0)>>>0>>0?b:D,b=E,E=PI(a,0,c<<1&-2,1&(J<<1|c>>>31)),D=h+D|0,E=fI(b^(B=E+B|0),y^(D=B>>>0>>0?D+1|0:D),40),G=1+(H=l+(y=h)|0)|0,b=H,q=(H=C+E|0)>>>0>>0?G:b,b=a,a=PI(E,0,C<<1&-2,1&(l<<1|C>>>31)),l=h+q|0,a=fI(b^(C=a+H|0),V^(l=C>>>0>>0?l+1|0:l),48),i[o+768>>2]=a,H=h,i[o+772>>2]=H,i[o+8>>2]=C,i[o+12>>2]=l,b=1+(C=D+H|0)|0,l=C,l=(C=B+a|0)>>>0>>0?b:l,C=(B=PI(a,0,B<<1&-2,1&(D<<1|B>>>31)))+C|0,i[o+648>>2]=C,a=h+l|0,B=C>>>0>>0?a+1|0:a,i[o+652>>2]=B,eA=o,EA=fI(C^E,B^y,1),i[eA+384>>2]=EA,i[o+388>>2]=h,B=fI(c^Y,J^R,1),a=1+(c=x+(Y=h)|0)|0,C=c,a=(c=B+Q|0)>>>0>>0?a:C,C=c,c=PI(B,0,Q<<1&-2,1&(x<<1|Q>>>31)),a=h+a|0,a=fI((C=C+c|0)^S,gA^(E=C>>>0>>0?a+1|0:a),32),J=Q=h,l=1+(c=j+W|0)|0,y=c,S=(c=t+_|0)>>>0<_>>>0?l:y,_=PI(t,0,_<<1&-2,1&(W<<1|_>>>31)),t=h+S|0,y=1+(_=(t=(c=c+_|0)>>>0<_>>>0?t+1|0:t)+Q|0)|0,Q=_,Q=(_=a+c|0)>>>0>>0?y:Q,y=B,B=_,_=PI(a,0,c<<1&-2,1&(t<<1|c>>>31)),Q=h+Q|0,_=fI(y^(B=B+_|0),Y^(Q=B>>>0<_>>>0?Q+1|0:Q),40),l=1+(S=E+(Y=h)|0)|0,y=S,l=(S=C+_|0)>>>0>>0?l:y,y=a,a=PI(_,0,C<<1&-2,1&(E<<1|C>>>31)),E=h+l|0,a=fI(y^(C=a+S|0),J^(E=C>>>0>>0?E+1|0:E),48),i[o+776>>2]=a,J=h,i[o+780>>2]=J,i[o+128>>2]=C,i[o+132>>2]=E,y=1+(C=Q+J|0)|0,E=C,E=(C=B+a|0)>>>0>>0?y:E,C=(B=PI(a,0,B<<1&-2,1&(Q<<1|B>>>31)))+C|0,i[o+512>>2]=C,a=h+E|0,B=C>>>0>>0?a+1|0:a,i[o+516>>2]=B,eA=o,EA=fI(C^_,B^Y,1),i[eA+392>>2]=EA,i[o+396>>2]=h,B=(C=fI(c^m,t^$,1))+u|0,a=(E=h)+v|0,c=(_=PI(u<<1&-2,1&(v<<1|u>>>31),C,0))+B|0,B=h+(C>>>0>B>>>0?a+1|0:a)|0,B=fI(c^k,O^(_=c>>>0<_>>>0?B+1|0:B),32),y=1+(a=z+(t=h)|0)|0,Q=a,Q=(a=B+e|0)>>>0>>0?y:Q,y=C,C=a,a=PI(B,0,e<<1&-2,1&(z<<1|e>>>31)),e=h+Q|0,a=fI(y^(C=C+a|0),E^(e=C>>>0>>0?e+1|0:e),40),l=1+(Q=_+(E=h)|0)|0,y=Q,u=(Q=a+c|0)>>>0>>0?l:y,y=B,B=PI(a,0,c<<1&-2,1&(_<<1|c>>>31)),_=h+u|0,B=fI(y^(c=B+Q|0),t^(_=B>>>0>c>>>0?_+1|0:_),48),i[o+896>>2]=B,t=h,i[o+900>>2]=t,i[o+136>>2]=c,i[o+140>>2]=_,y=1+(c=t+e|0)|0,Q=c,_=(c=C+B|0)>>>0>>0?y:Q,c=(C=PI(B,0,C<<1&-2,1&(e<<1|C>>>31)))+c|0,i[o+520>>2]=c,B=h+_|0,C=C>>>0>c>>>0?B+1|0:B,i[o+524>>2]=C,eA=o,EA=fI(a^c,C^E,1),i[eA+256>>2]=EA,i[o+260>>2]=h,8!=(0|(w=w+1|0)););for(o=ng(rA,g+2048|0,1024),c=0;a=i[(C=(w=c<<3)+o|0)>>2],_=i[(e=(B=g+3072|0)+w|0)>>2],e=i[C+4>>2]^i[e+4>>2],i[C>>2]=a^_,i[C+4>>2]=e,e=i[(C=(a=8|w)+o|0)>>2],_=i[(a=B+a|0)>>2],a=i[C+4>>2]^i[a+4>>2],i[C>>2]=e^_,i[C+4>>2]=a,e=i[(C=(a=16|w)+o|0)>>2],_=i[(a=B+a|0)>>2],a=i[C+4>>2]^i[a+4>>2],i[C>>2]=e^_,i[C+4>>2]=a,a=i[(w=(C=24|w)+o|0)>>2],B=i[(C=C+B|0)>>2],C=i[w+4>>2]^i[C+4>>2],i[w>>2]=B^a,i[w+4>>2]=C,128!=(0|(c=c+4|0)););}if(c=tA+1|0,P=P+1|0,!((w=i[A+20>>2])>>>0>(K=K+1|0)>>>0))break}}s=g+4096|0}function F(A,I,g){var C,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0;for(s=Q=s-2048|0,ng(Q+1024|0,I,1024),I=0;a=i[(n=(t=Q+1024|0)+(B=I<<3)|0)>>2],o=i[(c=A+B|0)>>2],c=i[n+4>>2]^i[c+4>>2],i[n>>2]=a^o,i[n+4>>2]=c,c=i[(n=(a=8|B)+t|0)>>2],o=i[(a=A+a|0)>>2],a=i[n+4>>2]^i[a+4>>2],i[n>>2]=o^c,i[n+4>>2]=a,c=i[(n=(a=16|B)+t|0)>>2],o=i[(a=A+a|0)>>2],a=i[n+4>>2]^i[a+4>>2],i[n>>2]=o^c,i[n+4>>2]=a,n=i[(B=(a=t)+(t=24|B)|0)>>2],a=i[(t=A+t|0)>>2],t=i[B+4>>2]^i[t+4>>2],i[B>>2]=a^n,i[B+4>>2]=t,128!=(0|(I=I+4|0)););for(C=ng(Q,Q+1024|0,1024),A=0,I=0;t=i[(B=(Q=I<<3)+C|0)>>2],a=i[(n=g+Q|0)>>2],n=i[B+4>>2]^i[n+4>>2],i[B>>2]=a^t,i[B+4>>2]=n,n=i[(B=(t=8|Q)+C|0)>>2],a=i[(t=g+t|0)>>2],t=i[B+4>>2]^i[t+4>>2],i[B>>2]=a^n,i[B+4>>2]=t,n=i[(B=(t=16|Q)+C|0)>>2],a=i[(t=g+t|0)>>2],t=i[B+4>>2]^i[t+4>>2],i[B>>2]=a^n,i[B+4>>2]=t,t=i[(Q=(B=24|Q)+C|0)>>2],n=i[(B=g+B|0)>>2],B=i[Q+4>>2]^i[B+4>>2],i[Q>>2]=t^n,i[Q+4>>2]=B,128!=(0|(I=I+4|0)););for(;c=(a=i[56+(Q=(C+1024|0)+(A<<7)|0)>>2])+(B=i[Q+24>>2])|0,I=(u=i[Q+60>>2])+(t=i[Q+28>>2])|0,n=B>>>0>c>>>0?I+1|0:I,t=PI(B<<1&-2,1&(t<<1|B>>>31),a,0),I=h+n|0,n=(B=t+c|0)>>>0>>0?I+1|0:I,p=(c=fI(i[Q+120>>2]^B,n^i[Q+124>>2],32))+(t=i[Q+88>>2])|0,I=(e=h)+(o=i[Q+92>>2])|0,r=t>>>0>p>>>0?I+1|0:I,o=PI(t<<1&-2,1&(o<<1|t>>>31),c,0),I=h+r|0,R=fI(a^(t=o+p|0),u^(p=t>>>0>>0?I+1|0:I),40),I=n+(q=h)|0,a=(o=B+R|0)>>>0>>0?I+1|0:I,B=PI(R,0,B<<1&-2,1&(n<<1|B>>>31)),I=h+a|0,H=fI(c^(u=B+o|0),e^(b=B>>>0>u>>>0?I+1|0:I),48),j=I=h,E=H,o=(c=i[Q+40>>2])+(B=i[Q+8>>2])|0,I=(y=i[Q+44>>2])+(n=i[Q+12>>2])|0,a=B>>>0>o>>>0?I+1|0:I,n=PI(B<<1&-2,1&(n<<1|B>>>31),c,0),I=h+a|0,a=(B=n+o|0)>>>0>>0?I+1|0:I,m=(o=fI(i[Q+104>>2]^B,a^i[Q+108>>2],32))+(n=i[Q+72>>2])|0,I=(_=h)+(r=i[Q+76>>2])|0,e=n>>>0>m>>>0?I+1|0:I,r=PI(n<<1&-2,1&(r<<1|n>>>31),o,0),I=h+e|0,r=fI(l=(n=r+m|0)^c,y^(c=r>>>0>n>>>0?I+1|0:I),40),I=a+(y=h)|0,e=(m=B+r|0)>>>0>>0?I+1|0:I,a=PI(r,0,B<<1&-2,1&(a<<1|B>>>31)),I=h+e|0,L=fI((B=a+m|0)^o,_^(e=B>>>0>>0?I+1|0:I),48),I=c+(K=h)|0,a=(o=n+L|0)>>>0>>0?I+1|0:I,c=PI(L,0,n<<1&-2,1&(c<<1|n>>>31)),I=h+a|0,k=fI(r^(n=c+o|0),y^(m=n>>>0>>0?I+1|0:I),1),x=I=h,f=k,y=(r=i[Q+32>>2])+(a=i[Q>>2])|0,I=(Y=i[Q+36>>2])+(c=i[Q+4>>2])|0,o=a>>>0>y>>>0?I+1|0:I,c=PI(a<<1&-2,1&(c<<1|a>>>31),r,0),I=h+o|0,o=(a=c+y|0)>>>0>>0?I+1|0:I,D=(U=fI(i[Q+96>>2]^a,o^i[Q+100>>2],32))+(c=i[(I=G=Q- -64|0)>>2])|0,I=(z=h)+(y=i[I+4>>2])|0,_=c>>>0>D>>>0?I+1|0:I,y=PI(c<<1&-2,1&(y<<1|c>>>31),U,0),I=h+_|0,Y=fI(r^(c=y+D|0),Y^(y=c>>>0>>0?I+1|0:I),40),I=o+(X=h)|0,r=(_=a+Y|0)>>>0>>0?I+1|0:I,a=PI(Y,0,a<<1&-2,1&(o<<1|a>>>31)),I=h+r|0,I=x+(w=a>>>0>(_=a+_|0)>>>0?I+1|0:I)|0,o=(a=_+f|0)>>>0<_>>>0?I+1|0:I,r=PI(f,0,_<<1&-2,1&(w<<1|_>>>31)),I=h+o|0,J=fI((a=r+a|0)^E,j^(l=a>>>0>>0?I+1|0:I),32),P=I=h,F=I,f=(E=i[Q+48>>2])+(o=i[Q+16>>2])|0,I=(d=i[Q+52>>2])+(r=i[Q+20>>2])|0,D=o>>>0>f>>>0?I+1|0:I,r=PI(o<<1&-2,1&(r<<1|o>>>31),E,0),I=h+D|0,D=r>>>0>(o=r+f|0)>>>0?I+1|0:I,N=(f=fI(i[Q+112>>2]^o,D^i[Q+116>>2],32))+(r=i[Q+80>>2])|0,I=(v=h)+(S=i[Q+84>>2])|0,M=r>>>0>N>>>0?I+1|0:I,S=PI(r<<1&-2,1&(S<<1|r>>>31),f,0),I=h+M|0,S=fI(N=(r=S+N|0)^E,d^(E=r>>>0>>0?I+1|0:I),40),I=D+(d=h)|0,M=(N=o+S|0)>>>0>>0?I+1|0:I,D=PI(S,0,o<<1&-2,1&(D<<1|o>>>31)),I=h+M|0,M=fI((o=D+N|0)^f,v^(D=o>>>0>>0?I+1|0:I),48),I=E+(v=h)|0,f=(N=r+M|0)>>>0>>0?I+1|0:I,r=PI(M,0,r<<1&-2,1&(E<<1|r>>>31)),I=h+f|0,I=(f=r>>>0>(E=r+N|0)>>>0?I+1|0:I)+F|0,F=(r=E+J|0)>>>0>>0?I+1|0:I,N=PI(J,0,E<<1&-2,1&(f<<1|E>>>31)),I=h+F|0,F=fI(F=(r=N+r|0)^k,x^(k=r>>>0>>0?I+1|0:I),40),I=l+(x=h)|0,N=(V=a+F|0)>>>0>>0?I+1|0:I,a=(l=PI(F,0,a<<1&-2,1&(l<<1|a>>>31)))+V|0,I=h+N|0,i[Q>>2]=a,I=a>>>0>>0?I+1|0:I,i[Q+4>>2]=I,a=fI(a^J,I^P,48),i[Q+120>>2]=a,I=h,i[Q+124>>2]=I,I=I+k|0,l=(J=a+r|0)>>>0>>0?I+1|0:I,a=(r=PI(a,0,r<<1&-2,1&(k<<1|r>>>31)))+J|0,I=h+l|0,i[Q+80>>2]=a,I=a>>>0>>0?I+1|0:I,i[Q+84>>2]=I,W=Q,Z=fI(a^F,I^x,1),i[W+40>>2]=Z,i[Q+44>>2]=h,I=p+j|0,a=(r=t+H|0)>>>0>>0?I+1|0:I,t=PI(H,0,t<<1&-2,1&(p<<1|t>>>31)),I=h+a|0,a=I=t>>>0>(r=t+r|0)>>>0?I+1|0:I,l=fI(E^S,f^d,1),I=e+(f=h)|0,p=(E=B+l|0)>>>0>>0?I+1|0:I,B=(e=PI(l,0,B<<1&-2,1&(e<<1|B>>>31)))+E|0,I=h+p|0,E=fI(_^U,w^z,48),w=fI(E^B,(p=B>>>0>>0?I+1|0:I)^(k=h),32),I=(H=h)+a|0,e=(_=w+r|0)>>>0>>0?I+1|0:I,t=(I=_)+(_=PI(r<<1&-2,1&(a<<1|r>>>31),w,0))|0,I=h+e|0,_=fI(t^l,f^(e=t>>>0<_>>>0?I+1|0:I),40),I=p+(l=h)|0,f=(U=B+_|0)>>>0>>0?I+1|0:I,B=PI(_,0,B<<1&-2,1&(p<<1|B>>>31)),I=h+f|0,B=fI((p=B+U|0)^w,H^(I=B>>>0>p>>>0?I+1|0:I),48),i[Q+96>>2]=B,w=h,i[Q+100>>2]=w,i[Q+8>>2]=p,i[Q+12>>2]=I,I=e+w|0,p=(w=B+t|0)>>>0>>0?I+1|0:I,t=PI(B,0,t<<1&-2,1&(e<<1|t>>>31)),I=h+p|0,W=Q,Z=fI((B=t+w|0)^_,(I=B>>>0>>0?I+1|0:I)^l,1),i[W+48>>2]=Z,i[Q+52>>2]=h,i[Q+88>>2]=B,i[Q+92>>2]=I,r=fI(r^R,a^q,1),I=D+(_=h)|0,t=(B=r+o|0)>>>0>>0?I+1|0:I,a=PI(r,0,o<<1&-2,1&(D<<1|o>>>31)),I=h+t|0,p=fI((B=a+B|0)^L,K^(a=B>>>0>>0?I+1|0:I),32),w=I=h,t=I,I=y+k|0,o=(e=c+E|0)>>>0>>0?I+1|0:I,c=(I=e)+(e=PI(E,0,c<<1&-2,1&(y<<1|c>>>31)))|0,I=h+o|0,I=(o=c>>>0>>0?I+1|0:I)+t|0,e=(t=c+p|0)>>>0>>0?I+1|0:I,y=PI(p,0,c<<1&-2,1&(o<<1|c>>>31)),I=h+e|0,e=fI(E=(t=y+t|0)^r,_^(r=t>>>0>>0?I+1|0:I),40),I=a+(_=h)|0,y=(l=B+e|0)>>>0>>0?I+1|0:I,B=(a=PI(e,0,B<<1&-2,1&(a<<1|B>>>31)))+l|0,I=h+y|0,i[Q+16>>2]=B,I=B>>>0>>0?I+1|0:I,i[Q+20>>2]=I,B=fI(B^p,I^w,48),i[Q+104>>2]=B,I=h,i[Q+108>>2]=I,a=G,I=I+r|0,p=(y=B+t|0)>>>0>>0?I+1|0:I,t=PI(B,0,t<<1&-2,1&(r<<1|t>>>31)),I=h+p|0,r=B=t+y|0,p=I=B>>>0>>0?I+1|0:I,i[a>>2]=B,i[a+4>>2]=I,c=fI(c^Y,o^X,1),I=(y=h)+b|0,t=(B=c+u|0)>>>0>>0?I+1|0:I,a=PI(u<<1&-2,1&(b<<1|u>>>31),c,0),I=h+t|0,o=fI((B=a+B|0)^M,v^(a=B>>>0>>0?I+1|0:I),32),I=m+(b=h)|0,u=(t=o+n|0)>>>0>>0?I+1|0:I,n=PI(o,0,n<<1&-2,1&(m<<1|n>>>31)),I=h+u|0,c=fI((t=n+t|0)^c,y^(n=t>>>0>>0?I+1|0:I),40),I=a+(m=h)|0,u=(y=B+c|0)>>>0>>0?I+1|0:I,a=PI(c,0,B<<1&-2,1&(a<<1|B>>>31)),I=h+u|0,I=(B=a+y|0)>>>0>>0?I+1|0:I,a=B,E=B^o,o=I,B=fI(E,b^I,48),I=n+(b=h)|0,u=(y=B+t|0)>>>0>>0?I+1|0:I,t=(n=PI(B,0,t<<1&-2,1&(n<<1|t>>>31)))+y|0,I=h+u|0,i[Q+72>>2]=t,I=t>>>0>>0?I+1|0:I,i[Q+76>>2]=I,i[Q+112>>2]=B,i[Q+116>>2]=b,i[Q+24>>2]=a,i[Q+28>>2]=o,W=Q,Z=fI(r^e,p^_,1),i[W+56>>2]=Z,i[Q+60>>2]=h,W=Q,Z=fI(t^c,I^m,1),i[W+32>>2]=Z,i[Q+36>>2]=h,8!=(0|(A=A+1|0)););for(A=0;c=(a=i[392+(Q=(C+1024|0)+(A<<4)|0)>>2])+(B=i[Q+136>>2])|0,I=(u=i[Q+396>>2])+(t=i[Q+140>>2])|0,n=B>>>0>c>>>0?I+1|0:I,t=PI(B<<1&-2,1&(t<<1|B>>>31),a,0),I=h+n|0,n=(B=t+c|0)>>>0>>0?I+1|0:I,p=(c=fI(i[Q+904>>2]^B,n^i[Q+908>>2],32))+(t=i[Q+648>>2])|0,I=(e=h)+(o=i[Q+652>>2])|0,r=t>>>0>p>>>0?I+1|0:I,o=PI(t<<1&-2,1&(o<<1|t>>>31),c,0),I=h+r|0,R=fI(a^(t=o+p|0),u^(p=t>>>0>>0?I+1|0:I),40),I=n+(N=h)|0,a=(o=B+R|0)>>>0>>0?I+1|0:I,B=PI(R,0,B<<1&-2,1&(n<<1|B>>>31)),I=h+a|0,H=fI(c^(u=B+o|0),e^(b=B>>>0>u>>>0?I+1|0:I),48),q=I=h,E=H,o=(c=i[Q+264>>2])+(B=i[Q+8>>2])|0,I=(y=i[Q+268>>2])+(n=i[Q+12>>2])|0,a=B>>>0>o>>>0?I+1|0:I,n=PI(B<<1&-2,1&(n<<1|B>>>31),c,0),I=h+a|0,a=(B=n+o|0)>>>0>>0?I+1|0:I,m=(o=fI(i[Q+776>>2]^B,a^i[Q+780>>2],32))+(n=i[Q+520>>2])|0,I=(_=h)+(r=i[Q+524>>2])|0,e=n>>>0>m>>>0?I+1|0:I,r=PI(n<<1&-2,1&(r<<1|n>>>31),o,0),I=h+e|0,r=fI(l=(n=r+m|0)^c,y^(c=r>>>0>n>>>0?I+1|0:I),40),I=a+(y=h)|0,e=(m=B+r|0)>>>0>>0?I+1|0:I,a=PI(r,0,B<<1&-2,1&(a<<1|B>>>31)),I=h+e|0,L=fI((B=a+m|0)^o,_^(e=B>>>0>>0?I+1|0:I),48),I=c+(j=h)|0,a=(o=n+L|0)>>>0>>0?I+1|0:I,c=PI(L,0,n<<1&-2,1&(c<<1|n>>>31)),I=h+a|0,k=fI(r^(n=c+o|0),y^(m=n>>>0>>0?I+1|0:I),1),K=I=h,f=k,y=(r=i[Q+256>>2])+(a=i[Q>>2])|0,I=(Y=i[Q+260>>2])+(c=i[Q+4>>2])|0,o=a>>>0>y>>>0?I+1|0:I,c=PI(a<<1&-2,1&(c<<1|a>>>31),r,0),I=h+o|0,o=(a=c+y|0)>>>0>>0?I+1|0:I,D=(U=fI(i[Q+768>>2]^a,o^i[Q+772>>2],32))+(c=i[Q+512>>2])|0,I=(x=h)+(y=i[Q+516>>2])|0,_=c>>>0>D>>>0?I+1|0:I,y=PI(c<<1&-2,1&(y<<1|c>>>31),U,0),I=h+_|0,Y=fI(r^(c=y+D|0),Y^(y=c>>>0>>0?I+1|0:I),40),I=o+(z=h)|0,r=(_=a+Y|0)>>>0>>0?I+1|0:I,a=PI(Y,0,a<<1&-2,1&(o<<1|a>>>31)),I=h+r|0,I=K+(w=a>>>0>(_=a+_|0)>>>0?I+1|0:I)|0,o=(a=_+f|0)>>>0<_>>>0?I+1|0:I,r=PI(f,0,_<<1&-2,1&(w<<1|_>>>31)),I=h+o|0,J=fI((a=r+a|0)^E,q^(l=a>>>0>>0?I+1|0:I),32),X=I=h,F=I,f=(E=i[Q+384>>2])+(o=i[Q+128>>2])|0,I=(P=i[Q+388>>2])+(r=i[Q+132>>2])|0,D=o>>>0>f>>>0?I+1|0:I,r=PI(o<<1&-2,1&(r<<1|o>>>31),E,0),I=h+D|0,D=r>>>0>(o=r+f|0)>>>0?I+1|0:I,G=(f=fI(i[Q+896>>2]^o,D^i[Q+900>>2],32))+(r=i[Q+640>>2])|0,I=(d=h)+(S=i[Q+644>>2])|0,M=r>>>0>G>>>0?I+1|0:I,S=PI(r<<1&-2,1&(S<<1|r>>>31),f,0),I=h+M|0,S=fI(G=(r=S+G|0)^E,P^(E=r>>>0>>0?I+1|0:I),40),I=D+(P=h)|0,M=(G=o+S|0)>>>0>>0?I+1|0:I,D=PI(S,0,o<<1&-2,1&(D<<1|o>>>31)),I=h+M|0,M=fI((o=D+G|0)^f,d^(D=o>>>0>>0?I+1|0:I),48),I=E+(d=h)|0,f=(G=r+M|0)>>>0>>0?I+1|0:I,r=PI(M,0,r<<1&-2,1&(E<<1|r>>>31)),I=h+f|0,I=(f=r>>>0>(E=r+G|0)>>>0?I+1|0:I)+F|0,F=(r=E+J|0)>>>0>>0?I+1|0:I,G=PI(J,0,E<<1&-2,1&(f<<1|E>>>31)),I=h+F|0,F=fI(F=(r=G+r|0)^k,K^(k=r>>>0>>0?I+1|0:I),40),I=l+(K=h)|0,G=(v=a+F|0)>>>0>>0?I+1|0:I,a=(l=PI(F,0,a<<1&-2,1&(l<<1|a>>>31)))+v|0,I=h+G|0,i[Q>>2]=a,I=a>>>0>>0?I+1|0:I,i[Q+4>>2]=I,a=fI(a^J,I^X,48),i[Q+904>>2]=a,I=h,i[Q+908>>2]=I,I=I+k|0,l=(J=a+r|0)>>>0>>0?I+1|0:I,a=(r=PI(a,0,r<<1&-2,1&(k<<1|r>>>31)))+J|0,I=h+l|0,i[Q+640>>2]=a,I=a>>>0>>0?I+1|0:I,i[Q+644>>2]=I,W=Q,Z=fI(a^F,I^K,1),i[W+264>>2]=Z,i[Q+268>>2]=h,I=p+q|0,a=(r=t+H|0)>>>0>>0?I+1|0:I,t=PI(H,0,t<<1&-2,1&(p<<1|t>>>31)),I=h+a|0,a=I=t>>>0>(r=t+r|0)>>>0?I+1|0:I,l=fI(E^S,f^P,1),I=e+(f=h)|0,p=(E=B+l|0)>>>0>>0?I+1|0:I,B=(e=PI(l,0,B<<1&-2,1&(e<<1|B>>>31)))+E|0,I=h+p|0,w=fI(_^U,w^x,48),_=fI(w^B,(p=B>>>0>>0?I+1|0:I)^(k=h),32),I=(H=h)+a|0,e=_>>>0>(E=_+r|0)>>>0?I+1|0:I,t=(I=E)+(E=PI(r<<1&-2,1&(a<<1|r>>>31),_,0))|0,I=h+e|0,l=fI(t^l,f^(e=t>>>0>>0?I+1|0:I),40),I=p+(f=h)|0,E=(U=B+l|0)>>>0>>0?I+1|0:I,B=PI(l,0,B<<1&-2,1&(p<<1|B>>>31)),I=h+E|0,B=fI((p=B+U|0)^_,H^(I=B>>>0>p>>>0?I+1|0:I),48),i[Q+768>>2]=B,_=h,i[Q+772>>2]=_,i[Q+8>>2]=p,i[Q+12>>2]=I,I=e+_|0,p=(_=B+t|0)>>>0>>0?I+1|0:I,B=(t=PI(B,0,t<<1&-2,1&(e<<1|t>>>31)))+_|0,I=h+p|0,i[Q+648>>2]=B,I=B>>>0>>0?I+1|0:I,i[Q+652>>2]=I,W=Q,Z=fI(B^l,I^f,1),i[W+384>>2]=Z,i[Q+388>>2]=h,r=fI(r^R,a^N,1),I=D+(_=h)|0,t=(B=r+o|0)>>>0>>0?I+1|0:I,a=PI(r,0,o<<1&-2,1&(D<<1|o>>>31)),I=h+t|0,p=fI((B=a+B|0)^L,j^(a=B>>>0>>0?I+1|0:I),32),l=I=h,t=I,I=y+k|0,o=(e=c+w|0)>>>0>>0?I+1|0:I,c=(I=e)+(e=PI(w,0,c<<1&-2,1&(y<<1|c>>>31)))|0,I=h+o|0,I=(o=c>>>0>>0?I+1|0:I)+t|0,e=(t=c+p|0)>>>0>>0?I+1|0:I,y=PI(p,0,c<<1&-2,1&(o<<1|c>>>31)),I=h+e|0,e=fI(E=(t=y+t|0)^r,_^(r=t>>>0>>0?I+1|0:I),40),I=a+(_=h)|0,y=(w=B+e|0)>>>0>>0?I+1|0:I,B=PI(e,0,B<<1&-2,1&(a<<1|B>>>31)),I=h+y|0,B=fI((a=B+w|0)^p,l^(I=B>>>0>a>>>0?I+1|0:I),48),i[Q+776>>2]=B,p=h,i[Q+780>>2]=p,i[Q+128>>2]=a,i[Q+132>>2]=I,I=r+p|0,a=(p=B+t|0)>>>0>>0?I+1|0:I,B=(t=PI(B,0,t<<1&-2,1&(r<<1|t>>>31)))+p|0,I=h+a|0,i[Q+512>>2]=B,I=B>>>0>>0?I+1|0:I,i[Q+516>>2]=I,W=Q,Z=fI(B^e,I^_,1),i[W+392>>2]=Z,i[Q+396>>2]=h,a=fI(c^Y,o^z,1),I=(r=h)+b|0,t=(B=a+u|0)>>>0>>0?I+1|0:I,c=PI(u<<1&-2,1&(b<<1|u>>>31),a,0),I=h+t|0,c=fI((B=c+B|0)^M,d^(t=B>>>0>>0?I+1|0:I),32),I=m+(p=h)|0,o=(u=n+c|0)>>>0>>0?I+1|0:I,n=(I=u)+(u=PI(c,0,n<<1&-2,1&(m<<1|n>>>31)))|0,I=h+o|0,o=fI(E=a^n,r^(a=n>>>0>>0?I+1|0:I),40),I=t+(u=h)|0,r=(b=B+o|0)>>>0>>0?I+1|0:I,B=PI(o,0,B<<1&-2,1&(t<<1|B>>>31)),I=h+r|0,B=fI((t=B+b|0)^c,p^(I=B>>>0>t>>>0?I+1|0:I),48),i[Q+896>>2]=B,c=h,i[Q+900>>2]=c,i[Q+136>>2]=t,i[Q+140>>2]=I,I=a+c|0,t=(c=B+n|0)>>>0>>0?I+1|0:I,B=(n=PI(B,0,n<<1&-2,1&(a<<1|n>>>31)))+c|0,I=h+t|0,i[Q+520>>2]=B,I=B>>>0>>0?I+1|0:I,i[Q+524>>2]=I,W=Q,Z=fI(B^o,I^u,1),i[W+256>>2]=Z,i[Q+260>>2]=h,8!=(0|(A=A+1|0)););for(I=ng(g,C,1024),A=0;B=i[(Q=(g=A<<3)+I|0)>>2],a=i[(n=(t=E=C+1024|0)+g|0)>>2],n=i[Q+4>>2]^i[n+4>>2],i[Q>>2]=B^a,i[Q+4>>2]=n,n=i[(Q=(B=8|g)+I|0)>>2],t=i[(B=B+t|0)>>2],B=i[Q+4>>2]^i[B+4>>2],i[Q>>2]=t^n,i[Q+4>>2]=B,t=i[(Q=(B=16|g)+I|0)>>2],n=i[(B=B+E|0)>>2],B=i[Q+4>>2]^i[B+4>>2],i[Q>>2]=t^n,i[Q+4>>2]=B,B=i[(g=(Q=24|g)+I|0)>>2],t=i[(Q=Q+E|0)>>2],Q=i[g+4>>2]^i[Q+4>>2],i[g>>2]=B^t,i[g+4>>2]=Q,128!=(0|(A=A+4|0)););s=C+2048|0}function S(A){var I,g=0,C=0,B=0,a=0,Q=0,t=0,n=0,e=0,E=0,_=0,y=0,p=0;s=I=s-16|0;A:{I:{g:{C:{B:{a:{Q:{t:{i:{if((A|=0)>>>0<=244){if(3&(g=(t=i[9130])>>>(C=(n=A>>>0<11?16:A+11&-8)>>>3|0)|0)){g=36560+(A=(C=C+(1&(-1^g))|0)<<3)|0,B=i[A+36568>>2],(0|g)!=(0|(A=i[B+8>>2]))?(i[A+12>>2]=g,i[g+8>>2]=A):(y=36520,p=kg(-2,C)&t,i[y>>2]=p),A=B+8|0,g=C<<3,i[B+4>>2]=3|g,i[4+(g=g+B|0)>>2]=1|i[g+4>>2];break A}if((_=i[9132])>>>0>=n>>>0)break i;if(g){g=36560+(A=(B=iC(0-(A=(0-(A=2<>2],(0|g)!=(0|(A=i[a+8>>2]))?(i[A+12>>2]=g,i[g+8>>2]=A):(t=kg(-2,B)&t,i[9130]=t),i[a+4>>2]=3|n,B=(A=B<<3)-n|0,i[4+(C=a+n|0)>>2]=1|B,i[A+a>>2]=B,_&&(g=36560+(-8&_)|0,Q=i[9135],(A=1<<(_>>>3))&t?A=i[g+8>>2]:(i[9130]=A|t,A=g),i[g+8>>2]=Q,i[A+12>>2]=Q,i[Q+12>>2]=g,i[Q+8>>2]=A),A=a+8|0,i[9135]=C,i[9132]=B;break A}if(!(E=i[9131]))break i;for(C=i[36824+(iC(0-E&E)<<2)>>2],Q=(-8&i[C+4>>2])-n|0,g=C;(A=i[g+16>>2])||(A=i[g+20>>2]);)Q=(B=(g=(-8&i[A+4>>2])-n|0)>>>0>>0)?g:Q,C=B?A:C,g=A;if(e=i[C+24>>2],(0|(B=i[C+12>>2]))!=(0|C)){A=i[C+8>>2],i[A+12>>2]=B,i[B+8>>2]=A;break I}if(!(A=i[(g=C+20|0)>>2])){if(!(A=i[C+16>>2]))break t;g=C+16|0}for(;a=g,B=A,(A=i[(g=A+20|0)>>2])||(g=B+16|0,A=i[B+16>>2]););i[a>>2]=0;break I}if(n=-1,!(A>>>0>4294967231)&&(n=-8&(A=A+11|0),E=i[9131])){Q=0-n|0,t=0,n>>>0<256||(t=31,n>>>0>16777215||(t=62+((n>>>38-(A=c(A>>>8|0))&1)-(A<<1)|0)|0));r:{o:{if(g=i[36824+(t<<2)>>2])for(A=0,C=n<<(31!=(0|t)?25-(t>>>1|0)|0:0);;){if(!((a=(-8&i[g+4>>2])-n|0)>>>0>=Q>>>0||(B=g,Q=a,a))){Q=0,A=g;break o}if(a=i[g+20>>2],g=i[16+((C>>>29&4)+g|0)>>2],A=a?(0|a)==(0|g)?A:a:A,C<<=1,!g)break}else A=0;if(!(A|B)){if(B=0,!(A=(0-(A=2<>2]}if(!A)break r}for(;Q=(C=(g=(-8&i[A+4>>2])-n|0)>>>0>>0)?g:Q,B=C?A:B,A=(g=i[A+16>>2])||i[A+20>>2];);}if(!(!B|i[9132]-n>>>0<=Q>>>0)){if(t=i[B+24>>2],(0|B)!=(0|(C=i[B+12>>2]))){A=i[B+8>>2],i[A+12>>2]=C,i[C+8>>2]=A;break g}if(!(A=i[(g=B+20|0)>>2])){if(!(A=i[B+16>>2]))break Q;g=B+16|0}for(;a=g,C=A,(A=i[(g=A+20|0)>>2])||(g=C+16|0,A=i[C+16>>2]););i[a>>2]=0;break g}}}if((A=i[9132])>>>0>=n>>>0){B=i[9135],(g=A-n|0)>>>0>=16?(i[4+(C=B+n|0)>>2]=1|g,i[A+B>>2]=g,i[B+4>>2]=3|n):(i[B+4>>2]=3|A,i[4+(A=A+B|0)>>2]=1|i[A+4>>2],C=0,g=0),i[9132]=g,i[9135]=C,A=B+8|0;break A}if((e=i[9133])>>>0>n>>>0){g=e-n|0,i[9133]=g,A=(C=i[9136])+n|0,i[9136]=A,i[A+4>>2]=1|g,i[C+4>>2]=3|n,A=C+8|0;break A}if(A=0,E=n+47|0,i[9248]?C=i[9250]:(i[9251]=-1,i[9252]=-1,i[9249]=4096,i[9250]=4096,i[9248]=I+12&-16^1431655768,i[9253]=0,i[9241]=0,C=4096),(g=(a=E+C|0)&(Q=0-C|0))>>>0<=n>>>0)break A;if((B=i[9240])&&B>>>0<(t=(C=i[9238])+g|0)>>>0|C>>>0>=t>>>0)break A;i:{if(!(4&r[36964])){r:{o:{n:{c:{if(B=i[9136])for(A=36968;;){if((C=i[A>>2])>>>0<=B>>>0&B>>>0>2]>>>0)break c;if(!(A=i[A+8>>2]))break}if(-1==(0|(C=TI(0))))break r;if(t=g,(A=(B=i[9249])-1|0)&C&&(t=(g-C|0)+(A+C&0-B)|0),t>>>0<=n>>>0)break r;if((B=i[9240])&&B>>>0<(Q=(A=i[9238])+t|0)>>>0|A>>>0>=Q>>>0)break r;if((0|C)!=(0|(A=TI(t))))break n;break i}if((0|(C=TI(t=Q&a-e)))==(i[A>>2]+i[A+4>>2]|0))break o;A=C}if(-1==(0|A))break r;if(n+48>>>0<=t>>>0){C=A;break i}if(-1==(0|TI(C=(C=i[9250])+(E-t|0)&0-C)))break r;t=C+t|0,C=A;break i}if(-1!=(0|C))break i}i[9241]=4|i[9241]}if(-1==(0|(C=TI(g)))|-1==(0|(A=TI(0)))|A>>>0<=C>>>0)break C;if((t=A-C|0)>>>0<=n+40>>>0)break C}A=i[9238]+t|0,i[9238]=A,A>>>0>o[9239]&&(i[9239]=A);i:{if(a=i[9136]){for(A=36968;;){if(((B=i[A>>2])+(g=i[A+4>>2])|0)==(0|C))break i;if(!(A=i[A+8>>2]))break}break a}for((A=i[9134])>>>0<=C>>>0&&A||(i[9134]=C),A=0,i[9243]=t,i[9242]=C,i[9138]=-1,i[9139]=i[9248],i[9245]=0;g=36560+(B=A<<3)|0,i[B+36568>>2]=g,i[B+36572>>2]=g,32!=(0|(A=A+1|0)););g=(B=t-40|0)-(A=C+8&7?-8-C&7:0)|0,i[9133]=g,A=A+C|0,i[9136]=A,i[A+4>>2]=1|g,i[4+(C+B|0)>>2]=40,i[9137]=i[9252];break B}if(8&r[A+12|0]|B>>>0>a>>>0|C>>>0<=a>>>0)break a;i[A+4>>2]=g+t,C=(A=a+8&7?-8-a&7:0)+a|0,i[9136]=C,A=(g=i[9133]+t|0)-A|0,i[9133]=A,i[C+4>>2]=1|A,i[4+(g+a|0)>>2]=40,i[9137]=i[9252];break B}B=0;break I}C=0;break g}o[9134]>C>>>0&&(i[9134]=C),g=C+t|0,A=36968;a:{Q:{t:{i:{r:{o:{for(;;){if((0|g)!=i[A>>2]){if(A=i[A+8>>2])continue;break o}break}if(!(8&r[A+12|0]))break r}for(A=36968;;){if((g=i[A>>2])>>>0<=a>>>0&&(Q=g+i[A+4>>2]|0)>>>0>a>>>0)break i;A=i[A+8>>2]}}if(i[A>>2]=C,i[A+4>>2]=i[A+4>>2]+t,i[4+(E=(C+8&7?-8-C&7:0)+C|0)>>2]=3|n,A=(t=g+(g+8&7?-8-g&7:0)|0)-(e=n+E|0)|0,(0|a)==(0|t)){i[9136]=e,A=i[9133]+A|0,i[9133]=A,i[e+4>>2]=1|A;break Q}if(i[9135]==(0|t)){i[9135]=e,A=i[9132]+A|0,i[9132]=A,i[e+4>>2]=1|A,i[A+e>>2]=A;break Q}if(1==(3&(Q=i[t+4>>2]))){a=-8&Q;r:if(Q>>>0<=255){if(B=i[t+8>>2],g=Q>>>3|0,(0|(C=i[t+12>>2]))==(0|B)){y=36520,p=i[9130]&kg(-2,g),i[y>>2]=p;break r}i[B+12>>2]=C,i[C+8>>2]=B}else{if(n=i[t+24>>2],(0|t)==(0|(C=i[t+12>>2])))if((g=i[(Q=t+20|0)>>2])||(g=i[(Q=t+16|0)>>2])){for(;B=Q,(g=i[(Q=(C=g)+20|0)>>2])||(Q=C+16|0,g=i[C+16>>2]););i[B>>2]=0}else C=0;else g=i[t+8>>2],i[g+12>>2]=C,i[C+8>>2]=g;if(n){B=i[t+28>>2];o:{if(i[(g=36824+(B<<2)|0)>>2]==(0|t)){if(i[g>>2]=C,C)break o;y=36524,p=i[9131]&kg(-2,B),i[y>>2]=p;break r}if(i[n+(i[n+16>>2]==(0|t)?16:20)>>2]=C,!C)break r}i[C+24>>2]=n,(g=i[t+16>>2])&&(i[C+16>>2]=g,i[g+24>>2]=C),(g=i[t+20>>2])&&(i[C+20>>2]=g,i[g+24>>2]=C)}}Q=i[4+(t=a+t|0)>>2],A=A+a|0}if(i[t+4>>2]=-2&Q,i[e+4>>2]=1|A,i[A+e>>2]=A,A>>>0<=255){g=36560+(-8&A)|0,(C=i[9130])&(A=1<<(A>>>3))?A=i[g+8>>2]:(i[9130]=A|C,A=g),i[g+8>>2]=e,i[A+12>>2]=e,i[e+12>>2]=g,i[e+8>>2]=A;break Q}if(Q=31,A>>>0<=16777215&&(Q=62+((A>>>38-(g=c(A>>>8|0))&1)-(g<<1)|0)|0),i[e+28>>2]=Q,i[e+16>>2]=0,i[e+20>>2]=0,g=36824+(Q<<2)|0,(B=i[9131])&(C=1<>>1|0)|0:0),C=i[g>>2];;){if(g=C,(-8&i[C+4>>2])==(0|A))break t;if(C=Q>>>29|0,Q<<=1,!(C=i[16+(B=(4&C)+g|0)>>2]))break}i[B+16>>2]=e}else i[9131]=C|B,i[g>>2]=e;i[e+24>>2]=g,i[e+12>>2]=e,i[e+8>>2]=e;break Q}for(g=(B=t-40|0)-(A=C+8&7?-8-C&7:0)|0,i[9133]=g,A=A+C|0,i[9136]=A,i[A+4>>2]=1|g,i[4+(C+B|0)>>2]=40,i[9137]=i[9252],i[(B=(A=(Q+(Q-39&7?39-Q&7:0)|0)-47|0)>>>0>>0?a:A)+4>>2]=27,A=i[9245],i[B+16>>2]=i[9244],i[B+20>>2]=A,A=i[9243],i[B+8>>2]=i[9242],i[B+12>>2]=A,i[9244]=B+8,i[9243]=t,i[9242]=C,i[9245]=0,A=B+24|0;i[A+4>>2]=7,g=A+8|0,A=A+4|0,g>>>0>>0;);if((0|B)==(0|a))break B;if(i[B+4>>2]=-2&i[B+4>>2],Q=B-a|0,i[a+4>>2]=1|Q,i[B>>2]=Q,Q>>>0<=255){g=36560+(-8&Q)|0,(C=i[9130])&(A=1<<(Q>>>3))?A=i[g+8>>2]:(i[9130]=A|C,A=g),i[g+8>>2]=a,i[A+12>>2]=a,i[a+12>>2]=g,i[a+8>>2]=A;break B}if(A=31,Q>>>0<=16777215&&(A=62+((Q>>>38-(A=c(Q>>>8|0))&1)-(A<<1)|0)|0),i[a+28>>2]=A,i[a+16>>2]=0,i[a+20>>2]=0,g=36824+(A<<2)|0,(B=i[9131])&(C=1<>>1|0)|0:0),B=i[g>>2];;){if((0|Q)==(-8&i[(g=B)+4>>2]))break a;if(C=A>>>29|0,A<<=1,!(B=i[16+(C=(4&C)+g|0)>>2]))break}i[C+16>>2]=a}else i[9131]=C|B,i[g>>2]=a;i[a+24>>2]=g,i[a+12>>2]=a,i[a+8>>2]=a;break B}A=i[g+8>>2],i[A+12>>2]=e,i[g+8>>2]=e,i[e+24>>2]=0,i[e+12>>2]=g,i[e+8>>2]=A}A=E+8|0;break A}A=i[g+8>>2],i[A+12>>2]=a,i[g+8>>2]=a,i[a+24>>2]=0,i[a+12>>2]=g,i[a+8>>2]=A}if(!((A=i[9133])>>>0<=n>>>0)){g=A-n|0,i[9133]=g,A=(C=i[9136])+n|0,i[9136]=A,i[A+4>>2]=1|g,i[C+4>>2]=3|n,A=C+8|0;break A}}i[9129]=48,A=0;break A}g:if(t){g=i[B+28>>2];C:{if(i[(A=36824+(g<<2)|0)>>2]==(0|B)){if(i[A>>2]=C,C)break C;E=kg(-2,g)&E,i[9131]=E;break g}if(i[t+(i[t+16>>2]==(0|B)?16:20)>>2]=C,!C)break g}i[C+24>>2]=t,(A=i[B+16>>2])&&(i[C+16>>2]=A,i[A+24>>2]=C),(A=i[B+20>>2])&&(i[C+20>>2]=A,i[A+24>>2]=C)}g:if(Q>>>0<=15)A=Q+n|0,i[B+4>>2]=3|A,i[4+(A=A+B|0)>>2]=1|i[A+4>>2];else if(i[B+4>>2]=3|n,i[4+(a=B+n|0)>>2]=1|Q,i[a+Q>>2]=Q,Q>>>0<=255)g=36560+(-8&Q)|0,(C=i[9130])&(A=1<<(Q>>>3))?A=i[g+8>>2]:(i[9130]=A|C,A=g),i[g+8>>2]=a,i[A+12>>2]=a,i[a+12>>2]=g,i[a+8>>2]=A;else{A=31,Q>>>0<=16777215&&(A=62+((Q>>>38-(A=c(Q>>>8|0))&1)-(A<<1)|0)|0),i[a+28>>2]=A,i[a+16>>2]=0,i[a+20>>2]=0,g=36824+(A<<2)|0;C:{if((C=1<>>1|0)|0:0),n=i[g>>2];;){if((-8&i[(g=n)+4>>2])==(0|Q))break C;if(C=A>>>29|0,A<<=1,!(n=i[16+(C=(4&C)+g|0)>>2]))break}i[C+16>>2]=a}else i[9131]=C|E,i[g>>2]=a;i[a+24>>2]=g,i[a+12>>2]=a,i[a+8>>2]=a;break g}A=i[g+8>>2],i[A+12>>2]=a,i[g+8>>2]=a,i[a+24>>2]=0,i[a+12>>2]=g,i[a+8>>2]=A}A=B+8|0;break A}I:if(e){g=i[C+28>>2];g:{if(i[(A=36824+(g<<2)|0)>>2]==(0|C)){if(i[A>>2]=B,B)break g;y=36524,p=kg(-2,g)&E,i[y>>2]=p;break I}if(i[e+(i[e+16>>2]==(0|C)?16:20)>>2]=B,!B)break I}i[B+24>>2]=e,(A=i[C+16>>2])&&(i[B+16>>2]=A,i[A+24>>2]=B),(A=i[C+20>>2])&&(i[B+20>>2]=A,i[A+24>>2]=B)}Q>>>0<=15?(A=Q+n|0,i[C+4>>2]=3|A,i[4+(A=A+C|0)>>2]=1|i[A+4>>2]):(i[C+4>>2]=3|n,i[4+(B=C+n|0)>>2]=1|Q,i[B+Q>>2]=Q,_&&(g=36560+(-8&_)|0,a=i[9135],(A=1<<(_>>>3))&t?A=i[g+8>>2]:(i[9130]=A|t,A=g),i[g+8>>2]=a,i[A+12>>2]=a,i[a+12>>2]=g,i[a+8>>2]=A),i[9135]=B,i[9132]=Q),A=C+8|0}return s=I+16|0,0|A}function G(A,I,g,C,B,a){var Q,o=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0,U=0,J=0,d=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0;if(s=Q=s-592|0,c=-1,KI(y=A+32|0)&&!pI(A)&&yI(B)&&!pI(B)&&!HA(Q+128|0,B)){for(_I(c=Q+384|0),a&&cA(c,35248,34,0),cA(c,A,32,0),cA(c,B,32,0),cA(c,I,g,C),K(c,g=Q+320|0),m(g),a=Q+8|0,C=Q+128|0,B=0,I=0,s=o=s-2272|0;e=g+(B>>>3|0)|0,t[(c=o+2016|0)+B|0]=r[0|e]>>>(6&B)&1,t[(E=c)+(c=1|B)|0]=r[0|e]>>>(7&c)&1,256!=(0|(B=B+2|0)););for(;;){I=(g=I)+1|0;A:if(!(!r[0|(p=g+(o+2016|0)|0)]|g>>>0>254)){I:if(B=t[0|(E=(o+2016|0)+I|0)])if((0|(B=(e=B<<1)+(c=t[0|p])|0))<=15)t[0|p]=B,t[0|E]=0;else{if((0|(B=c-e|0))<-15)break A;for(t[0|p]=B,B=I;;){if(!r[0|(c=(o+2016|0)+B|0)]){t[0|c]=1;break I}if(t[0|c]=0,c=B>>>0<255,B=B+1|0,!c)break}}if(!(g>>>0>253)){I:if(c=t[0|(_=(B=g+2|0)+(o+2016|0)|0)])if((0|(c=(E=c<<2)+(e=t[0|p])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|p]=c;;){if(r[0|(c=(o+2016|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|p]=c,t[0|_]=0;if(!(g>>>0>252)){I:if(c=t[0|(_=(B=g+3|0)+(o+2016|0)|0)])if((0|(c=(E=c<<3)+(e=t[0|p])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|p]=c;;){if(r[0|(c=(o+2016|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|p]=c,t[0|_]=0;if(!(g>>>0>251)){I:if(c=t[0|(_=(B=g+4|0)+(o+2016|0)|0)])if((0|(c=(E=c<<4)+(e=t[0|p])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|p]=c;;){if(r[0|(c=(o+2016|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|p]=c,t[0|_]=0;if(!(g>>>0>250)){I:if(c=t[0|(_=(B=g+5|0)+(o+2016|0)|0)])if((0|(c=(E=c<<5)+(e=t[0|p])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|p]=c;;){if(r[0|(c=(o+2016|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|p]=c,t[0|_]=0;if(!(g>>>0>249)&&(g=t[0|(E=(B=g+6|0)+(o+2016|0)|0)]))if((0|(g=(e=g<<6)+(c=t[0|p])|0))>=16){if((0|(g=c-e|0))<-15)break A;for(t[0|p]=g;;){if(r[0|(g=(o+2016|0)+B|0)]){if(t[0|g]=0,g=B>>>0<255,B=B+1|0,g)continue;break A}break}t[0|g]=1}else t[0|p]=g,t[0|E]=0}}}}}if(256==(0|I))break}for(B=0;g=y+(B>>>3|0)|0,t[(I=o+1760|0)+B|0]=r[0|g]>>>(6&B)&1,t[(c=I)+(I=1|B)|0]=r[0|g]>>>(7&I)&1,256!=(0|(B=B+2|0)););for(I=0;;){I=(g=I)+1|0;A:if(!(!r[0|(y=g+(o+1760|0)|0)]|g>>>0>254)){I:if(B=t[0|(E=(o+1760|0)+I|0)])if((0|(B=(e=B<<1)+(c=t[0|y])|0))<=15)t[0|y]=B,t[0|E]=0;else{if((0|(B=c-e|0))<-15)break A;for(t[0|y]=B,B=I;;){if(!r[0|(c=(o+1760|0)+B|0)]){t[0|c]=1;break I}if(t[0|c]=0,c=B>>>0<255,B=B+1|0,!c)break}}if(!(g>>>0>253)){I:if(c=t[0|(_=(B=g+2|0)+(o+1760|0)|0)])if((0|(c=(E=c<<2)+(e=t[0|y])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|y]=c;;){if(r[0|(c=(o+1760|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|y]=c,t[0|_]=0;if(!(g>>>0>252)){I:if(c=t[0|(_=(B=g+3|0)+(o+1760|0)|0)])if((0|(c=(E=c<<3)+(e=t[0|y])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|y]=c;;){if(r[0|(c=(o+1760|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|y]=c,t[0|_]=0;if(!(g>>>0>251)){I:if(c=t[0|(_=(B=g+4|0)+(o+1760|0)|0)])if((0|(c=(E=c<<4)+(e=t[0|y])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|y]=c;;){if(r[0|(c=(o+1760|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|y]=c,t[0|_]=0;if(!(g>>>0>250)){I:if(c=t[0|(_=(B=g+5|0)+(o+1760|0)|0)])if((0|(c=(E=c<<5)+(e=t[0|y])|0))>=16){if((0|(c=e-E|0))<-15)break A;for(t[0|y]=c;;){if(r[0|(c=(o+1760|0)+B|0)]){if(t[0|c]=0,c=B>>>0<255,B=B+1|0,c)continue;break I}break}t[0|c]=1}else t[0|y]=c,t[0|_]=0;if(!(g>>>0>249)&&(g=t[0|(E=(B=g+6|0)+(o+1760|0)|0)]))if((0|(g=(e=g<<6)+(c=t[0|y])|0))>=16){if((0|(g=c-e|0))<-15)break A;for(t[0|y]=g;;){if(r[0|(g=(o+1760|0)+B|0)]){if(t[0|g]=0,g=B>>>0<255,B=B+1|0,g)continue;break A}break}t[0|g]=1}else t[0|y]=g,t[0|E]=0}}}}}if(256==(0|I))break}for(RA(D=o+480|0,C),p=i[C+8>>2],y=i[C+12>>2],_=i[C+16>>2],E=i[C+20>>2],e=i[C+24>>2],c=i[C+28>>2],B=i[C>>2],g=i[C+4>>2],I=i[C+36>>2],i[o+192>>2]=i[C+32>>2],i[o+196>>2]=I,i[o+184>>2]=e,i[o+188>>2]=c,i[o+176>>2]=_,i[o+180>>2]=E,i[o+168>>2]=p,i[o+172>>2]=y,i[o+160>>2]=B,i[o+164>>2]=g,p=i[C+40>>2],y=i[C+44>>2],_=i[C+48>>2],E=i[C+52>>2],e=i[C+56>>2],c=i[C+60>>2],B=i[(I=C- -64|0)>>2],g=i[I+4>>2],I=i[C+76>>2],i[o+232>>2]=i[C+72>>2],i[o+236>>2]=I,i[o+224>>2]=B,i[o+228>>2]=g,i[o+216>>2]=e,i[o+220>>2]=c,i[o+208>>2]=_,i[o+212>>2]=E,i[o+200>>2]=p,i[o+204>>2]=y,p=i[C+80>>2],y=i[C+84>>2],_=i[C+88>>2],E=i[C+92>>2],e=i[C+96>>2],c=i[C+100>>2],B=i[C+104>>2],g=i[C+108>>2],I=i[C+116>>2],i[o+272>>2]=i[C+112>>2],i[o+276>>2]=I,i[o+264>>2]=B,i[o+268>>2]=g,i[o+256>>2]=e,i[o+260>>2]=c,i[o+248>>2]=_,i[o+252>>2]=E,i[o+240>>2]=p,i[o+244>>2]=y,fA(C=o+320|0,g=o+160|0),b(o,C,f=o+440|0),b(o+40|0,h=o+360|0,l=o+400|0),b(o+80|0,l,f),b(o+120|0,C,h),aA(C,o,D),b(g,C,f),b(w=o+200|0,h,l),b(k=o+240|0,l,f),b(u=o+280|0,C,h),RA(I=o+640|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(I=o+800|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(I=o+960|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(I=o+1120|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(I=o+1280|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(I=o+1440|0,g),aA(C,o,I),b(g,C,f),b(w,h,l),b(k,l,f),b(u,C,h),RA(o+1600|0,g),i[a+32>>2]=0,i[a+36>>2]=0,i[a+24>>2]=0,i[a+28>>2]=0,i[a+16>>2]=0,i[a+20>>2]=0,i[a+8>>2]=0,i[a+12>>2]=0,i[a>>2]=0,i[a+4>>2]=0,i[a+44>>2]=0,i[a+48>>2]=0,i[(R=a+40|0)>>2]=1,i[a+52>>2]=0,i[a+56>>2]=0,i[a+60>>2]=0,i[a+64>>2]=0,i[a+68>>2]=0,i[a+72>>2]=0,i[a+84>>2]=0,i[a+88>>2]=0,i[a+76>>2]=0,i[a+80>>2]=1,i[a+92>>2]=0,i[a+96>>2]=0,i[a+100>>2]=0,i[a+104>>2]=0,i[a+108>>2]=0,i[a+112>>2]=0,i[a+116>>2]=0,V=a+80|0,I=255;;){A:{I:{if(!(r[(o+2016|0)+I|0]|r[(o+1760|0)+I|0])){if(!(r[(g=I-1|0)+(o+2016|0)|0]|r[g+(o+1760|0)|0]))break I;I=g}if((0|I)<0)break A;for(;fA(o+320|0,a),(0|(B=t[(g=I)+(o+2016|0)|0]))>0?(b(I=o+160|0,C=o+320|0,f),b(w,h,l),b(k,l,f),b(u,C,h),aA(C,I,(o+480|0)+n((254&B)>>>1|0,160)|0)):(0|B)>=0||(b(I=o+160|0,C=o+320|0,f),b(w,h,l),b(k,l,f),b(u,C,h),QA(C,I,(o+480|0)+n((0-B&254)>>>1|0,160)|0)),(0|(x=t[g+(o+1760|0)|0]))>0?(b(I=o+160|0,C=o+320|0,f),b(w,h,l),b(k,l,f),b(u,C,h),tA(C,I,n((254&x)>>>1|0,120)+1744|0)):(0|x)>=0||(b(o+160|0,v=o+320|0,f),b(w,h,l),b(k,l,f),b(u,v,h),F=i[o+160>>2],S=i[o+200>>2],G=i[o+164>>2],N=i[o+204>>2],M=i[o+168>>2],H=i[o+208>>2],Y=i[o+172>>2],U=i[o+212>>2],J=i[o+176>>2],d=i[o+216>>2],D=i[o+180>>2],p=i[o+220>>2],y=i[o+184>>2],_=i[o+224>>2],E=i[o+188>>2],e=i[o+228>>2],c=i[o+192>>2],B=i[o+232>>2],C=i[o+236>>2],I=i[o+196>>2],i[o+396>>2]=C-I,i[o+392>>2]=B-c,i[o+388>>2]=e-E,i[o+384>>2]=_-y,i[o+380>>2]=p-D,i[o+376>>2]=d-J,i[o+372>>2]=U-Y,i[o+368>>2]=H-M,i[o+364>>2]=N-G,i[o+360>>2]=S-F,i[o+356>>2]=I+C,i[o+352>>2]=B+c,i[o+348>>2]=e+E,i[o+344>>2]=y+_,i[o+340>>2]=p+D,i[o+336>>2]=J+d,i[o+332>>2]=Y+U,i[o+328>>2]=M+H,i[o+324>>2]=G+N,i[o+320>>2]=F+S,b(l,v,40+(I=n((0-x&254)>>>1|0,120)+1744|0)|0),b(h,h,I),b(f,I+80|0,u),W=i[o+276>>2],Z=i[o+272>>2],x=i[o+268>>2],v=i[o+264>>2],y=i[o+260>>2],_=i[o+256>>2],E=i[o+252>>2],e=i[o+248>>2],c=i[o+244>>2],B=i[o+240>>2],L=i[o+360>>2],P=i[o+400>>2],q=i[o+364>>2],j=i[o+404>>2],z=i[o+368>>2],X=i[o+408>>2],F=i[o+372>>2],S=i[o+412>>2],G=i[o+376>>2],N=i[o+416>>2],M=i[o+380>>2],H=i[o+420>>2],Y=i[o+384>>2],U=i[o+424>>2],J=i[o+388>>2],d=i[o+428>>2],D=i[o+392>>2],p=i[o+432>>2],C=i[o+396>>2],I=i[o+436>>2],i[o+396>>2]=C+I,i[o+392>>2]=p+D,i[o+388>>2]=J+d,i[o+384>>2]=Y+U,i[o+380>>2]=M+H,i[o+376>>2]=G+N,i[o+372>>2]=F+S,i[o+368>>2]=z+X,i[o+364>>2]=q+j,i[o+360>>2]=L+P,i[o+356>>2]=I-C,i[o+352>>2]=p-D,i[o+348>>2]=d-J,i[o+344>>2]=U-Y,i[o+340>>2]=H-M,i[o+336>>2]=N-G,i[o+332>>2]=S-F,i[o+328>>2]=X-z,i[o+324>>2]=j-q,i[o+320>>2]=P-L,F=B<<1,S=i[o+440>>2],i[o+400>>2]=F-S,G=c<<1,N=i[o+444>>2],i[o+404>>2]=G-N,M=e<<1,H=i[o+448>>2],i[o+408>>2]=M-H,Y=E<<1,U=i[o+452>>2],i[o+412>>2]=Y-U,J=_<<1,d=i[o+456>>2],i[o+416>>2]=J-d,D=y<<1,p=i[o+460>>2],i[o+420>>2]=D-p,y=v<<1,_=i[o+464>>2],i[o+424>>2]=y-_,E=x<<1,e=i[o+468>>2],i[o+428>>2]=E-e,c=Z<<1,B=i[o+472>>2],i[o+432>>2]=c-B,C=W<<1,I=i[o+476>>2],i[o+436>>2]=C-I,i[o+440>>2]=F+S,i[o+444>>2]=G+N,i[o+448>>2]=M+H,i[o+452>>2]=Y+U,i[o+456>>2]=J+d,i[o+460>>2]=p+D,i[o+464>>2]=y+_,i[o+468>>2]=e+E,i[o+472>>2]=B+c,i[o+476>>2]=I+C),b(a,o+320|0,f),b(R,h,l),b(V,l,f),I=g-1|0,(0|g)>0;);break A}if(I=I-2|0,g)continue}break}s=o+2272|0,$I(I=Q+288|0,a),O=-1,T=nC(I,A),c=((0|A)==(0|I)?O:T)|sI(A,I,32)}return s=Q+592|0,c}function N(A,I,g){var C,B,Q,o,n,c,e,E,y,p,f,l,u,D,w,m,k,F,S,G,N,M,H=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0;for(s=C=s-1008|0,Y(J=C+464|0,I),i[C+464>>2]=i[C+464>>2]+1,NA(J,J),I=0,d=PI(J=i[C+500>>2],J>>31,486662,0),J=h,L=(j=d+16777216|0)>>>0<16777216?J+1|0:J,P=d-(-33554432&j)|0,H=PI(J=i[C+496>>2],J>>31,486662,0),d=h,R=PI(J=i[C+492>>2],J>>31,486662,0),J=h,v=H,H=(H=(J=(x=R+16777216|0)>>>0<16777216?J+1|0:J)>>25)+d|0,J=(J=(33554431&J)<<7|x>>>25)>>>0>(K=v+J|0)>>>0?H+1|0:H,B=(J=(67108863&(J=(d=K+33554432|0)>>>0<33554432?J+1|0:J))<<6|d>>>26)+P|0,i[C+452>>2]=0-B,Z=K-(-67108864&d)|0,i[C+448>>2]=0-Z,P=R-(-33554432&x)|0,d=PI(J=i[C+488>>2],J>>31,486662,0),J=h,x=PI(H=i[C+484>>2],H>>31,486662,0),H=h,v=d,J=J+(d=(H=(K=x+16777216|0)>>>0<16777216?H+1|0:H)>>25)|0,J=(H=v+(R=(33554431&H)<<7|K>>>25)|0)>>>0>>0?J+1|0:J,Q=(J=(67108863&(J=(d=H+33554432|0)>>>0<33554432?J+1|0:J))<<6|d>>>26)+P|0,i[C+444>>2]=0-Q,e=H-(-67108864&d)|0,i[C+440>>2]=0-e,P=x-(-33554432&K)|0,H=PI(J=i[C+480>>2],J>>31,486662,0),J=h,x=PI(d=i[C+476>>2],d>>31,486662,0),d=h,v=H,J=(H=(d=(K=x+16777216|0)>>>0<16777216?d+1|0:d)>>25)+J|0,H=(d=v+(R=(33554431&d)<<7|K>>>25)|0)>>>0>>0?J+1|0:J,o=(H=(67108863&(H=(J=d+33554432|0)>>>0<33554432?H+1|0:H))<<6|J>>>26)+P|0,i[C+436>>2]=0-o,E=d-(-67108864&J)|0,i[C+432>>2]=0-E,v=x-(-33554432&K)|0,J=PI(J=i[C+472>>2],J>>31,486662,0),P=h,R=PI(d=i[C+468>>2],d>>31,486662,0),H=h,d=(33554431&(H=(x=R+16777216|0)>>>0<16777216?H+1|0:H))<<7|x>>>25,H=(H>>25)+P|0,d=d>>>0>(K=d+J|0)>>>0?H+1|0:H,n=(d=(67108863&(d=(J=K+33554432|0)>>>0<33554432?d+1|0:d))<<6|J>>>26)+v|0,i[C+428>>2]=0-n,y=K-(-67108864&J)|0,i[C+424>>2]=0-y,K=R-(-33554432&x)|0,d=PI((33554431&L)<<7|j>>>25,L>>25,19,0),J=h,v=d,d=PI(H=i[C+464>>2],H>>31,486662,0),J=h+J|0,d=(H=v+d|0)>>>0>>0?J+1|0:J,c=(d=(67108863&(d=(J=H+33554432|0)>>>0<33554432?d+1|0:d))<<6|J>>>26)+K|0,i[C+420>>2]=0-c,p=H-(-67108864&J)|0,i[C+416>>2]=0-p,U(d=C+368|0,J=C+416|0),b(C+320|0,J,d),f=i[C+356>>2],l=i[C+320>>2],q=i[C+368>>2],u=i[C+324>>2],D=i[C+328>>2],z=i[C+372>>2],X=i[C+376>>2],w=i[C+332>>2],m=i[C+336>>2],V=i[C+380>>2],W=i[C+384>>2],k=i[C+340>>2],F=i[C+344>>2],v=i[C+388>>2],P=i[C+392>>2],S=i[C+348>>2],G=i[C+352>>2],d=PI(J=i[C+404>>2],J>>31,486662,0),J=h,L=(j=d+16777216|0)>>>0<16777216?J+1|0:J,N=d-(-33554432&j)|0,J=PI(J=i[C+400>>2],J>>31,486662,0),M=h,R=PI(d=i[C+396>>2],d>>31,486662,0),H=h,d=J,J=(33554431&(H=(x=R+16777216|0)>>>0<16777216?H+1|0:H))<<7|x>>>25,H=(H>>25)+M|0,J=J>>>0>(K=d+J|0)>>>0?H+1|0:H,H=J=(67108863&(J=(d=K+33554432|0)>>>0<33554432?J+1|0:J))<<6|d>>>26,J=J+N|0,i[C+404>>2]=J,i[C+548>>2]=J+(f-B|0),J=K-(-67108864&d)|0,i[C+400>>2]=J,i[C+544>>2]=J+(G-Z|0),Z=R-(-33554432&x)|0,J=PI(P,P>>31,486662,0),R=h,x=PI(v,v>>31,486662,0),d=h,v=J,J=(J=(d=(K=x+16777216|0)>>>0<16777216?d+1|0:d)>>25)+R|0,H=(H=(33554431&d)<<7|K>>>25)>>>0>(d=v+H|0)>>>0?J+1|0:J,v=H=(67108863&(H=(J=d+33554432|0)>>>0<33554432?H+1|0:H))<<6|J>>>26,H=H+Z|0,i[C+396>>2]=H,i[C+540>>2]=H+(S-Q|0),J=d-(-67108864&J)|0,i[C+392>>2]=J,i[C+536>>2]=J+(F-e|0),P=x-(-33554432&K)|0,H=PI(W,W>>31,486662,0),d=h,R=PI(V,V>>31,486662,0),J=h,v=H,H=(H=(J=(x=R+16777216|0)>>>0<16777216?J+1|0:J)>>25)+d|0,d=(J=(33554431&J)<<7|x>>>25)>>>0>(K=v+J|0)>>>0?H+1|0:H,H=d=(67108863&(d=(J=K+33554432|0)>>>0<33554432?d+1|0:d))<<6|J>>>26,d=d+P|0,i[C+388>>2]=d,i[C+532>>2]=d+(k-o|0),J=K-(-67108864&J)|0,i[C+384>>2]=J,i[C+528>>2]=J+(m-E|0),P=R-(-33554432&x)|0,J=PI(X,X>>31,486662,0),d=h,x=PI(z,z>>31,486662,0),H=h,v=J,d=(J=(H=(K=x+16777216|0)>>>0<16777216?H+1|0:H)>>25)+d|0,J=(H=v+(R=(33554431&H)<<7|K>>>25)|0)>>>0>>0?d+1|0:d,v=J=(67108863&(J=(d=H+33554432|0)>>>0<33554432?J+1|0:J))<<6|d>>>26,J=J+P|0,i[C+380>>2]=J,i[C+524>>2]=J+(w-n|0),J=H-(-67108864&d)|0,i[C+376>>2]=J,i[C+520>>2]=J+(D-y|0),K=x-(-33554432&K)|0,d=PI((33554431&L)<<7|j>>>25,L>>25,19,0),J=h,H=d,d=PI(q,q>>31,486662,0),J=h+J|0,J=(H=H+d|0)>>>0>>0?J+1|0:J,v=J=(67108863&(J=(d=H+33554432|0)>>>0<33554432?J+1|0:J))<<6|d>>>26,J=J+K|0,i[C+372>>2]=J,i[C+516>>2]=J+(u-c|0),J=H-(-67108864&d)|0,i[C+368>>2]=J,i[C+512>>2]=J+(l-p|0),b(J=C+160|0,d=C+512|0,d),b(C,d,J),U(d=C+736|0,C),U(d,d),b(J=C+960|0,C,d),U(d=C+912|0,J),U(d,d),U(d,d),U(d,d),b(C+864|0,J,d),J=i[C+900>>2],i[C+720>>2]=i[C+896>>2],i[C+724>>2]=J,J=i[C+892>>2],i[C+712>>2]=i[C+888>>2],i[C+716>>2]=J,J=i[C+884>>2],i[C+704>>2]=i[C+880>>2],i[C+708>>2]=J,J=i[C+876>>2],i[C+696>>2]=i[C+872>>2],i[C+700>>2]=J,J=i[C+868>>2],i[C+688>>2]=i[C+864>>2],i[C+692>>2]=J,U(H=C+688|0,H),U(H,H),b(H,H,C),J=i[C+724>>2],i[C+672>>2]=i[C+720>>2],i[C+676>>2]=J,J=i[C+716>>2],i[C+664>>2]=i[C+712>>2],i[C+668>>2]=J,J=i[C+708>>2],i[C+656>>2]=i[C+704>>2],i[C+660>>2]=J,J=i[C+700>>2],i[C+648>>2]=i[C+696>>2],i[C+652>>2]=J,J=i[C+692>>2],i[C+640>>2]=i[C+688>>2],i[C+644>>2]=J,U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),b(H,H,J=C+640|0),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),b(H,H,J),J=i[C+724>>2],i[C+624>>2]=i[C+720>>2],i[C+628>>2]=J,J=i[C+716>>2],i[C+616>>2]=i[C+712>>2],i[C+620>>2]=J,J=i[C+708>>2],i[C+608>>2]=i[C+704>>2],i[C+612>>2]=J,J=i[C+700>>2],i[C+600>>2]=i[C+696>>2],i[C+604>>2]=J,J=i[C+692>>2],i[C+592>>2]=i[C+688>>2],i[C+596>>2]=J,U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),b(H,H,d=C+592|0),J=i[C+724>>2],i[C+624>>2]=i[C+720>>2],i[C+628>>2]=J,J=i[C+716>>2],i[C+616>>2]=i[C+712>>2],i[C+620>>2]=J,J=i[C+708>>2],i[C+608>>2]=i[C+704>>2],i[C+612>>2]=J,J=i[C+700>>2],i[C+600>>2]=i[C+696>>2],i[C+604>>2]=J,J=i[C+692>>2],i[C+592>>2]=i[C+688>>2],i[C+596>>2]=J,U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),U(H,H),b(H,H,d),J=i[C+724>>2],i[C+624>>2]=i[C+720>>2],i[C+628>>2]=J,J=i[C+716>>2],i[C+616>>2]=i[C+712>>2],i[C+620>>2]=J,J=i[C+708>>2],i[C+608>>2]=i[C+704>>2],i[C+612>>2]=J,J=i[C+700>>2],i[C+600>>2]=i[C+696>>2],i[C+604>>2]=J,J=i[C+692>>2],i[C+592>>2]=i[C+688>>2],i[C+596>>2]=J;U(J=C+688|0,J),120!=(0|(I=I+1|0)););b(I=C+688|0,I,C+592|0),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),b(I,I,C+640|0),U(I,I),U(I,I),U(I,I),b(I,I,C),U(I,I),zA(C+560|0,I),z=i[C+416>>2],X=i[C+420>>2],V=i[C+424>>2],W=i[C+428>>2],v=i[C+432>>2],L=i[C+436>>2],H=i[C+440>>2],d=i[C+444>>2],J=i[C+448>>2],P=(q=0-(1&t[C+561|0])|0)&(0-(I=i[C+452>>2])^I)^I,i[C+196>>2]=P,j=J^q&(J^0-J),i[C+192>>2]=j,R=d^q&(d^0-d),i[C+188>>2]=R,x=H^q&(H^0-H),i[C+184>>2]=x,K=L^q&(L^0-L),i[C+180>>2]=K,L=v^q&(v^0-v),i[C+176>>2]=L,H=W^q&(W^0-W),i[C+172>>2]=H,d=V^q&(V^0-V),i[C+168>>2]=d,J=X^q&(X^0-X),i[C+164>>2]=J,I=(z^q&(z^0-z))-(486662&q)|0,i[C+160>>2]=I+1,i[C+772>>2]=P,i[C+768>>2]=j,i[C+764>>2]=R,i[C+760>>2]=x,i[C+756>>2]=K,i[C+752>>2]=L,i[C+748>>2]=H,i[C+744>>2]=d,i[C+740>>2]=J,i[C+736>>2]=I-1,NA(C,J=C+160|0),b(I=C+960|0,C+736|0,C),zA(A,I),t[A+31|0]=r[A+31|0]|g,pA(J,A)&&(_(),a()),I=i[C+236>>2],i[C+808>>2]=i[C+232>>2],i[C+812>>2]=I,I=i[C+228>>2],i[C+800>>2]=i[C+224>>2],i[C+804>>2]=I,I=i[C+220>>2],i[C+792>>2]=i[C+216>>2],i[C+796>>2]=I,I=i[C+212>>2],i[C+784>>2]=i[C+208>>2],i[C+788>>2]=I,I=i[C+196>>2],i[C+768>>2]=i[C+192>>2],i[C+772>>2]=I,I=i[C+188>>2],i[C+760>>2]=i[C+184>>2],i[C+764>>2]=I,I=i[C+180>>2],i[C+752>>2]=i[C+176>>2],i[C+756>>2]=I,I=i[C+172>>2],i[C+744>>2]=i[C+168>>2],i[C+748>>2]=I,I=i[C+164>>2],i[C+736>>2]=i[C+160>>2],i[C+740>>2]=I,I=i[C+204>>2],i[C+776>>2]=i[C+200>>2],i[C+780>>2]=I,I=i[C+252>>2],i[C+824>>2]=i[C+248>>2],i[C+828>>2]=I,I=i[C+260>>2],i[C+832>>2]=i[C+256>>2],i[C+836>>2]=I,I=i[C+268>>2],i[C+840>>2]=i[C+264>>2],i[C+844>>2]=I,I=i[C+276>>2],i[C+848>>2]=i[C+272>>2],i[C+852>>2]=I,I=i[C+244>>2],i[C+816>>2]=i[C+240>>2],i[C+820>>2]=I,fA(C,J=C+736|0),b(J,C,K=C+120|0),b(g=C+776|0,H=C+40|0,L=C+80|0),b(I=C+816|0,L,K),fA(C,J),b(J,C,K),b(g,H,L),b(I,L,K),fA(C,J),b(d=C+160|0,C,K),b(J=C+200|0,H,L),b(I=C+240|0,L,K),b(C+280|0,C,H),NA(H=C+960|0,I),b(g=C+912|0,d,H),b(I=C+864|0,J,H),zA(A,I),zA(C+688|0,g),t[A+31|0]=r[A+31|0]^r[C+688|0]<<7,s=C+1008|0}function b(A,I,g){var C,B,a,Q,t,r,o,c,e,E,_,y,s,p,f,l,u,D,w,m,k,F,S,G,N,b,M,H,Y,U,J,d,K,x,v,R,L,P,q,j,z,X,V,W,Z,O,T,$,AA,IA,gA,CA,BA,aA,QA=0,tA=0,iA=0,rA=0,oA=0,nA=0,cA=0,eA=0,EA=0,_A=0,yA=0,sA=0,pA=0,fA=0,hA=0,lA=0,uA=0,DA=0,wA=0,mA=0,kA=0,FA=0,SA=0,GA=0;QA=PI(C=i[g+4>>2],E=C>>31,uA=(l=i[I+20>>2])<<1,J=uA>>31),iA=h,tA=(pA=PI(hA=i[g>>2],a=hA>>31,B=i[I+24>>2],Q=B>>31))+QA|0,QA=h+iA|0,QA=tA>>>0>>0?QA+1|0:QA,EA=PI(t=i[g+8>>2],s=t>>31,pA=i[I+16>>2],r=pA>>31),iA=h+QA|0,iA=(tA=EA+tA|0)>>>0>>0?iA+1|0:iA,QA=(EA=PI(_=i[g+12>>2],u=_>>31,G=(D=i[I+12>>2])<<1,d=G>>31))+tA|0,tA=h+iA|0,tA=QA>>>0>>0?tA+1|0:tA,iA=(fA=PI(p=i[g+16>>2],N=p>>31,EA=i[I+8>>2],o=EA>>31))+QA|0,QA=h+tA|0,QA=iA>>>0>>0?QA+1|0:QA,tA=iA,iA=PI(w=i[g+20>>2],K=w>>31,b=(m=i[I+4>>2])<<1,x=b>>31),QA=h+QA|0,QA=(tA=tA+iA|0)>>>0>>0?QA+1|0:QA,O=eA=i[g+24>>2],iA=(_A=PI(eA,W=eA>>31,fA=i[I>>2],c=fA>>31))+tA|0,tA=h+QA|0,tA=iA>>>0<_A>>>0?tA+1|0:tA,v=i[g+28>>2],QA=(_A=PI(sA=n(v,19),k=sA>>31,M=(F=i[I+36>>2])<<1,R=M>>31))+iA|0,iA=h+tA|0,iA=QA>>>0<_A>>>0?iA+1|0:iA,$=i[g+32>>2],tA=(cA=PI(rA=n($,19),f=rA>>31,_A=i[I+32>>2],e=_A>>31))+QA|0,QA=h+iA|0,QA=tA>>>0>>0?QA+1|0:QA,T=i[g+36>>2],g=PI(cA=n(T,19),y=cA>>31,H=(S=i[I+28>>2])<<1,L=H>>31),QA=h+QA|0,oA=I=g+tA|0,g=I>>>0>>0?QA+1|0:QA,I=PI(pA,r,C,E),QA=h,tA=PI(hA,a,l,P=l>>31),iA=h+QA|0,iA=(I=tA+I|0)>>>0>>0?iA+1|0:iA,QA=PI(t,s,D,q=D>>31),tA=h+iA|0,tA=(I=QA+I|0)>>>0>>0?tA+1|0:tA,iA=PI(EA,o,_,u),QA=h+tA|0,QA=(I=iA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(p,N,m,j=m>>31),QA=h+QA|0,QA=(I=tA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(fA,c,w,K),QA=h+QA|0,QA=(I=tA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(eA=n(eA,19),Y=eA>>31,F,z=F>>31),iA=h+QA|0,iA=(I=tA+I|0)>>>0>>0?iA+1|0:iA,QA=PI(_A,e,sA,k),tA=h+iA|0,tA=(I=QA+I|0)>>>0>>0?tA+1|0:tA,iA=PI(rA,f,S,X=S>>31),QA=h+tA|0,QA=(I=iA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(cA,y,B,Q),QA=h+QA|0,FA=I=tA+I|0,wA=I>>>0>>0?QA+1|0:QA,I=PI(C,E,G,d),QA=h,tA=PI(hA,a,pA,r),QA=h+QA|0,QA=(I=tA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(EA,o,t,s),iA=h+QA|0,iA=(I=tA+I|0)>>>0>>0?iA+1|0:iA,QA=PI(_,u,b,x),tA=h+iA|0,tA=(I=QA+I|0)>>>0>>0?tA+1|0:tA,iA=PI(fA,c,p,N),QA=h+tA|0,QA=(I=iA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(U=n(w,19),V=U>>31,M,R),QA=h+QA|0,QA=(I=tA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(_A,e,eA,Y),QA=h+QA|0,QA=(I=tA+I|0)>>>0>>0?QA+1|0:QA,tA=PI(sA,k,H,L),iA=h+QA|0,iA=(I=tA+I|0)>>>0>>0?iA+1|0:iA,QA=PI(rA,f,B,Q),tA=h+iA|0,tA=(I=QA+I|0)>>>0>>0?tA+1|0:tA,iA=PI(cA,y,uA,J),QA=h+tA|0,AA=I=iA+I|0,IA=QA=I>>>0>>0?QA+1|0:QA,gA=I=I+33554432|0,CA=QA=I>>>0<33554432?QA+1|0:QA,iA=(67108863&QA)<<6|I>>>26,QA=(QA>>26)+wA|0,FA=I=iA+FA|0,QA=I>>>0>>0?QA+1|0:QA,BA=I=I+16777216|0,QA=g+(tA=(iA=I>>>0<16777216?QA+1|0:QA)>>25)|0,QA=(I=(iA=(33554431&iA)<<7|I>>>25)+oA|0)>>>0>>0?QA+1|0:QA,DA=g=(tA=I)+33554432|0,I=QA=g>>>0<33554432?QA+1|0:QA,i[A+24>>2]=tA-(-67108864&g),g=PI(C,E,b,x),QA=h,tA=PI(hA,a,EA,o),iA=h+QA|0,iA=(g=tA+g|0)>>>0>>0?iA+1|0:iA,tA=(QA=g)+(g=PI(fA,c,t,s))|0,QA=h+iA|0,QA=g>>>0>tA>>>0?QA+1|0:QA,iA=PI(g=n(_,19),mA=g>>31,M,R),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,iA=(oA=PI(_A,e,wA=n(p,19),Z=wA>>31))+tA|0,tA=h+QA|0,tA=iA>>>0>>0?tA+1|0:tA,oA=PI(H,L,U,V),QA=h+tA|0,QA=(iA=oA+iA|0)>>>0>>0?QA+1|0:QA,tA=(oA=PI(B,Q,eA,Y))+iA|0,iA=h+QA|0,iA=tA>>>0>>0?iA+1|0:iA,oA=PI(sA,k,uA,J),QA=h+iA|0,QA=(tA=oA+tA|0)>>>0>>0?QA+1|0:QA,iA=PI(rA,f,pA,r),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,iA=(oA=PI(cA,y,G,d))+tA|0,tA=h+QA|0,yA=iA,SA=iA>>>0>>0?tA+1|0:tA,QA=PI(fA,c,C,E),tA=h,iA=(oA=PI(hA,a,m,j))+QA|0,QA=h+tA|0,QA=iA>>>0>>0?QA+1|0:QA,oA=tA=n(t,19),tA=(nA=PI(tA,kA=tA>>31,F,z))+iA|0,iA=h+QA|0,iA=tA>>>0>>0?iA+1|0:iA,nA=PI(_A,e,g,mA),QA=h+iA|0,QA=(tA=nA+tA|0)>>>0>>0?QA+1|0:QA,iA=PI(wA,Z,S,X),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,iA=(nA=PI(B,Q,U,V))+tA|0,tA=h+QA|0,tA=iA>>>0>>0?tA+1|0:tA,nA=PI(eA,Y,l,P),QA=h+tA|0,QA=(iA=nA+iA|0)>>>0>>0?QA+1|0:QA,tA=(nA=PI(pA,r,sA,k))+iA|0,iA=h+QA|0,iA=tA>>>0>>0?iA+1|0:iA,nA=PI(rA,f,D,q),QA=h+iA|0,QA=(tA=nA+tA|0)>>>0>>0?QA+1|0:QA,iA=PI(cA,y,EA,o),QA=h+QA|0,GA=tA=iA+tA|0,nA=tA>>>0>>0?QA+1|0:QA,QA=PI(QA=n(C,19),QA>>31,M,R),tA=h,iA=PI(hA,a,fA,c),tA=h+tA|0,tA=(QA=iA+QA|0)>>>0>>0?tA+1|0:tA,iA=(oA=PI(_A,e,oA,kA))+QA|0,QA=h+tA|0,g=(tA=PI(g,mA,H,L))+iA|0,iA=h+(iA>>>0>>0?QA+1|0:QA)|0,iA=g>>>0>>0?iA+1|0:iA,tA=PI(B,Q,wA,Z),QA=h+iA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,tA=PI(uA,J,U,V),QA=h+QA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,iA=PI(pA,r,eA,Y),tA=h+QA|0,tA=(g=iA+g|0)>>>0>>0?tA+1|0:tA,iA=PI(sA,k,G,d),QA=h+tA|0,QA=(g=iA+g|0)>>>0>>0?QA+1|0:QA,tA=PI(rA,f,EA,o),iA=h+QA|0,iA=(g=tA+g|0)>>>0>>0?iA+1|0:iA,tA=PI(cA,y,b,x),QA=h+iA|0,oA=g=tA+g|0,mA=QA=g>>>0>>0?QA+1|0:QA,kA=g=g+33554432|0,aA=QA=g>>>0<33554432?QA+1|0:QA,tA=(iA=QA>>26)+nA|0,nA=g=(QA=(67108863&QA)<<6|g>>>26)+GA|0,QA=tA=g>>>0>>0?tA+1|0:tA,GA=g=g+16777216|0,tA=(33554431&(QA=g>>>0<16777216?QA+1|0:QA))<<7|g>>>25,QA=(QA>>25)+SA|0,QA=(g=tA+yA|0)>>>0>>0?QA+1|0:QA,SA=tA=(iA=g)+33554432|0,g=QA=tA>>>0<33554432?QA+1|0:QA,i[A+8>>2]=iA-(-67108864&tA),QA=PI(B,Q,C,E),iA=h,tA=(yA=PI(hA,a,S,X))+QA|0,QA=h+iA|0,QA=tA>>>0>>0?QA+1|0:QA,iA=PI(t,s,l,P),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,iA=PI(pA,r,_,u),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,yA=PI(p,N,D,q),iA=h+QA|0,iA=(tA=yA+tA|0)>>>0>>0?iA+1|0:iA,QA=(yA=PI(EA,o,w,K))+tA|0,tA=h+iA|0,tA=QA>>>0>>0?tA+1|0:tA,iA=(yA=PI(m,j,O,W))+QA|0,QA=h+tA|0,QA=iA>>>0>>0?QA+1|0:QA,tA=iA,iA=PI(fA,c,v,yA=v>>31),QA=h+QA|0,QA=(tA=tA+iA|0)>>>0>>0?QA+1|0:QA,iA=PI(rA,f,F,z),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,lA=PI(cA,y,_A,e),iA=h+QA|0,QA=I>>26,I=(DA=(67108863&I)<<6|DA>>>26)+(tA=lA+tA|0)|0,tA=QA+(tA>>>0>>0?iA+1|0:iA)|0,QA=(iA=I)>>>0>>0?tA+1|0:tA,DA=tA=iA+16777216|0,I=QA=tA>>>0<16777216?QA+1|0:QA,i[A+28>>2]=iA-(-33554432&tA),QA=PI(EA,o,C,E),tA=h,lA=PI(hA,a,D,q),iA=h+tA|0,iA=(QA=lA+QA|0)>>>0>>0?iA+1|0:iA,lA=PI(t,s,m,j),tA=h+iA|0,tA=(QA=lA+QA|0)>>>0>>0?tA+1|0:tA,iA=(lA=PI(fA,c,_,u))+QA|0,QA=h+tA|0,QA=iA>>>0>>0?QA+1|0:QA,tA=iA,iA=PI(wA,Z,F,z),QA=h+QA|0,QA=(tA=tA+iA|0)>>>0>>0?QA+1|0:QA,iA=PI(_A,e,U,V),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,tA=(eA=PI(eA,Y,S,X))+tA|0,iA=h+QA|0,QA=(sA=PI(B,Q,sA,k))+tA|0,tA=h+(tA>>>0>>0?iA+1|0:iA)|0,iA=(rA=PI(rA,f,l,P))+QA|0,QA=h+(QA>>>0>>0?tA+1|0:tA)|0,QA=iA>>>0>>0?QA+1|0:QA,tA=iA,iA=PI(cA,y,pA,r),QA=h+QA|0,rA=tA=tA+iA|0,QA=(QA=tA>>>0>>0?QA+1|0:QA)+(tA=g>>26)|0,iA=(tA=g=rA+(iA=(67108863&g)<<6|SA>>>26)|0)>>>0>>0?QA+1|0:QA,sA=QA=tA+16777216|0,g=iA=QA>>>0<16777216?iA+1|0:iA,i[A+12>>2]=tA-(-33554432&QA),QA=PI(C,E,H,L),iA=h,tA=(rA=PI(hA,a,_A,e))+QA|0,QA=h+iA|0,QA=tA>>>0>>0?QA+1|0:QA,iA=PI(B,Q,t,s),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,rA=PI(_,u,uA,J),iA=h+QA|0,iA=(tA=rA+tA|0)>>>0>>0?iA+1|0:iA,QA=(rA=PI(pA,r,p,N))+tA|0,tA=h+iA|0,tA=QA>>>0>>0?tA+1|0:tA,iA=(rA=PI(G,d,w,K))+QA|0,QA=h+tA|0,QA=iA>>>0>>0?QA+1|0:QA,tA=iA,iA=PI(EA,o,O,W),QA=h+QA|0,QA=(tA=tA+iA|0)>>>0>>0?QA+1|0:QA,iA=PI(v,yA,b,x),QA=h+QA|0,QA=(tA=iA+tA|0)>>>0>>0?QA+1|0:QA,tA=(uA=PI(fA,c,rA=$,eA=rA>>31))+tA|0,iA=h+QA|0,QA=(cA=PI(cA,y,M,R))+tA|0,tA=h+(tA>>>0>>0?iA+1|0:iA)|0,tA=QA>>>0>>0?tA+1|0:tA,cA=QA,QA=(QA=I>>25)+tA|0,QA=(I=cA+(iA=(33554431&I)<<7|DA>>>25)|0)>>>0>>0?QA+1|0:QA,cA=tA=(iA=I)+33554432|0,I=QA=tA>>>0<33554432?QA+1|0:QA,i[A+32>>2]=iA-(-67108864&tA),tA=g>>25,g=(sA=(33554431&g)<<7|sA>>>25)+(AA-(QA=-67108864&gA)|0)|0,QA=tA+(IA-((QA>>>0>AA>>>0)+CA|0)|0)|0,QA=g>>>0>>0?QA+1|0:QA,DA=QA=(67108863&(QA=(g=(tA=g)+33554432|0)>>>0<33554432?QA+1|0:QA))<<6|g>>>26,QA=QA+(iA=FA-(-33554432&BA)|0)|0,i[A+20>>2]=QA,i[A+16>>2]=tA-(-67108864&g),g=PI(_A,e,C,E),QA=h,tA=PI(hA,a,F,z),QA=h+QA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,iA=PI(t,s,S,X),tA=h+QA|0,tA=(g=iA+g|0)>>>0>>0?tA+1|0:tA,QA=PI(B,Q,_,u),iA=h+tA|0,iA=(g=QA+g|0)>>>0>>0?iA+1|0:iA,tA=PI(p,N,l,P),QA=h+iA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,tA=PI(pA,r,w,K),QA=h+QA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,tA=PI(D,q,O,W),QA=h+QA|0,QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA,iA=PI(EA,o,v,yA),tA=h+QA|0,tA=(g=iA+g|0)>>>0>>0?tA+1|0:tA,QA=PI(rA,eA,m,j),iA=h+tA|0,iA=(g=QA+g|0)>>>0>>0?iA+1|0:iA,tA=PI(fA,c,T,T>>31),QA=h+iA|0,QA=(QA=(g=tA+g|0)>>>0>>0?QA+1|0:QA)+(tA=I>>26)|0,QA=(I=(iA=g)+(g=(67108863&I)<<6|cA>>>26)|0)>>>0>>0?QA+1|0:QA,QA=(I=(g=I)+16777216|0)>>>0<16777216?QA+1|0:QA,i[A+36>>2]=g-(-33554432&I),iA=nA-(-33554432&GA)|0,tA=oA-(g=-67108864&kA)|0,hA=mA-((g>>>0>oA>>>0)+aA|0)|0,I=(g=PI((33554431&(g=QA))<<7|I>>>25,QA>>=25,19,0))+tA|0,tA=h+hA|0,QA=I>>>0>>0?tA+1|0:tA,tA=QA=(67108863&(QA=(I=(g=I)+33554432|0)>>>0<33554432?QA+1|0:QA))<<6|I>>>26,QA=QA+iA|0,i[A+4>>2]=QA,i[A>>2]=g-(-67108864&I)}function M(A,I,g,C){var B=0,a=0,Q=0,t=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0;for(B=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,i[g>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[g+4>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,i[g+8>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i[g+12>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[g+16>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[g+20>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[g+24>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[g+28>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+32|0]|r[I+33|0]<<8|r[I+34|0]<<16|r[I+35|0]<<24,i[g+32>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+36|0]|r[I+37|0]<<8|r[I+38|0]<<16|r[I+39|0]<<24,i[g+36>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+40|0]|r[I+41|0]<<8|r[I+42|0]<<16|r[I+43|0]<<24,i[g+40>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+44|0]|r[I+45|0]<<8|r[I+46|0]<<16|r[I+47|0]<<24,i[g+44>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+48|0]|r[I+49|0]<<8|r[I+50|0]<<16|r[I+51|0]<<24,i[g+48>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+52|0]|r[I+53|0]<<8|r[I+54|0]<<16|r[I+55|0]<<24,i[g+52>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,B=r[I+56|0]|r[I+57|0]<<8|r[I+58|0]<<16|r[I+59|0]<<24,i[g+56>>2]=B<<24|(65280&B)<<8|B>>>8&65280|B>>>24,I=r[I+60|0]|r[I+61|0]<<8|r[I+62|0]<<16|r[I+63|0]<<24,i[g+60>>2]=I<<24|(65280&I)<<8|I>>>8&65280|I>>>24,I=i[A+28>>2],i[C+24>>2]=i[A+24>>2],i[C+28>>2]=I,I=i[A+20>>2],i[C+16>>2]=i[A+16>>2],i[C+20>>2]=I,I=i[A+12>>2],i[C+8>>2]=i[A+8>>2],i[C+12>>2]=I,I=i[A+4>>2],i[C>>2]=i[A>>2],i[C+4>>2]=I;t=i[C+28>>2],B=(I=u<<2)+g|0,_=i[C+16>>2],o=i[B>>2]+(kg(_,26)^kg(_,21)^kg(_,7))|0,c=(t=((a=i[I+35360>>2]+o|0)+(_&((o=i[C+24>>2])^(E=i[C+20>>2]))^o)|0)+t|0)+i[C+12>>2]|0,i[C+12>>2]=c,t=(s=t+(kg(a=i[C>>2],30)^kg(a,19)^kg(a,10))|0)+(a&((e=i[C+8>>2])|(Q=i[C+4>>2]))|Q&e)|0,i[C+28>>2]=t,e=(s=e)+(o=(i[(p=(e=4|I)+g|0)>>2]+((o+(E^c&(E^_))|0)+(kg(c,26)^kg(c,21)^kg(c,7))|0)|0)+i[e+35360>>2]|0)|0,i[C+8>>2]=e,o=(o+(t&(a|Q)|a&Q)|0)+(kg(t,30)^kg(t,19)^kg(t,10))|0,i[C+24>>2]=o,E=(n=(((E+i[(l=(n=8|I)+g|0)>>2]|0)+i[n+35360>>2]|0)+(_^e&(c^_))|0)+(kg(e,26)^kg(e,21)^kg(e,7))|0)+((o&(t|a)|t&a)+(kg(o,30)^kg(o,19)^kg(o,10))|0)|0,i[C+20>>2]=E,Q=n+Q|0,i[C+4>>2]=Q,_=(n=(((_+i[(D=(n=12|I)+g|0)>>2]|0)+i[n+35360>>2]|0)+(c^Q&(e^c))|0)+(kg(Q,26)^kg(Q,21)^kg(Q,7))|0)+((E&(t|o)|t&o)+(kg(E,30)^kg(E,19)^kg(E,10))|0)|0,i[C+16>>2]=_,a=n+a|0,i[C>>2]=a,c=(n=((((s=c)+i[(w=(c=16|I)+g|0)>>2]|0)+i[c+35360>>2]|0)+(e^a&(Q^e))|0)+(kg(a,26)^kg(a,21)^kg(a,7))|0)+((_&(o|E)|o&E)+(kg(_,30)^kg(_,19)^kg(_,10))|0)|0,i[C+12>>2]=c,n=n+t|0,i[C+28>>2]=n,t=(e=(((e+i[(m=(t=20|I)+g|0)>>2]|0)+i[t+35360>>2]|0)+(Q^n&(a^Q))|0)+(kg(n,26)^kg(n,21)^kg(n,7))|0)+((c&(E|_)|E&_)+(kg(c,30)^kg(c,19)^kg(c,10))|0)|0,i[C+8>>2]=t,e=o+e|0,i[C+24>>2]=e,o=(Q=(((Q+i[(k=(o=24|I)+g|0)>>2]|0)+i[o+35360>>2]|0)+(a^e&(n^a))|0)+(kg(e,26)^kg(e,21)^kg(e,7))|0)+((t&(c|_)|c&_)+(kg(t,30)^kg(t,19)^kg(t,10))|0)|0,i[C+4>>2]=o,Q=Q+E|0,i[C+20>>2]=Q,E=(a=(((a+i[(F=(E=28|I)+g|0)>>2]|0)+i[E+35360>>2]|0)+(n^Q&(n^e))|0)+(kg(Q,26)^kg(Q,21)^kg(Q,7))|0)+((o&(t|c)|t&c)+(kg(o,30)^kg(o,19)^kg(o,10))|0)|0,i[C>>2]=E,a=a+_|0,i[C+16>>2]=a,_=(n=(((n+i[(S=(_=32|I)+g|0)>>2]|0)+i[_+35360>>2]|0)+(e^a&(Q^e))|0)+(kg(a,26)^kg(a,21)^kg(a,7))|0)+((E&(t|o)|t&o)+(kg(E,30)^kg(E,19)^kg(E,10))|0)|0,i[C+28>>2]=_,n=n+c|0,i[C+12>>2]=n,c=(e=(((e+i[(G=(c=36|I)+g|0)>>2]|0)+i[c+35360>>2]|0)+(Q^n&(a^Q))|0)+(kg(n,26)^kg(n,21)^kg(n,7))|0)+((_&(o|E)|o&E)+(kg(_,30)^kg(_,19)^kg(_,10))|0)|0,i[C+24>>2]=c,e=t+e|0,i[C+8>>2]=e,t=(Q=(((Q+i[(N=(t=40|I)+g|0)>>2]|0)+i[t+35360>>2]|0)+(a^e&(n^a))|0)+(kg(e,26)^kg(e,21)^kg(e,7))|0)+((c&(E|_)|E&_)+(kg(c,30)^kg(c,19)^kg(c,10))|0)|0,i[C+20>>2]=t,Q=o+Q|0,i[C+4>>2]=Q,s=(o=44|I)+g|0,o=(a=((a+(i[o+35360>>2]+i[s>>2]|0)|0)+(n^Q&(n^e))|0)+(kg(Q,26)^kg(Q,21)^kg(Q,7))|0)+((t&(c|_)|c&_)+(kg(t,30)^kg(t,19)^kg(t,10))|0)|0,i[C+16>>2]=o,E=a+E|0,i[C>>2]=E,h=(a=48|I)+g|0,a=(n=((n+(i[a+35360>>2]+i[h>>2]|0)|0)+(e^E&(Q^e))|0)+(kg(E,26)^kg(E,21)^kg(E,7))|0)+((o&(t|c)|t&c)+(kg(o,30)^kg(o,19)^kg(o,10))|0)|0,i[C+12>>2]=a,_=n+_|0,i[C+28>>2]=_,f=(n=52|I)+g|0,e=(n=(((i[n+35360>>2]+i[f>>2]|0)+e|0)+(Q^_&(Q^E))|0)+(kg(_,26)^kg(_,21)^kg(_,7))|0)+((a&(t|o)|t&o)+(kg(a,30)^kg(a,19)^kg(a,10))|0)|0,i[C+8>>2]=e,c=n+c|0,i[C+24>>2]=c,n=(y=56|I)+g|0,Q=(y=(((i[y+35360>>2]+i[n>>2]|0)+Q|0)+(E^c&(E^_))|0)+(kg(c,26)^kg(c,21)^kg(c,7))|0)+((e&(o|a)|o&a)+(kg(e,30)^kg(e,19)^kg(e,10))|0)|0,i[C+4>>2]=Q,t=t+y|0,i[C+20>>2]=t,y=(I|=60)+g|0,t=(I=((E+(i[I+35360>>2]+i[y>>2]|0)|0)+(_^t&(c^_))|0)+(kg(t,26)^kg(t,21)^kg(t,7))|0)+((Q&(a|e)|a&e)+(kg(Q,30)^kg(Q,19)^kg(Q,10))|0)|0,i[C>>2]=t,i[C+16>>2]=I+o,48!=(0|u);)E=i[G>>2],u=u+16|0,I=i[n>>2],t=(a=i[B>>2]+(E+(kg(I,15)^kg(I,13)^I>>>10)|0)|0)+(kg(o=i[p>>2],25)^kg(o,14)^o>>>3)|0,i[(u<<2)+g>>2]=t,c=(Q=(a=(_=i[N>>2])+o|0)+(kg(o=i[y>>2],15)^kg(o,13)^o>>>10)|0)+(kg(a=i[l>>2],25)^kg(a,14)^a>>>3)|0,i[B+68>>2]=c,e=(s=((Q=a)+(a=i[s>>2])|0)+(kg(t,15)^kg(t,13)^t>>>10)|0)+(kg(Q=i[D>>2],25)^kg(Q,14)^Q>>>3)|0,i[B+72>>2]=e,n=(y=((s=Q)+(Q=i[h>>2])|0)+(kg(c,15)^kg(c,13)^c>>>10)|0)+(kg(s=i[w>>2],25)^kg(s,14)^s>>>3)|0,i[B+76>>2]=n,h=(y=((y=s)+(s=i[f>>2])|0)+(kg(e,15)^kg(e,13)^e>>>10)|0)+(kg(f=i[m>>2],25)^kg(f,14)^f>>>3)|0,i[B+80>>2]=h,f=(p=(I+f|0)+(kg(n,15)^kg(n,13)^n>>>10)|0)+(kg(y=i[k>>2],25)^kg(y,14)^y>>>3)|0,i[B+84>>2]=f,y=((o+y|0)+(kg(l=i[F>>2],25)^kg(l,14)^l>>>3)|0)+(kg(h,15)^kg(h,13)^h>>>10)|0,i[B+88>>2]=y,c=((p=i[S>>2])+(c+(kg(E,25)^kg(E,14)^E>>>3)|0)|0)+(kg(y,15)^kg(y,13)^y>>>10)|0,i[B+96>>2]=c,p=((t+l|0)+(kg(p,25)^kg(p,14)^p>>>3)|0)+(kg(f,15)^kg(f,13)^f>>>10)|0,i[B+92>>2]=p,n=(n+(_+(kg(a,25)^kg(a,14)^a>>>3)|0)|0)+(kg(c,15)^kg(c,13)^c>>>10)|0,i[B+104>>2]=n,E=(e+(E+(kg(_,25)^kg(_,14)^_>>>3)|0)|0)+(kg(p,15)^kg(p,13)^p>>>10)|0,i[B+100>>2]=E,_=(f+(Q+(kg(s,25)^kg(s,14)^s>>>3)|0)|0)+(kg(n,15)^kg(n,13)^n>>>10)|0,i[B+112>>2]=_,E=(h+(a+(kg(Q,25)^kg(Q,14)^Q>>>3)|0)|0)+(kg(E,15)^kg(E,13)^E>>>10)|0,i[B+108>>2]=E,b=B,M=(p+(I+(kg(o,25)^kg(o,14)^o>>>3)|0)|0)+(kg(_,15)^kg(_,13)^_>>>10)|0,i[b+120>>2]=M,I=(y+(s+(kg(I,25)^kg(I,14)^I>>>3)|0)|0)+(kg(E,15)^kg(E,13)^E>>>10)|0,i[B+116>>2]=I,b=B,M=(c+(o+(kg(t,25)^kg(t,14)^t>>>3)|0)|0)+(kg(I,15)^kg(I,13)^I>>>10)|0,i[b+124>>2]=M;i[A>>2]=t+i[A>>2],i[A+4>>2]=i[A+4>>2]+i[C+4>>2],i[A+8>>2]=i[A+8>>2]+i[C+8>>2],i[A+12>>2]=i[A+12>>2]+i[C+12>>2],i[A+16>>2]=i[A+16>>2]+i[C+16>>2],i[A+20>>2]=i[A+20>>2]+i[C+20>>2],i[A+24>>2]=i[A+24>>2]+i[C+24>>2],i[A+28>>2]=i[A+28>>2]+i[C+28>>2]}function H(A,I,g){var C,B=0,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0;for(s=C=s-4032|0,RA(C+160|0,g),a=i[g+8>>2],o=i[g+12>>2],n=i[g+16>>2],e=i[g+20>>2],p=i[g+24>>2],E=i[g+28>>2],y=i[g>>2],f=i[g+4>>2],l=i[g+36>>2],i[C+3840>>2]=i[g+32>>2],i[C+3844>>2]=l,i[C+3832>>2]=p,i[C+3836>>2]=E,i[C+3824>>2]=n,i[C+3828>>2]=e,i[C+3816>>2]=a,i[C+3820>>2]=o,i[C+3808>>2]=y,i[C+3812>>2]=f,p=i[g+40>>2],E=i[g+44>>2],y=i[g+48>>2],f=i[g+52>>2],e=i[g+56>>2],l=i[g+60>>2],n=i[(a=g- -64|0)>>2],B=i[a+4>>2],o=i[g+76>>2],i[(a=C+3880|0)>>2]=i[g+72>>2],i[a+4>>2]=o,i[(o=C+3872|0)>>2]=n,i[o+4>>2]=B,i[(n=C+3864|0)>>2]=e,i[n+4>>2]=l,i[(e=C+3856|0)>>2]=y,i[e+4>>2]=f,i[C+3848>>2]=p,i[C+3852>>2]=E,l=i[g+80>>2],B=i[g+84>>2],Q=i[g+88>>2],c=i[g+92>>2],f=i[g+96>>2],_=i[g+100>>2],y=i[g+104>>2],h=i[g+108>>2],E=i[g+116>>2],i[(p=C+3920|0)>>2]=i[g+112>>2],i[p+4>>2]=E,i[(E=C+3912|0)>>2]=y,i[E+4>>2]=h,i[(y=C+3904|0)>>2]=f,i[y+4>>2]=_,i[(f=C+3896|0)>>2]=Q,i[f+4>>2]=c,i[C+3888>>2]=l,i[C+3892>>2]=B,fA(B=C+3528|0,l=C+3808|0),b(Q=C+2408|0,B,c=C+3648|0),b(C+2448|0,_=C+3568|0,h=C+3608|0),b(C+2488|0,h,c),b(C+2528|0,B,_),RA(c=C+320|0,Q),aA(B=C+3368|0,g,c),b(Q=C+2248|0,B,c=C+3488|0),b(C+2288|0,_=C+3408|0,h=C+3448|0),b(C+2328|0,h,c),b(C+2368|0,B,_),RA(C+480|0,Q),Q=i[4+(B=C+2480|0)>>2],i[a>>2]=i[B>>2],i[a+4>>2]=Q,Q=i[4+(B=C+2472|0)>>2],i[o>>2]=i[B>>2],i[o+4>>2]=Q,Q=i[4+(B=C+2464|0)>>2],i[n>>2]=i[B>>2],i[n+4>>2]=Q,Q=i[4+(B=C+2456|0)>>2],i[e>>2]=i[B>>2],i[e+4>>2]=Q,B=i[C+2444>>2],i[C+3840>>2]=i[C+2440>>2],i[C+3844>>2]=B,B=i[C+2436>>2],i[C+3832>>2]=i[C+2432>>2],i[C+3836>>2]=B,B=i[C+2428>>2],i[C+3824>>2]=i[C+2424>>2],i[C+3828>>2]=B,B=i[C+2420>>2],i[C+3816>>2]=i[C+2416>>2],i[C+3820>>2]=B,B=i[C+2412>>2],i[C+3808>>2]=i[C+2408>>2],i[C+3812>>2]=B,B=i[C+2452>>2],i[C+3848>>2]=i[C+2448>>2],i[C+3852>>2]=B,Q=i[4+(B=C+2496|0)>>2],i[f>>2]=i[B>>2],i[f+4>>2]=Q,Q=i[4+(B=C+2504|0)>>2],i[y>>2]=i[B>>2],i[y+4>>2]=Q,Q=i[4+(B=C+2512|0)>>2],i[E>>2]=i[B>>2],i[E+4>>2]=Q,Q=i[4+(B=C+2520|0)>>2],i[p>>2]=i[B>>2],i[p+4>>2]=Q,B=i[C+2492>>2],i[C+3888>>2]=i[C+2488>>2],i[C+3892>>2]=B,fA(B=C+3208|0,l),b(Q=C+2088|0,B,c=C+3328|0),b(C+2128|0,_=C+3248|0,h=C+3288|0),b(C+2168|0,h,c),b(C+2208|0,B,_),RA(c=C+640|0,Q),aA(B=C+3048|0,g,c),b(Q=C+1928|0,B,c=C+3168|0),b(C+1968|0,_=C+3088|0,h=C+3128|0),b(C+2008|0,h,c),b(C+2048|0,B,_),RA(C+800|0,Q),Q=i[4+(B=C+2320|0)>>2],i[a>>2]=i[B>>2],i[a+4>>2]=Q,Q=i[4+(B=C+2312|0)>>2],i[o>>2]=i[B>>2],i[o+4>>2]=Q,Q=i[4+(B=C+2304|0)>>2],i[n>>2]=i[B>>2],i[n+4>>2]=Q,Q=i[4+(B=C+2296|0)>>2],i[e>>2]=i[B>>2],i[e+4>>2]=Q,B=i[C+2284>>2],i[C+3840>>2]=i[C+2280>>2],i[C+3844>>2]=B,B=i[C+2276>>2],i[C+3832>>2]=i[C+2272>>2],i[C+3836>>2]=B,B=i[C+2268>>2],i[C+3824>>2]=i[C+2264>>2],i[C+3828>>2]=B,B=i[C+2260>>2],i[C+3816>>2]=i[C+2256>>2],i[C+3820>>2]=B,B=i[C+2252>>2],i[C+3808>>2]=i[C+2248>>2],i[C+3812>>2]=B,B=i[C+2292>>2],i[C+3848>>2]=i[C+2288>>2],i[C+3852>>2]=B,Q=i[4+(B=C+2336|0)>>2],i[f>>2]=i[B>>2],i[f+4>>2]=Q,Q=i[4+(B=C+2344|0)>>2],i[y>>2]=i[B>>2],i[y+4>>2]=Q,Q=i[4+(B=C+2352|0)>>2],i[E>>2]=i[B>>2],i[E+4>>2]=Q,Q=i[4+(B=C+2360|0)>>2],i[p>>2]=i[B>>2],i[p+4>>2]=Q,B=i[C+2332>>2],i[C+3888>>2]=i[C+2328>>2],i[C+3892>>2]=B,fA(B=C+2888|0,l),b(Q=C+1768|0,B,c=C+3008|0),b(C+1808|0,_=C+2928|0,h=C+2968|0),b(C+1848|0,h,c),b(C+1888|0,B,_),RA(c=C+960|0,Q),aA(B=C+2728|0,g,c),b(g=C+1608|0,B,Q=C+2848|0),b(C+1648|0,c=C+2768|0,_=C+2808|0),b(C+1688|0,_,Q),b(C+1728|0,B,c),RA(C+1120|0,g),B=i[4+(g=C+2160|0)>>2],i[a>>2]=i[g>>2],i[a+4>>2]=B,a=i[4+(g=C+2152|0)>>2],i[o>>2]=i[g>>2],i[o+4>>2]=a,a=i[4+(g=C+2144|0)>>2],i[n>>2]=i[g>>2],i[n+4>>2]=a,a=i[4+(g=C+2136|0)>>2],i[e>>2]=i[g>>2],i[e+4>>2]=a,g=i[C+2124>>2],i[C+3840>>2]=i[C+2120>>2],i[C+3844>>2]=g,g=i[C+2116>>2],i[C+3832>>2]=i[C+2112>>2],i[C+3836>>2]=g,g=i[C+2108>>2],i[C+3824>>2]=i[C+2104>>2],i[C+3828>>2]=g,g=i[C+2100>>2],i[C+3816>>2]=i[C+2096>>2],i[C+3820>>2]=g,g=i[C+2092>>2],i[C+3808>>2]=i[C+2088>>2],i[C+3812>>2]=g,g=i[C+2132>>2],i[C+3848>>2]=i[C+2128>>2],i[C+3852>>2]=g,a=i[4+(g=C+2176|0)>>2],i[f>>2]=i[g>>2],i[f+4>>2]=a,a=i[4+(g=C+2184|0)>>2],i[y>>2]=i[g>>2],i[y+4>>2]=a,a=i[4+(g=C+2192|0)>>2],i[E>>2]=i[g>>2],i[E+4>>2]=a,a=i[4+(g=C+2200|0)>>2],i[p>>2]=i[g>>2],i[p+4>>2]=a,g=i[C+2172>>2],i[C+3888>>2]=i[C+2168>>2],i[C+3892>>2]=g,fA(g=C+2568|0,l),b(a=C+1448|0,g,o=C+2688|0),b(C+1488|0,n=C+2608|0,e=C+2648|0),b(C+1528|0,e,o),b(C+1568|0,g,n),RA(C+1280|0,a),a=0,g=0;n=(o=C+3968|0)+(g<<1)|0,e=r[I+g|0],t[n+1|0]=e>>>4,t[0|n]=15&e,o=o+((n=1|g)<<1)|0,n=r[I+n|0],t[o+1|0]=n>>>4,t[0|o]=15&n,32!=(0|(g=g+2|0)););for(I=0;g=8+(o=(g=I)+r[0|(I=(C+3968|0)+a|0)]|0)|0,t[0|I]=o-(240&g),g=8+(o=r[I+1|0]+(g<<24>>24>>4)|0)|0,t[I+1|0]=o-(240&g),g=8+(o=r[I+2|0]+(g<<24>>24>>4)|0)|0,t[I+2|0]=o-(240&g),I=g<<24>>24>>4,63!=(0|(a=a+3|0)););for(t[C+4031|0]=r[C+4031|0]+I,i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[(y=A+40|0)>>2]=1,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=1,yg(A+84|0,0,76),f=A+120|0,l=A+80|0,e=C+3768|0,I=C+3888|0,o=C+3848|0,p=C+3728|0,g=C+3928|0,E=63;hA(C,C+160|0,t[(C+3968|0)+E|0]),aA(a=C+3808|0,A,C),b(n=C+3688|0,a,g),b(p,o,I),b(e,I,g),fA(a,n),b(n,a,g),b(p,o,I),b(e,I,g),fA(a,n),b(n,a,g),b(p,o,I),b(e,I,g),fA(a,n),b(n,a,g),b(p,o,I),b(e,I,g),fA(a,n),b(A,a,g),b(y,o,I),b(l,I,g),b(f,a,o),E=E-1|0;);hA(C,C+160|0,t[C+3968|0]),aA(a=C+3808|0,A,C),b(A,a,g),b(y,o,I),b(l,I,g),b(f,a,o),s=C+4032|0}function Y(A,I){var g,C,B,a,Q,t,r,o,c,e,E,_,y,s,p,f,l,u,D,w,m,k,F,S,G,N,b,M,H,Y,U,J,d,K,x,v,R,L,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0,QA=0,tA=0;P=PI(C=(p=i[I+12>>2])<<1,t=C>>31,IA=(z=i[I+4>>2])<<1,B=IA>>31),j=h,w=T=i[I+8>>2],q=($=PI(T,f=T>>31,T,f))+P|0,P=h+j|0,P=q>>>0<$>>>0?P+1|0:P,j=PI(W=i[I+16>>2],r=W>>31,$=(X=i[I>>2])<<1,a=$>>31),P=h+P|0,P=(q=j+q|0)>>>0>>0?P+1|0:P,E=i[I+28>>2],j=PI(BA=n(E,38),l=BA>>31,E,m=E>>31),P=h+P|0,P=(q=j+q|0)>>>0>>0?P+1|0:P,j=q,_=i[I+32>>2],Z=PI(O=n(_,19),o=O>>31,q=(g=i[I+24>>2])<<1,q>>31),q=h+P|0,q=(j=j+Z|0)>>>0>>0?q+1|0:q,P=j,M=i[I+36>>2],j=PI(Z=n(M,38),Q=Z>>31,gA=(c=i[I+20>>2])<<1,y=gA>>31),I=h+q|0,q=P=P+j|0,Y=P=(P>>>0>>0?I+1|0:I)<<1|P>>>31,U=q=33554432+(k=q<<1)|0,J=P=q>>>0<33554432?P+1|0:P,j=(67108863&P)<<6|q>>>26,AA=P>>26,I=PI(IA,B,W,r),P=h,q=PI(T<<=1,s=T>>31,p,F=p>>31),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,QA=PI(c,u=c>>31,$,a),q=h+P|0,q=(I=QA+I|0)>>>0>>0?q+1|0:q,tA=PI(O,o,QA=E<<1,S=QA>>31),P=h+q|0,P=(I=tA+I|0)>>>0>>0?P+1|0:P,q=PI(Z,Q,g,e=g>>31),P=h+P|0,q=((I=q+I|0)>>>0>>0?P+1|0:P)<<1|I>>>31,P=I<<1,I=q+AA|0,tA=j=P+j|0,P=I=P>>>0>j>>>0?I+1|0:I,d=I=j+16777216|0,AA=(33554431&(P=I>>>0<16777216?P+1|0:P))<<7|I>>>25,j=P>>25,I=PI(C,t,p,F),P=h,q=PI(W,r,T,s),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=PI(IA,B,gA,y),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(V=PI($,a,g,e))+I|0,I=h+P|0,I=q>>>0>>0?I+1|0:I,V=PI(O,o,_,D=_>>31),P=h+I|0,P=(q=V+q|0)>>>0>>0?P+1|0:P,I=(V=PI(Z,Q,QA,S))+q|0,q=h+P|0,I=((P=I)>>>0>>0?q+1|0:q)<<1|P>>>31,q=AA,AA=P<<1,P=I+j|0,P=(q=q+AA|0)>>>0>>0?P+1|0:P,K=I=q+33554432|0,j=P=I>>>0<33554432?P+1|0:P,i[A+24>>2]=q-(-67108864&I),q=PI(I=n(c,38),I>>31,c,u),AA=h,I=(P=PI(I=X,P=I>>31,I,P))+q|0,q=h+AA|0,q=I>>>0

>>0?q+1|0:q,V=PI(X=n(g,19),G=X>>31,AA=W<<1,N=AA>>31),P=h+q|0,P=(I=V+I|0)>>>0>>0?P+1|0:P,q=PI(C,t,BA,l),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(V=PI(O,o,T,s))+I|0,I=h+P|0,I=q>>>0>>0?I+1|0:I,V=PI(IA,B,Z,Q),P=h+I|0,x=P=((q=V+q|0)>>>0>>0?P+1|0:P)<<1|q>>>31,v=I=33554432+(b=q<<1)|0,R=q=I>>>0<33554432?P+1|0:P,aA=(67108863&q)<<6|I>>>26,V=q>>26,I=PI(X,G,gA,y),P=h,q=PI($,a,z,H=z>>31),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(CA=PI(W,r,BA,l))+I|0,I=h+P|0,I=q>>>0>>0?I+1|0:I,CA=PI(O,o,C,t),P=h+I|0,P=(q=CA+q|0)>>>0>>0?P+1|0:P,I=(CA=PI(Z,Q,w,f))+q|0,q=h+P|0,I=((P=I)>>>0>>0?q+1|0:q)<<1|P>>>31,q=aA,aA=P<<1,P=I+V|0,V=q=q+aA|0,P=q>>>0>>0?P+1|0:P,CA=q=q+16777216|0,L=(33554431&(P=q>>>0<16777216?P+1|0:P))<<7|q>>>25,aA=P>>25,I=PI($,a,w,f),P=h,q=PI(IA,B,z,H),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,z=PI(X,G,g,e),q=h+P|0,q=(I=z+I|0)>>>0>>0?q+1|0:q,z=PI(gA,y,BA,l),P=h+q|0,P=(I=z+I|0)>>>0>>0?P+1|0:P,q=PI(O,o,AA,N),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(z=PI(Z,Q,C,t))+I|0,I=h+P|0,P=(P=(q>>>0>>0?I+1|0:I)<<1|q>>>31)+aA|0,X=I=(q<<=1)+L|0,q=I>>>0>>0?P+1|0:P,aA=I=I+33554432|0,z=q=I>>>0<33554432?q+1|0:q,i[A+8>>2]=X-(-67108864&I),I=PI(T,s,c,u),q=h,P=(X=PI(W,r,C,t))+I|0,I=h+q|0,I=P>>>0>>0?I+1|0:I,q=(X=PI(IA,B,g,e))+P|0,P=h+I|0,P=q>>>0>>0?P+1|0:P,I=(X=PI($,a,E,m))+q|0,q=h+P|0,q=I>>>0>>0?q+1|0:q,X=PI(Z,Q,_,D),P=h+q|0,P=(P=((I=X+I|0)>>>0>>0?P+1|0:P)<<1|I>>>31)+(q=j>>26)|0,I=(q=j=(X=I<<1)+(I=(67108863&j)<<6|K>>>26)|0)>>>0>>0?P+1|0:P,X=P=q+16777216|0,j=I=P>>>0<16777216?I+1|0:I,i[A+28>>2]=q-(-33554432&P),I=PI($,a,p,F),P=h,q=PI(IA,B,w,f),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=PI(g,e,BA,l),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(O=PI(O,o,gA,y))+I|0,I=h+P|0,I=q>>>0>>0?I+1|0:I,P=(O=PI(Z,Q,W,r))+q|0,q=h+I|0,I=P,P=(P>>>0>>0?q+1|0:q)<<1|P>>>31,q=I<<1,P=(I=z>>26)+P|0,P=(q=q+(z=(67108863&z)<<6|aA>>>26)|0)>>>0>>0?P+1|0:P,O=I=q+16777216|0,z=P=I>>>0<16777216?P+1|0:P,i[A+12>>2]=q-(-33554432&I),I=PI(g,e,T,s),P=h,q=PI(W,r,W,r),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=PI(C,t,gA,y),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=PI(IA,B,QA,S),P=h+P|0,P=(I=q+I|0)>>>0>>0?P+1|0:P,q=(W=PI($,a,_,D))+I|0,I=h+P|0,I=q>>>0>>0?I+1|0:I,P=(W=PI(P=Z,Q,Z=M,gA=Z>>31))+q|0,q=h+I|0,I=P,P=(P>>>0>>0?q+1|0:q)<<1|P>>>31,q=I<<1,P=(I=j>>25)+P|0,P=(q=q+(j=(33554431&j)<<7|X>>>25)|0)>>>0>>0?P+1|0:P,W=I=q+33554432|0,j=P=I>>>0<33554432?P+1|0:P,i[A+32>>2]=q-(-67108864&I),P=z>>25,q=(z=(33554431&z)<<7|O>>>25)+(k-(I=-67108864&U)|0)|0,I=P+(Y-((I>>>0>k>>>0)+J|0)|0)|0,P=q>>>0>>0?I+1|0:I,X=P=(67108863&(P=(I=q+33554432|0)>>>0<33554432?P+1|0:P))<<6|I>>>26,P=P+(BA=tA-(-33554432&d)|0)|0,i[A+20>>2]=P,i[A+16>>2]=q-(-67108864&I),I=PI(C,t,g,e),q=h,P=(z=PI(c,u,AA,N))+I|0,I=h+q|0,I=P>>>0>>0?I+1|0:I,q=(z=PI(T,s,E,m))+P|0,P=h+I|0,P=q>>>0>>0?P+1|0:P,I=(z=PI(IA,B,_,D))+q|0,q=h+P|0,q=I>>>0>>0?q+1|0:q,z=PI($,a,Z,gA),P=h+q|0,X=(I=z+I|0)<<1,P=(P=(I>>>0>>0?P+1|0:P)<<1|I>>>31)+(q=j>>26)|0,I=(I=(67108863&j)<<6|W>>>26)>>>0>(j=X+I|0)>>>0?P+1|0:P,I=(P=j+16777216|0)>>>0<16777216?I+1|0:I,i[A+36>>2]=j-(-33554432&P),z=V-(-33554432&CA)|0,j=b-(q=-67108864&v)|0,IA=x-((q>>>0>b>>>0)+R|0)|0,I=PI((33554431&I)<<7|P>>>25,I>>25,19,0),q=h+IA|0,j=P=I+j|0,I=I>>>0>P>>>0?q+1|0:q,q=I=(67108863&(I=(P=P+33554432|0)>>>0<33554432?I+1|0:I))<<6|P>>>26,I=I+z|0,i[A+4>>2]=I,i[A>>2]=j-(-67108864&P)}function U(A,I){var g,C,B,a,Q,t,r,o,c,e,E,_,y,s,p,f,l,u,D,w,m,k,F,S,G,N,b,M,H,Y,U,J,d,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0;K=PI(C=(f=i[I+12>>2])<<1,t=C>>31,f,m=f>>31),v=h,x=(z=PI(L=i[I+16>>2],r=L>>31,o=(R=i[I+8>>2])<<1,_=o>>31))+K|0,K=h+v|0,K=x>>>0>>0?K+1|0:K,v=(X=PI(Z=(c=i[I+20>>2])<<1,y=Z>>31,z=(P=i[I+4>>2])<<1,B=z>>31))+x|0,x=h+K|0,x=v>>>0>>0?x+1|0:x,q=PI(g=i[I+24>>2],e=g>>31,X=($=i[I>>2])<<1,a=X>>31),K=h+x|0,K=(v=q+v|0)>>>0>>0?K+1|0:K,x=v,s=i[I+32>>2],v=PI(V=n(s,19),E=V>>31,s,u=s>>31),K=h+K|0,K=(x=x+v|0)>>>0>>0?K+1|0:K,N=i[I+36>>2],v=PI(q=n(N,38),Q=q>>31,D=(p=i[I+28>>2])<<1,k=D>>31),I=h+K|0,T=x=v+x|0,v=x>>>0>>0?I+1|0:I,I=PI(z,B,L,r),K=h,x=PI(o,_,f,m),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,j=PI(c,w=c>>31,X,a),x=h+K|0,x=(I=j+I|0)>>>0>>0?x+1|0:x,j=PI(V,E,D,k),K=h+x|0,K=(I=j+I|0)>>>0>>0?K+1|0:K,x=PI(q,Q,g,e),K=h+K|0,BA=I=x+I|0,W=I>>>0>>0?K+1|0:K,K=PI(z,B,C,t),x=h,F=I=R,R=PI(I,O=I>>31,I,O),I=h+x|0,I=(K=R+K|0)>>>0>>0?I+1|0:I,x=(R=PI(X,a,L,r))+K|0,K=h+I|0,K=x>>>0>>0?K+1|0:K,I=(R=PI(j=n(p,38),l=j>>31,p,S=p>>31))+x|0,x=h+K|0,x=I>>>0>>0?x+1|0:x,I=(K=I)+(R=PI(V,E,I=g<<1,I>>31))|0,K=h+x|0,K=I>>>0>>0?K+1|0:K,x=I,I=PI(q,Q,Z,y),K=h+K|0,b=x=x+I|0,M=K=I>>>0>x>>>0?K+1|0:K,I=K,H=x=x+33554432|0,Y=I=x>>>0<33554432?I+1|0:I,K=(K=I>>26)+W|0,BA=I=(x=(67108863&I)<<6|x>>>26)+BA|0,K=I>>>0>>0?K+1|0:K,U=I=I+16777216|0,K=(K=(x=I>>>0<16777216?K+1|0:K)>>25)+v|0,I=(I=(33554431&x)<<7|I>>>25)>>>0>(x=I+T|0)>>>0?K+1|0:K,T=K=x+33554432|0,R=I=K>>>0<33554432?I+1|0:I,i[A+24>>2]=x-(-67108864&K),I=PI(X,a,F,O),K=h,v=PI(z,B,P,CA=P>>31),x=h+K|0,x=(I=v+I|0)>>>0>>0?x+1|0:x,W=PI(v=n(g,19),gA=v>>31,g,e),K=h+x|0,K=(I=W+I|0)>>>0>>0?K+1|0:K,x=(W=PI(Z,y,j,l))+I|0,I=h+K|0,I=x>>>0>>0?I+1|0:I,AA=PI(V,E,W=L<<1,G=W>>31),K=h+I|0,K=(x=AA+x|0)>>>0>>0?K+1|0:K,I=x,x=PI(q,Q,C,t),K=h+K|0,IA=I=I+x|0,AA=I>>>0>>0?K+1|0:K,I=PI(Z,y,v,gA),K=h,P=PI(X,a,P,CA),x=h+K|0,x=(I=P+I|0)>>>0

>>0?x+1|0:x,P=PI(L,r,j,l),K=h+x|0,K=(I=P+I|0)>>>0

>>0?K+1|0:K,x=(P=PI(V,E,C,t))+I|0,I=h+K|0,I=x>>>0

>>0?I+1|0:I,P=PI(q,Q,F,O),K=h+I|0,aA=x=P+x|0,CA=x>>>0

>>0?K+1|0:K,x=PI(I=n(c,38),I>>31,c,w),P=h,I=$,$=x,x=PI(I,K=I>>31,I,K),K=h+P|0,K=(I=$+x|0)>>>0>>0?K+1|0:K,v=PI(v,gA,W,G),x=h+K|0,x=(I=v+I|0)>>>0>>0?x+1|0:x,v=PI(C,t,j,l),K=h+x|0,K=(I=v+I|0)>>>0>>0?K+1|0:K,x=(v=PI(V,E,o,_))+I|0,I=h+K|0,I=x>>>0>>0?I+1|0:I,v=PI(z,B,q,Q),K=h+I|0,P=x=v+x|0,gA=K=x>>>0>>0?K+1|0:K,J=x=x+33554432|0,d=K=x>>>0<33554432?K+1|0:K,I=K>>26,K=(67108863&K)<<6|x>>>26,x=I+CA|0,$=v=K+aA|0,K=x=K>>>0>v>>>0?x+1|0:x,aA=x=v+16777216|0,v=(33554431&(K=x>>>0<16777216?K+1|0:K))<<7|x>>>25,K=(K>>25)+AA|0,K=(x=v+IA|0)>>>0>>0?K+1|0:K,AA=I=x+33554432|0,v=K=I>>>0<33554432?K+1|0:K,i[A+8>>2]=x-(-67108864&I),I=PI(o,_,c,w),K=h,x=PI(L,r,C,t),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,x=PI(z,B,g,e),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,x=PI(X,a,p,S),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,IA=(x=PI(q,Q,s,u))+I|0,I=h+K|0,x=(K=R>>26)+(x=x>>>0>IA>>>0?I+1|0:I)|0,T=I=(R=(67108863&R)<<6|T>>>26)+IA|0,K=I>>>0>>0?x+1|0:x,IA=I=I+16777216|0,R=K=I>>>0<16777216?K+1|0:K,i[A+28>>2]=T-(-33554432&I),I=PI(X,a,f,m),x=h,K=(O=PI(z,B,F,O))+I|0,I=h+x|0,I=K>>>0>>0?I+1|0:I,K=(j=PI(g,e,j,l))+K|0,x=h+I|0,I=(V=PI(V,E,Z,y))+K|0,K=h+(K>>>0>>0?x+1|0:x)|0,K=I>>>0>>0?K+1|0:K,x=PI(q,Q,L,r),K=h+K|0,K=(K=(I=x+I|0)>>>0>>0?K+1|0:K)+(x=v>>26)|0,I=(x=v=(T=I)+(I=(67108863&v)<<6|AA>>>26)|0)>>>0>>0?K+1|0:K,V=K=x+16777216|0,v=I=K>>>0<16777216?I+1|0:I,i[A+12>>2]=x-(-33554432&K),I=PI(g,e,o,_),K=h,x=PI(L,r,L,r),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,x=PI(C,t,Z,y),K=h+K|0,K=(I=x+I|0)>>>0>>0?K+1|0:K,x=(L=PI(z,B,D,k))+I|0,I=h+K|0,I=x>>>0>>0?I+1|0:I,K=(L=PI(X,a,s,u))+x|0,x=h+I|0,x=K>>>0>>0?x+1|0:x,I=(L=PI(I=q,Q,q=N,Z=q>>31))+K|0,K=h+x|0,K=I>>>0>>0?K+1|0:K,x=I,K=(I=R>>25)+K|0,K=(x=x+(R=(33554431&R)<<7|IA>>>25)|0)>>>0>>0?K+1|0:K,L=I=x+33554432|0,R=K=I>>>0<33554432?K+1|0:K,i[A+32>>2]=x-(-67108864&I),K=v>>25,x=(v=(33554431&v)<<7|V>>>25)+(b-(I=-67108864&H)|0)|0,I=K+(M-((I>>>0>b>>>0)+Y|0)|0)|0,K=x>>>0>>0?I+1|0:I,v=K=(67108863&(K=(I=x+33554432|0)>>>0<33554432?K+1|0:K))<<6|I>>>26,K=K+(j=BA-(-33554432&U)|0)|0,i[A+20>>2]=K,i[A+16>>2]=x-(-67108864&I),I=PI(C,t,g,e),x=h,K=(v=PI(c,w,W,G))+I|0,I=h+x|0,I=K>>>0>>0?I+1|0:I,x=(v=PI(o,_,p,S))+K|0,K=h+I|0,K=x>>>0>>0?K+1|0:K,I=(v=PI(z,B,s,u))+x|0,x=h+K|0,x=I>>>0>>0?x+1|0:x,v=(K=I)+(I=PI(X,a,q,Z))|0,K=h+x|0,K=(I=I>>>0>v>>>0?K+1|0:K)+(K=R>>26)|0,I=(x=(R=(67108863&R)<<6|L>>>26)+v|0)>>>0>>0?K+1|0:K,I=(K=x+16777216|0)>>>0<16777216?I+1|0:I,i[A+36>>2]=x-(-33554432&K),R=$-(-33554432&aA)|0,v=P-(x=-67108864&J)|0,z=gA-((x>>>0>P>>>0)+d|0)|0,I=PI((33554431&I)<<7|K>>>25,I>>25,19,0),K=h+z|0,I=I>>>0>(x=I+v|0)>>>0?K+1|0:K,v=I=(67108863&(I=(K=x+33554432|0)>>>0<33554432?I+1|0:I))<<6|K>>>26,I=I+R|0,i[A+4>>2]=I,i[A>>2]=x-(-67108864&K)}function J(A,I){var g,C=0,B=0,a=0,Q=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0;if(s=g=s-48|0,!((B=iI(A))||(B=-26,I-3>>>0<4294967294))){C=i[A+44>>2],B=i[A+48>>2],i[g>>2]=0,E=i[A+40>>2],i[g+28>>2]=B,i[g+12>>2]=-1,i[g+8>>2]=E,B=((Q=C>>>0>(E=B<<3)>>>0?C:E)>>>0)/((C=B<<2)>>>0)|0,i[g+20>>2]=B,i[g+24>>2]=B<<2,i[g+16>>2]=n(C,B),B=i[A+52>>2],i[g+36>>2]=I,i[g+32>>2]=B,h=I=s,s=C=I-1152&-64,I=-25;A:{if(!(!g|!A)&&(B=S(i[g+20>>2]<<3),i[g+4>>2]=B,I=-22,B)){I:{if((I=i[g+16>>2])&&1024==(((B=I<<10)>>>0)/(I>>>0)|0)&&(I=S(12),i[g>>2]=I,I)){if(i[I>>2]=0,i[I+4>>2]=0,I=$A(C+128|0,B),i[9129]=I,I)i[C+128>>2]=0;else if(I=i[C+128>>2])break I;j(i[g>>2]),i[g>>2]=0}dI(g,i[A+56>>2]),s=h,I=-22;break A}if(i[i[g>>2]>>2]=I,i[i[g>>2]+4>>2]=I,i[i[g>>2]+8>>2]=B,E=i[g+36>>2],CA(I=C+128|0,0,0,64),i[C+124>>2]=i[A+48>>2],JA(I,B=C+124|0,4,0),i[C+124>>2]=i[A+4>>2],JA(I,B,4,0),i[C+124>>2]=i[A+44>>2],JA(I,B,4,0),i[C+124>>2]=i[A+40>>2],JA(I,B,4,0),i[C+124>>2]=19,JA(C+128|0,C+124|0,4,0),i[C+124>>2]=E,JA(C+128|0,C+124|0,4,0),i[C+124>>2]=i[A+12>>2],JA(C+128|0,C+124|0,4,0),(I=i[A+8>>2])&&(JA(C+128|0,I,i[A+12>>2],0),1&t[A+56|0]&&(NC(i[A+8>>2],i[A+12>>2]),i[A+12>>2]=0)),i[C+124>>2]=i[A+20>>2],JA(C+128|0,C+124|0,4,0),(I=i[A+16>>2])&&JA(C+128|0,I,i[A+20>>2],0),i[C+124>>2]=i[A+28>>2],JA(C+128|0,C+124|0,4,0),(I=i[A+24>>2])&&(JA(C+128|0,I,i[A+28>>2],0),2&r[A+56|0]&&(NC(i[A+24>>2],i[A+28>>2]),i[A+28>>2]=0)),i[C+124>>2]=i[A+36>>2],JA(C+128|0,C+124|0,4,0),(I=i[A+32>>2])&&JA(C+128|0,I,i[A+36>>2],0),sg(C+128|0,C+48|0,64),NC(C+112|0,8),i[g+28>>2])for(I=0;;){for(i[C+112>>2]=0,i[C+116>>2]=I,O(C+128|0,1024,C+48|0,72),E=i[i[g>>2]+4>>2]+(n(i[g+24>>2],I)<<10)|0,B=0;a=(c=B<<3)+E|0,p=i[4+(_=(Q=C+128|0)+c|0)>>2],i[a>>2]=i[_>>2],i[a+4>>2]=p,_=(a=8|c)+E|0,p=i[4+(a=a+Q|0)>>2],i[_>>2]=i[a>>2],i[_+4>>2]=p,_=(a=16|c)+E|0,p=i[4+(a=a+Q|0)>>2],i[_>>2]=i[a>>2],i[_+4>>2]=p,a=(c|=24)+E|0,Q=i[4+(c=c+Q|0)>>2],i[a>>2]=i[c>>2],i[a+4>>2]=Q,128!=(0|(B=B+4|0)););for(i[C+112>>2]=1,O(C+128|0,1024,C+48|0,72),E=1024+(i[i[g>>2]+4>>2]+(n(i[g+24>>2],I)<<10)|0)|0,B=0;a=(c=B<<3)+E|0,p=i[4+(_=(Q=C+128|0)+c|0)>>2],i[a>>2]=i[_>>2],i[a+4>>2]=p,_=(a=8|c)+E|0,p=i[4+(a=a+Q|0)>>2],i[_>>2]=i[a>>2],i[_+4>>2]=p,_=(a=16|c)+E|0,p=i[4+(a=a+Q|0)>>2],i[_>>2]=i[a>>2],i[_+4>>2]=p,a=(c|=24)+E|0,Q=i[4+(c=c+Q|0)>>2],i[a>>2]=i[c>>2],i[a+4>>2]=Q,128!=(0|(B=B+4|0)););if(!((I=I+1|0)>>>0>2]))break}NC(C+128|0,1024),NC(C+48|0,72),I=0}s=h}if(B=I,!I){if(i[g+8>>2])for(;;){if(s=I=s-80|0,!(!g|!i[g+28>>2])){for(t[I+72|0]=0,i[I+64>>2]=e,B=0;i[I+76>>2]=0,C=i[I+76>>2],i[I+56>>2]=i[I+72>>2],i[I+60>>2]=C,i[I+68>>2]=B,C=i[I+68>>2],i[I+48>>2]=i[I+64>>2],i[I+52>>2]=C,k(g,I+48|0),(B=B+1|0)>>>0<(C=i[g+28>>2])>>>0;);if(t[I+72|0]=1,C){for(B=0;i[I+76>>2]=0,C=i[I+76>>2],i[I+40>>2]=i[I+72>>2],i[I+44>>2]=C,i[I+68>>2]=B,C=i[I+68>>2],i[I+32>>2]=i[I+64>>2],i[I+36>>2]=C,k(g,I+32|0),(B=B+1|0)>>>0<(C=i[g+28>>2])>>>0;);if(t[I+72|0]=2,C){for(B=0;i[I+76>>2]=0,C=i[I+76>>2],i[I+24>>2]=i[I+72>>2],i[I+28>>2]=C,i[I+68>>2]=B,C=i[I+68>>2],i[I+16>>2]=i[I+64>>2],i[I+20>>2]=C,k(g,I+16|0),(B=B+1|0)>>>0<(C=i[g+28>>2])>>>0;);if(t[I+72|0]=3,C)for(B=0;i[I+76>>2]=0,C=i[I+76>>2],i[I+8>>2]=i[I+72>>2],i[I+12>>2]=C,i[I+68>>2]=B,C=i[I+68>>2],i[I>>2]=i[I+64>>2],i[I+4>>2]=C,k(g,I),(B=B+1|0)>>>0>2];);}}}if(s=I+80|0,!((e=e+1|0)>>>0>2]))break}if(s=I=s-2048|0,!(!A|!g)){if(a=i[g>>2],h=i[g+24>>2],ng(I+1024|0,(i[a+4>>2]+(h<<10)|0)-1024|0,1024),(_=i[g+28>>2])>>>0>=2)for(p=h-1|0,E=1;;){for(B=i[a+4>>2]+(n(E,h)+p<<10)|0,c=0;y=i[(e=(C=c<<3)+(Q=I+1024|0)|0)>>2],l=i[(f=C+B|0)>>2],f=i[e+4>>2]^i[f+4>>2],i[e>>2]=y^l,i[e+4>>2]=f,f=i[(e=(y=8|C)+Q|0)>>2],l=i[(y=B+y|0)>>2],y=i[e+4>>2]^i[y+4>>2],i[e>>2]=f^l,i[e+4>>2]=y,f=i[(e=(y=16|C)+Q|0)>>2],l=i[(y=B+y|0)>>2],y=i[e+4>>2]^i[y+4>>2],i[e>>2]=f^l,i[e+4>>2]=y,e=i[(C=(e=Q)+(Q=24|C)|0)>>2],y=i[(Q=B+Q|0)>>2],Q=i[C+4>>2]^i[Q+4>>2],i[C>>2]=e^y,i[C+4>>2]=Q,128!=(0|(c=c+4|0)););if((0|_)==(0|(E=E+1|0)))break}B=ng(I,I+1024|0,1024),O(i[A>>2],i[A+4>>2],B,1024),NC(B+1024|0,1024),NC(B,1024),dI(g,i[A+56>>2])}s=I+2048|0,B=0}}return s=g+48|0,B}function d(A,I,g,C,B){var a,Q,o,n,c,e,E,_,y,p,f,h,l,u,D,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0;for(a=s+-64|0,Q=i[A+60>>2],o=i[A+56>>2],P=i[A+52>>2],L=i[A+48>>2],n=i[A+44>>2],c=i[A+40>>2],e=i[A+36>>2],E=i[A+32>>2],_=i[A+28>>2],y=i[A+24>>2],p=i[A+20>>2],f=i[A+16>>2],h=i[A+12>>2],l=i[A+8>>2],u=i[A+4>>2],D=i[A>>2];;){if(!B&C>>>0>63|B)w=g;else{if(i[a+56>>2]=0,i[a+60>>2]=0,i[a+48>>2]=0,i[a+52>>2]=0,i[a+40>>2]=0,i[a+44>>2]=0,i[a+32>>2]=0,i[a+36>>2]=0,i[a+24>>2]=0,i[a+28>>2]=0,i[a+16>>2]=0,i[a+20>>2]=0,i[a+8>>2]=0,i[a+12>>2]=0,i[a>>2]=0,i[a+4>>2]=0,k=0,C|B)for(;t[k+a|0]=r[I+k|0],!B&(k=k+1|0)>>>0>>0|B;);I=w=a,V=g}for(q=20,m=D,H=u,Y=l,d=h,k=f,g=p,S=y,G=_,N=E,x=e,U=c,F=Q,v=o,K=P,J=L,b=n;M=k,m=kg((k=m+k|0)^J,16),M=J=kg(M^(N=m+N|0),12),J=kg((R=k+J|0)^m,8),k=kg(M^(N=J+N|0),7),F=kg((m=G+d|0)^F,16),G=kg((b=F+b|0)^G,12),d=kg((Y=S+Y|0)^v,16),S=kg((U=d+U|0)^S,12),v=(j=m+G|0)+k|0,z=kg((Y=S+Y|0)^d,8),m=kg(v^z,16),d=kg((H=g+H|0)^K,16),g=kg((x=d+x|0)^g,12),M=k,K=kg((H=g+H|0)^d,8),M=kg(M^(k=(X=K+x|0)+m|0),12),v=kg(m^(d=M+v|0),8),k=kg((x=v+k|0)^M,7),M=N,N=Y,m=kg(F^j,8),Y=kg((F=m+b|0)^G,7),K=kg((N=N+Y|0)^K,16),b=kg((G=M+K|0)^Y,12),K=kg(K^(Y=b+N|0),8),G=kg((N=G+K|0)^b,7),b=F,F=H,H=kg((U=U+z|0)^S,7),S=b+(J=kg((F=F+H|0)^J,16))|0,b=F,F=kg(S^H,12),J=kg(J^(H=b+F|0),8),S=kg((b=S+J|0)^F,7),M=U,F=m,m=kg(g^X,7),F=kg(F^(U=m+R|0),16),R=kg((g=M+F|0)^m,12),F=kg(F^(m=R+U|0),8),g=kg((U=g+F|0)^R,7),q=q-2|0;);if(q=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,R=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,j=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,z=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,X=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,M=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,W=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,Z=r[I+32|0]|r[I+33|0]<<8|r[I+34|0]<<16|r[I+35|0]<<24,O=r[I+36|0]|r[I+37|0]<<8|r[I+38|0]<<16|r[I+39|0]<<24,T=r[I+40|0]|r[I+41|0]<<8|r[I+42|0]<<16|r[I+43|0]<<24,$=r[I+44|0]|r[I+45|0]<<8|r[I+46|0]<<16|r[I+47|0]<<24,AA=r[I+48|0]|r[I+49|0]<<8|r[I+50|0]<<16|r[I+51|0]<<24,IA=r[I+52|0]|r[I+53|0]<<8|r[I+54|0]<<16|r[I+55|0]<<24,gA=r[I+56|0]|r[I+57|0]<<8|r[I+58|0]<<16|r[I+59|0]<<24,CA=r[I+60|0]|r[I+61|0]<<8|r[I+62|0]<<16|r[I+63|0]<<24,m=m+D^(r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24),t[0|w]=m,t[w+1|0]=m>>>8,t[w+2|0]=m>>>16,t[w+3|0]=m>>>24,m=F+Q^CA,t[w+60|0]=m,t[w+61|0]=m>>>8,t[w+62|0]=m>>>16,t[w+63|0]=m>>>24,m=v+o^gA,t[w+56|0]=m,t[w+57|0]=m>>>8,t[w+58|0]=m>>>16,t[w+59|0]=m>>>24,m=K+P^IA,t[w+52|0]=m,t[w+53|0]=m>>>8,t[w+54|0]=m>>>16,t[w+55|0]=m>>>24,m=J+L^AA,t[w+48|0]=m,t[w+49|0]=m>>>8,t[w+50|0]=m>>>16,t[w+51|0]=m>>>24,m=b+n^$,t[w+44|0]=m,t[w+45|0]=m>>>8,t[w+46|0]=m>>>16,t[w+47|0]=m>>>24,m=U+c^T,t[w+40|0]=m,t[w+41|0]=m>>>8,t[w+42|0]=m>>>16,t[w+43|0]=m>>>24,m=x+e^O,t[w+36|0]=m,t[w+37|0]=m>>>8,t[w+38|0]=m>>>16,t[w+39|0]=m>>>24,m=N+E^Z,t[w+32|0]=m,t[w+33|0]=m>>>8,t[w+34|0]=m>>>16,t[w+35|0]=m>>>24,G=G+_^W,t[w+28|0]=G,t[w+29|0]=G>>>8,t[w+30|0]=G>>>16,t[w+31|0]=G>>>24,S=M^S+y,t[w+24|0]=S,t[w+25|0]=S>>>8,t[w+26|0]=S>>>16,t[w+27|0]=S>>>24,g=X^g+p,t[w+20|0]=g,t[w+21|0]=g>>>8,t[w+22|0]=g>>>16,t[w+23|0]=g>>>24,g=z^k+f,t[w+16|0]=g,t[w+17|0]=g>>>8,t[w+18|0]=g>>>16,t[w+19|0]=g>>>24,g=j^d+h,t[w+12|0]=g,t[w+13|0]=g>>>8,t[w+14|0]=g>>>16,t[w+15|0]=g>>>24,g=R^Y+l,t[w+8|0]=g,t[w+9|0]=g>>>8,t[w+10|0]=g>>>16,t[w+11|0]=g>>>24,g=q^H+u,t[w+4|0]=g,t[w+5|0]=g>>>8,t[w+6|0]=g>>>16,t[w+7|0]=g>>>24,P=!(L=L+1|0)+P|0,!B&C>>>0<=64){if(!(!C|!B&C>>>0>63|0!=(0|B)))for(k=0;t[k+V|0]=r[w+k|0],C>>>0>(k=k+1|0)>>>0;);i[A+52>>2]=P,i[A+48>>2]=L;break}I=I- -64|0,g=w- -64|0,B=B-1|0,B=(C=C+-64|0)>>>0<4294967232?B+1|0:B}}function K(A,I){I|=0;var g,C=0,B=0,a=0,Q=0,r=0,o=0,n=0;return s=g=s-704|0,C=80+((B=i[72+(A|=0)>>2]>>>3&127)+A|0)|0,B>>>0<=111?ng(C,35104,112-B|0):(ng(C,35104,128-B|0),w(A,B=A+80|0,g,g+640|0),yg(B,0,112)),o=(a=i[A+64>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+68>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[A+192|0]=C,t[A+193|0]=C>>>8,t[A+194|0]=C>>>16,t[A+195|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[A+196|0]=B,t[A+197|0]=B>>>8,t[A+198|0]=B>>>16,t[A+199|0]=B>>>24,o=(a=i[A+72>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+76>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[A+200|0]=C,t[A+201|0]=C>>>8,t[A+202|0]=C>>>16,t[A+203|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[A+204|0]=B,t[A+205|0]=B>>>8,t[A+206|0]=B>>>16,t[A+207|0]=B>>>24,w(A,A+80|0,g,g+640|0),o=(a=i[A>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+4>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[0|I]=C,t[I+1|0]=C>>>8,t[I+2|0]=C>>>16,t[I+3|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+4|0]=B,t[I+5|0]=B>>>8,t[I+6|0]=B>>>16,t[I+7|0]=B>>>24,o=(a=i[A+8>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+12>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+8|0]=C,t[I+9|0]=C>>>8,t[I+10|0]=C>>>16,t[I+11|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+12|0]=B,t[I+13|0]=B>>>8,t[I+14|0]=B>>>16,t[I+15|0]=B>>>24,o=(a=i[A+16>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+20>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+16|0]=C,t[I+17|0]=C>>>8,t[I+18|0]=C>>>16,t[I+19|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+20|0]=B,t[I+21|0]=B>>>8,t[I+22|0]=B>>>16,t[I+23|0]=B>>>24,o=(a=i[A+24>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+28>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+24|0]=C,t[I+25|0]=C>>>8,t[I+26|0]=C>>>16,t[I+27|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+28|0]=B,t[I+29|0]=B>>>8,t[I+30|0]=B>>>16,t[I+31|0]=B>>>24,o=(a=i[A+32>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+36>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+32|0]=C,t[I+33|0]=C>>>8,t[I+34|0]=C>>>16,t[I+35|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+36|0]=B,t[I+37|0]=B>>>8,t[I+38|0]=B>>>16,t[I+39|0]=B>>>24,o=(a=i[A+40>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+44>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+40|0]=C,t[I+41|0]=C>>>8,t[I+42|0]=C>>>16,t[I+43|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+44|0]=B,t[I+45|0]=B>>>8,t[I+46|0]=B>>>16,t[I+47|0]=B>>>24,o=(a=i[A+48>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,n=Q<<24,Q=(r=-16777216&a)>>>24|0,C=n|r<<8|-16777216&((255&(C=i[A+52>>2]))<<24|a>>>8)|16711680&((16777215&C)<<8|a>>>24)|C>>>8&65280|C>>>24,t[I+48|0]=C,t[I+49|0]=C>>>8,t[I+50|0]=C>>>16,t[I+51|0]=C>>>24,B=(C=B|Q|o)|(B=0)|B|0,t[I+52|0]=B,t[I+53|0]=B>>>8,t[I+54|0]=B>>>16,t[I+55|0]=B>>>24,o=(a=i[A+56>>2])<<24|(65280&a)<<8,B=(Q=16711680&a)>>>8|0,C=I,n=Q<<24,Q=(r=-16777216&a)>>>24|0,I=n|r<<8|-16777216&((255&(I=i[A+60>>2]))<<24|a>>>8)|16711680&((16777215&I)<<8|a>>>24)|I>>>8&65280|I>>>24,t[C+56|0]=I,t[C+57|0]=I>>>8,t[C+58|0]=I>>>16,t[C+59|0]=I>>>24,I=(I=B|Q|o)|(B=0)|B|0,t[C+60|0]=I,t[C+61|0]=I>>>8,t[C+62|0]=I>>>16,t[C+63|0]=I>>>24,NC(g,704),NC(A,208),s=g+704|0,0}function x(A,I){var g,C,B,a=0,Q=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0;s=g=s-848|0,r=i[(a=I+40|0)>>2],o=i[I+80>>2],Q=i[I+44>>2],n=i[I+84>>2],c=i[I+48>>2],E=i[I+88>>2],_=i[I+52>>2],y=i[I+92>>2],p=i[I+56>>2],f=i[I+96>>2],h=i[I+60>>2],l=i[I+100>>2],D=i[(u=I- -64|0)>>2],w=i[I+104>>2],m=i[I+68>>2],k=i[I+108>>2],F=i[I+72>>2],S=i[I+112>>2],G=i[I+76>>2],e=i[I+116>>2],i[g+324>>2]=G+e,i[g+320>>2]=F+S,i[g+316>>2]=m+k,i[g+312>>2]=D+w,i[g+308>>2]=h+l,i[g+304>>2]=p+f,i[g+300>>2]=_+y,i[g+296>>2]=c+E,i[g+292>>2]=Q+n,i[g+288>>2]=r+o,i[g+36>>2]=e-G,i[g+32>>2]=S-F,i[g+28>>2]=k-m,i[g+24>>2]=w-D,i[g+20>>2]=l-h,i[g+16>>2]=f-p,i[g+12>>2]=y-_,i[g+8>>2]=E-c,i[g+4>>2]=n-Q,i[g>>2]=o-r,b(r=g+288|0,r,g),b(Q=g+240|0,I,a),U(o=g+192|0,Q),b(o,r,o),i[g+452>>2]=0,i[g+456>>2]=0,i[g+460>>2]=0,i[g+464>>2]=0,i[g+468>>2]=0,i[g+436>>2]=0,i[g+440>>2]=0,i[g+444>>2]=0,i[g+448>>2]=0,i[g+432>>2]=1,yA(n=g+576|0,g+432|0,o),b(o=g+768|0,n,r),b(c=g+720|0,n,Q),b(r=g+48|0,o,c),b(r,r,Q=I+120|0),b(g+528|0,I,1648),b(g+480|0,a,1648),b(g+624|0,o,2960),b(o=g+336|0,Q,r),zA(C=g+672|0,o),o=i[a>>2],Q=i[I+44>>2],n=i[I+48>>2],c=i[I+52>>2],E=i[I+56>>2],_=i[I+60>>2],y=i[u>>2],p=i[I+68>>2],f=i[I+72>>2],h=i[I+76>>2],l=i[I+4>>2],D=i[I+8>>2],w=i[I+12>>2],m=i[I+16>>2],k=i[I+20>>2],F=i[I+24>>2],S=i[I+28>>2],u=i[I+32>>2],G=i[I>>2],e=i[g+720>>2],M=i[g+724>>2],H=i[g+728>>2],Y=i[g+732>>2],J=i[g+736>>2],d=i[g+740>>2],K=i[g+744>>2],x=i[g+748>>2],v=i[g+752>>2],B=i[g+756>>2],R=i[g+480>>2],L=i[g+484>>2],P=i[g+488>>2],q=i[g+492>>2],j=i[g+496>>2],z=i[g+500>>2],X=i[g+504>>2],V=i[g+508>>2],W=i[g+512>>2],a=0-(1&t[g+672|0])|0,N=i[I+36>>2],i[g+180>>2]=a&(N^i[g+516>>2])^N,i[g+176>>2]=u^a&(u^W),i[g+172>>2]=S^a&(S^V),i[g+168>>2]=F^a&(F^X),i[g+164>>2]=k^a&(k^z),i[g+160>>2]=m^a&(m^j),i[g+156>>2]=w^a&(w^q),i[g+152>>2]=D^a&(D^P),i[g+148>>2]=l^a&(l^L),i[g+144>>2]=G^a&(G^R),l=i[g+528>>2],D=i[g+532>>2],w=i[g+536>>2],m=i[g+540>>2],k=i[g+544>>2],F=i[g+548>>2],S=i[g+552>>2],u=i[g+556>>2],G=i[g+560>>2],R=i[g+564>>2],L=i[g+624>>2],P=i[g+628>>2],q=i[g+632>>2],j=i[g+636>>2],z=i[g+640>>2],X=i[g+644>>2],V=i[g+648>>2],W=i[g+652>>2],N=i[g+656>>2],i[g+708>>2]=a&(i[g+660>>2]^B)^B,i[g+704>>2]=v^a&(v^N),i[g+700>>2]=x^a&(x^W),i[g+696>>2]=K^a&(K^V),i[g+692>>2]=d^a&(d^X),i[g+688>>2]=J^a&(J^z),i[g+684>>2]=Y^a&(Y^j),i[g+680>>2]=H^a&(H^q),i[g+676>>2]=M^a&(M^P),i[g+672>>2]=e^a&(e^L),b(e=g+96|0,g+144|0,r),zA(r=g+384|0,e),e=i[I+80>>2],M=i[I+84>>2],H=i[I+88>>2],Y=i[I+92>>2],J=i[I+96>>2],d=i[I+100>>2],K=i[I+104>>2],x=i[I+108>>2],v=i[I+112>>2],N=i[I+116>>2],I=0-(1&t[g+384|0])|0,h^=a&(h^R),i[g+420>>2]=N-(I&(0-h^h)^h),f^=a&(f^G),i[g+416>>2]=v-(I&(0-f^f)^f),p^=a&(p^u),i[g+412>>2]=x-(I&(0-p^p)^p),y^=a&(y^S),i[g+408>>2]=K-(I&(0-y^y)^y),_^=a&(_^F),i[g+404>>2]=d-(I&(0-_^_)^_),E^=a&(E^k),i[g+400>>2]=J-(I&(0-E^E)^E),c^=a&(c^m),i[g+396>>2]=Y-(I&(0-c^c)^c),n^=a&(n^w),i[g+392>>2]=H-(I&(0-n^n)^n),Q^=a&(Q^D),i[g+388>>2]=M-(I&(0-Q^Q)^Q),Q=I,I=o^a&(o^l),i[g+384>>2]=e-(Q&(0-I^I)^I),b(r,C,r),zA(g+816|0,r),I=0-(1&t[g+816|0])|0,a=i[g+384>>2],i[g+384>>2]=I&(0-a^a)^a,a=i[g+388>>2],i[g+388>>2]=I&(0-a^a)^a,a=i[g+392>>2],i[g+392>>2]=I&(0-a^a)^a,a=i[g+396>>2],i[g+396>>2]=I&(0-a^a)^a,a=i[g+400>>2],i[g+400>>2]=I&(0-a^a)^a,a=i[g+404>>2],i[g+404>>2]=I&(0-a^a)^a,a=i[g+408>>2],i[g+408>>2]=I&(0-a^a)^a,a=i[g+412>>2],i[g+412>>2]=I&(0-a^a)^a,a=i[g+416>>2],i[g+416>>2]=I&(0-a^a)^a,Q=I,I=i[g+420>>2],i[g+420>>2]=Q&(0-I^I)^I,zA(A,r),s=g+848|0}function v(A,I,g,C,B){A|=0,I|=0,g|=0,C|=0;var a=0,Q=0,i=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,l=0,u=0,D=0;if(o=1886610805^(C=r[0|(B|=0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),Q=1936682341^(a=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24),n=1852142177^C,i=1819895653^a,a=1852075885^(C=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24),B=1685025377^(e=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24),c=2037671283^C,e^=1952801890,(0|(C=(I+g|0)-(y=7&g)|0))!=(0|I)){for(;n=n+(c^=u=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24)|0,i=i+(E=e^(D=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24))|0,i=n>>>0>>0?i+1|0:i,_=1+(Q=B+Q|0)|0,e=Q,e=o>>>0>(Q=a+o|0)>>>0?_:e,o=n+(B=fI(a,B,13)^Q)|0,a=i+(_=h^e)|0,_=fI(B,_,17)^o,l=fI(_,f=(p=B>>>0>o>>>0?a+1|0:a)^h,13),s=h,B=fI(c,E,16),a=i^h,i=B^n,n=fI(Q,e,32),Q=h+a|0,e=1+(n=f+(c=(B=i+n|0)>>>0>>0?Q+1|0:Q)|0)|0,Q=n,Q=(n=B+_|0)>>>0>>0?e:Q,f=fI(e=n^l,E=Q^s,17),l=h,a=fI(i,a,21),i=c^h,c=B^a,B=fI(o,p,32),a=h+i|0,B=(p=B>>>0>(o=c+B|0)>>>0?a+1|0:a)+E|0,a=(E=o+e|0)^f,B=(_=E>>>0>>0?B+1|0:B)^l,i=fI(c,i,16),e=c=p^h,i=fI(o^=i,c,21),p=h,c=(o=(n=fI(n,Q,32))+o|0)^i,Q=h+e|0,e=(Q=o>>>0>>0?Q+1|0:Q)^p,n=fI(E,_,32),i=h,o^=u,Q^=D,(0|C)!=(0|(I=I+8|0)););I=C}switch(g<<=24,C=0,y-1|0){case 6:g|=r[I+6|0]<<16;case 5:g|=r[I+5|0]<<8;case 4:g|=r[I+4|0];case 3:E=(C=r[I+3|0])>>>8|0,C<<=24,g|=E;case 2:C|=(E=r[I+2|0])<<16,g|=_=E>>>16|0;case 1:C|=(E=r[I+1|0])<<8,g|=_=E>>>24|0;case 0:C=r[0|I]|C}return e=fI(I=C^c,c=g^e,16),i=i+c|0,n=(I=I+n|0)>>>0>>0?i+1|0:i,e=fI(i=I^e,c=n^h,21),E=h,s=1+(Q=B+Q|0)|0,_=Q,_=o=o>>>0>(Q=a+o|0)>>>0?s:_,y=fI(Q,o,32),c=h+c|0,E=fI(i=e^(o=i+y|0),e=E^(c=o>>>0>>0?c+1|0:c),16),y=h,B=fI(a,B,13)^Q,a=(Q=n)+(n=h^_)|0,_=fI(I=I+B|0,Q=I>>>0>>0?a+1|0:a,32),e=h+e|0,_=fI(i=E^(a=i+_|0),E=(e=a>>>0<_>>>0?e+1|0:e)^y,21),y=h,I=o+(B=n=fI(B,n,17)^I)|0,o=(Q^=h)+c|0,c=B=I>>>0>>0?o+1|0:o,s=_,o=i+(_=fI(I,B,32))|0,i=h+E|0,_=fI(B=s^o,E=(i=o>>>0<_>>>0?i+1|0:i)^y,16),y=h,s=a,Q=fI(n,Q,13)^I,n=(c^=h)+e|0,e=a=(I=s+(a=Q)|0)>>>0>>0?n+1|0:n,a=fI(I,a,32),n=E+h|0,E=(s=B)>>>0>(B=B+(255^a)|0)>>>0?n+1|0:n,_=fI(n=B^_,a=y^E,21),y=h,Q=fI(Q,c,17)^I,g=(c=e^h)+(g^i)|0,g=fI(I=Q+(C^=o)|0,i=g=I>>>0>>0?g+1|0:g,32),C=a+h|0,n=fI(o=(g=g+n|0)^_,C=(a=g>>>0>>0?C+1|0:C)^y,16),e=h,Q=fI(Q,c,13)^I,c=E+(i^=h)|0,c=B=(I=B+Q|0)>>>0>>0?c+1|0:c,B=fI(I,B,32),_=e,s=1+(C=C+h|0)|0,e=C,e=(C=B+o|0)>>>0>>0?s:e,n=fI(o=C^n,B=_^e,21),E=h,Q=fI(Q,i,17),s=1+(a=a+(i=c^h)|0)|0,_=a,Q=I=(c=g)>>>0>(g=g+(a=I^Q)|0)>>>0?s:_,I=fI(g,I,32),B=B+h|0,c=(I=I+o|0)>>>0>>0?B+1|0:B,n=fI(o=I^n,B=c^E,16),E=h,a=fI(a,i,13),i=e+(Q^=h)|0,e=C,g=fI(C=C+(a^=g)|0,i=g=e>>>0>C>>>0?i+1|0:i,32),B=B+h|0,e=(g=g+o|0)>>>0>>0?B+1|0:B,n=fI(o=g^n,B=e^E,21),E=h,a=fI(a,Q,17),_=1+(i=c+(Q=i^h)|0)|0,c=i,I=fI(C=I+(i=C^a)|0,a=C>>>0>>0?_:c,32),B=B+h|0,c=(I=I+o|0)>>>0>>0?B+1|0:B,n=fI(o=I^n,B=c^E,16),E=h,Q=fI(i,Q,13),i=e+(a^=h)|0,g=fI(C=g+(Q^=C)|0,i=g=C>>>0>>0?i+1|0:i,32),B=B+h|0,o=fI((g=g+o|0)^n,(B=g>>>0>>0?B+1|0:B)^E,21),n=h,C=fI(Q,a,17)^C,Q=fI(C,a=i^h,13),a=a+c|0,I=h^(I>>>0>(C=I+C|0)>>>0?a+1|0:a),o=fI(C^=Q,I,17)^o,a=h^n,Q=1+(I=I+B|0)|0,B=I,I=fI(I=g+C|0,g=g>>>0>I>>>0?Q:B,32)^o^I,t[0|A]=I,t[A+1|0]=I>>>8,t[A+2|0]=I>>>16,t[A+3|0]=I>>>24,I=g^h^a,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,0}function R(A,I){var g,C,B,a,Q,t=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0;s=g=s-624|0,U(t=g+480|0,I),b(t,1648,t),n=i[g+516>>2],i[g+276>>2]=n,c=i[g+512>>2],i[g+272>>2]=c,e=i[g+508>>2],i[g+268>>2]=e,E=i[g+504>>2],i[g+264>>2]=E,_=i[g+500>>2],i[g+260>>2]=_,y=i[g+496>>2],i[g+256>>2]=y,p=i[g+492>>2],i[g+252>>2]=p,f=i[g+488>>2],i[g+248>>2]=f,h=i[g+484>>2],i[g+244>>2]=h,u=i[g+480>>2],i[g+240>>2]=u+1,b(o=g+240|0,o,33984),i[g+468>>2]=n-12055116,i[g+464>>2]=c-18696448,i[g+460>>2]=e-3247719,i[g+456>>2]=E-6275908,i[g+452>>2]=_-8787816,i[g+448>>2]=y+114729,i[g+444>>2]=p+6949391,i[g+440>>2]=f-15372611,i[g+436>>2]=h+13857413,i[g+432>>2]=u-10913610,b(l=g+192|0,t,1600),i[g+228>>2]=0-i[g+228>>2],i[g+224>>2]=0-i[g+224>>2],i[g+220>>2]=0-i[g+220>>2],i[g+216>>2]=0-i[g+216>>2],i[g+212>>2]=0-i[g+212>>2],i[g+208>>2]=0-i[g+208>>2],i[g+204>>2]=0-i[g+204>>2],i[g+200>>2]=0-i[g+200>>2],i[g+196>>2]=0-i[g+196>>2],i[g+192>>2]=-1^i[g+192>>2],b(l,l,g+432|0),t=yA(C=g+384|0,o,l),b(o=g+336|0,C,I),zA(B=g+576|0,o),Q=r[g+576|0],H=i[g+420>>2],o=i[g+372>>2],Y=i[g+416>>2],D=i[g+368>>2],J=i[g+412>>2],w=i[g+364>>2],d=i[g+408>>2],m=i[g+360>>2],K=i[g+404>>2],k=i[g+356>>2],x=i[g+400>>2],F=i[g+352>>2],v=i[g+396>>2],S=i[g+348>>2],R=i[g+392>>2],G=i[g+344>>2],L=i[g+388>>2],N=i[g+340>>2],a=i[g+384>>2],M=i[g+336>>2],I=t-1|0,i[g+612>>2]=I&n,i[g+608>>2]=I&c,i[g+604>>2]=I&e,i[g+600>>2]=I&E,i[g+596>>2]=I&_,i[g+592>>2]=I&y,i[g+588>>2]=I&p,i[g+584>>2]=I&f,i[g+580>>2]=I&h,i[g+576>>2]=u|0-t,M=I&(0-(M^(t=0-(1&Q)|0)&(M^0-M))^a)^a,i[g+384>>2]=M,N=L^I&(L^0-(N^t&(N^0-N))),i[g+388>>2]=N,G=R^I&(R^0-(G^t&(G^0-G))),i[g+392>>2]=G,S=v^I&(v^0-(S^t&(S^0-S))),i[g+396>>2]=S,F=x^I&(x^0-(F^t&(F^0-F))),i[g+400>>2]=F,k=K^I&(K^0-(k^t&(k^0-k))),i[g+404>>2]=k,m=d^I&(d^0-(m^t&(m^0-m))),i[g+408>>2]=m,w=J^I&(J^0-(w^t&(w^0-w))),i[g+412>>2]=w,D=Y^I&(Y^0-(D^t&(D^0-D))),i[g+416>>2]=D,t=H^I&(H^0-(o^t&(o^0-o))),i[g+420>>2]=t,i[g+564>>2]=n,i[g+560>>2]=c,i[g+556>>2]=e,i[g+552>>2]=E,i[g+548>>2]=_,i[g+544>>2]=y,i[g+540>>2]=p,i[g+536>>2]=f,i[g+532>>2]=h,i[g+528>>2]=u-1,b(I=g+528|0,I,B),b(I,I,34032),n=i[g+192>>2],c=i[g+528>>2],e=i[g+196>>2],E=i[g+532>>2],_=i[g+200>>2],y=i[g+536>>2],p=i[g+204>>2],f=i[g+540>>2],h=i[g+208>>2],u=i[g+544>>2],o=i[g+212>>2],H=i[g+548>>2],Y=i[g+216>>2],J=i[g+552>>2],d=i[g+220>>2],K=i[g+556>>2],x=i[g+224>>2],v=i[g+560>>2],R=i[g+228>>2],L=i[g+564>>2],i[g+180>>2]=t<<1,i[g+176>>2]=D<<1,i[g+172>>2]=w<<1,i[g+168>>2]=m<<1,i[g+164>>2]=k<<1,i[g+160>>2]=F<<1,i[g+156>>2]=S<<1,i[g+152>>2]=G<<1,i[g+148>>2]=N<<1,i[g+144>>2]=M<<1,i[g+564>>2]=L-R,i[g+560>>2]=v-x,i[g+556>>2]=K-d,i[g+552>>2]=J-Y,i[g+548>>2]=H-o,i[g+544>>2]=u-h,i[g+540>>2]=f-p,i[g+536>>2]=y-_,i[g+532>>2]=E-e,i[g+528>>2]=c-n,b(t=g+144|0,t,l),b(l=g+96|0,I,34080),U(g+288|0,C),I=i[g+324>>2],i[g+84>>2]=0-I,n=i[g+320>>2],i[g+80>>2]=0-n,c=i[g+316>>2],i[g+76>>2]=0-c,e=i[g+312>>2],i[g+72>>2]=0-e,E=i[g+308>>2],i[g+68>>2]=0-E,_=i[g+304>>2],i[g+64>>2]=0-_,y=i[g+300>>2],i[g+60>>2]=0-y,p=i[g+296>>2],i[g+56>>2]=0-p,f=i[g+292>>2],i[g+52>>2]=0-f,h=i[g+288>>2],i[g+48>>2]=1-h,i[g+36>>2]=I,i[g+32>>2]=n,i[g+28>>2]=c,i[g+24>>2]=e,i[g+20>>2]=E,i[g+16>>2]=_,i[g+12>>2]=y,i[g+8>>2]=p,i[g+4>>2]=f,i[g>>2]=h+1,b(A,t,g),b(A+40|0,I=g+48|0,l),b(A+80|0,l,g),b(A+120|0,t,I),s=g+624|0}function L(A){var I,g,C=0,B=0,a=0,Q=0,r=0,o=0,c=0,e=0,E=0,_=0,y=0;for(s=I=s-2048|0,RA(E=I+640|0,A),C=i[A+8>>2],B=i[A+12>>2],a=i[A+16>>2],Q=i[A+20>>2],c=i[A+24>>2],e=i[A+28>>2],r=i[A>>2],o=i[A+4>>2],_=i[A+36>>2],i[I+352>>2]=i[A+32>>2],i[I+356>>2]=_,i[I+344>>2]=c,i[I+348>>2]=e,i[I+336>>2]=a,i[I+340>>2]=Q,i[I+328>>2]=C,i[I+332>>2]=B,i[I+320>>2]=r,i[I+324>>2]=o,C=i[A+40>>2],B=i[A+44>>2],a=i[A+48>>2],Q=i[A+52>>2],c=i[A+56>>2],e=i[A+60>>2],o=i[(r=A- -64|0)>>2],r=i[r+4>>2],_=i[A+76>>2],i[I+392>>2]=i[A+72>>2],i[I+396>>2]=_,i[I+384>>2]=o,i[I+388>>2]=r,i[I+376>>2]=c,i[I+380>>2]=e,i[I+368>>2]=a,i[I+372>>2]=Q,i[I+360>>2]=C,i[I+364>>2]=B,C=i[A+80>>2],B=i[A+84>>2],a=i[A+88>>2],Q=i[A+92>>2],c=i[A+96>>2],e=i[A+100>>2],r=i[A+104>>2],o=i[A+108>>2],_=i[A+116>>2],i[I+432>>2]=i[A+112>>2],i[I+436>>2]=_,i[I+424>>2]=r,i[I+428>>2]=o,i[I+416>>2]=c,i[I+420>>2]=e,i[I+408>>2]=a,i[I+412>>2]=Q,i[I+400>>2]=C,i[I+404>>2]=B,fA(A=I+480|0,C=I+320|0),b(r=I+160|0,A,B=I+600|0),b(I+200|0,a=I+520|0,Q=I+560|0),b(I+240|0,Q,B),b(I+280|0,A,a),aA(A,r,E),b(C,A,B),b(E=I+360|0,a,Q),b(c=I+400|0,Q,B),b(e=I+440|0,A,a),RA(o=I+800|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(o=I+960|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(o=I+1120|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(o=I+1280|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(o=I+1440|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(o=I+1600|0,C),aA(A,r,o),b(C,A,B),b(E,a,Q),b(c,Q,B),b(e,A,a),RA(I+1760|0,C),i[I+32>>2]=0,i[I+36>>2]=0,i[I+24>>2]=0,i[I+28>>2]=0,i[I+16>>2]=0,i[I+20>>2]=0,i[I+8>>2]=0,i[I+12>>2]=0,i[I+44>>2]=0,i[I+48>>2]=0,i[I+52>>2]=0,i[I+56>>2]=0,i[I+60>>2]=0,i[I+64>>2]=0,i[I+68>>2]=0,i[I+72>>2]=0,i[I+76>>2]=0,i[I+80>>2]=1,i[I>>2]=0,i[I+4>>2]=0,i[I+40>>2]=1,yg(I+84|0,0,76),o=I+120|0,_=I+80|0,g=I+40|0,A=252;C=i[I+36>>2],i[I+1960>>2]=i[I+32>>2],i[I+1964>>2]=C,C=i[I+28>>2],i[I+1952>>2]=i[I+24>>2],i[I+1956>>2]=C,C=i[I+20>>2],i[I+1944>>2]=i[I+16>>2],i[I+1948>>2]=C,C=i[I+12>>2],i[I+1936>>2]=i[I+8>>2],i[I+1940>>2]=C,C=i[I+4>>2],i[I+1928>>2]=i[I>>2],i[I+1932>>2]=C,C=i[I+76>>2],i[I+2e3>>2]=i[I+72>>2],i[I+2004>>2]=C,C=i[I+68>>2],i[I+1992>>2]=i[I+64>>2],i[I+1996>>2]=C,C=i[I+60>>2],i[I+1984>>2]=i[I+56>>2],i[I+1988>>2]=C,C=i[I+52>>2],i[I+1976>>2]=i[I+48>>2],i[I+1980>>2]=C,C=i[I+44>>2],i[I+1968>>2]=i[I+40>>2],i[I+1972>>2]=C,C=i[I+84>>2],i[I+2008>>2]=i[I+80>>2],i[I+2012>>2]=C,C=i[I+92>>2],i[I+2016>>2]=i[I+88>>2],i[I+2020>>2]=C,C=i[I+100>>2],i[I+2024>>2]=i[I+96>>2],i[I+2028>>2]=C,C=i[I+108>>2],i[I+2032>>2]=i[I+104>>2],i[I+2036>>2]=C,C=i[I+116>>2],i[I+2040>>2]=i[I+112>>2],i[I+2044>>2]=C,C=A,A=t[A+33728|0],fA(I+480|0,I+1928|0),(0|A)>0?(b(y=I+320|0,r=I+480|0,B),b(E,a,Q),b(c,Q,B),b(e,r,a),aA(r,y,(I+640|0)+n((254&A)>>>1|0,160)|0)):(0|A)>=0||(b(y=I+320|0,r=I+480|0,B),b(E,a,Q),b(c,Q,B),b(e,r,a),QA(r,y,(I+640|0)+n((0-A&254)>>>1|0,160)|0)),b(I,A=I+480|0,B),b(g,a,Q),b(_,Q,B),b(o,A,a),A=C-1|0,C;);return zA(A=I+640|0,I),A=EI(A,32),s=I+2048|0,A}function P(A,I,g){var C,B=0,Q=0,o=0,n=0,c=0,e=0;s=C=s+-64|0;A:{if((g-65&255)>>>0>191){if(B=-1,!(r[A+80|0]|r[A+81|0]<<8|r[A+82|0]<<16|r[A+83|0]<<24|r[A+84|0]|r[A+85|0]<<8|r[A+86|0]<<16|r[A+87|0]<<24)){if((n=r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)>>>0>=129){if(o=r[0|(B=A- -64|0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,c=Q=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,Q=(n=o+128|0)>>>0<128?Q+1|0:Q,t[0|B]=n,t[B+1|0]=n>>>8,t[B+2|0]=n>>>16,t[B+3|0]=n>>>24,t[B+4|0]=Q,t[B+5|0]=Q>>>8,t[B+6|0]=Q>>>16,t[B+7|0]=Q>>>24,Q=r[A+76|0]|r[A+77|0]<<8|r[A+78|0]<<16|r[A+79|0]<<24,Q=(B=-1==(0|c)&o>>>0>4294967167)>>>0>(o=B+(r[A+72|0]|r[A+73|0]<<8|r[A+74|0]<<16|r[A+75|0]<<24)|0)>>>0?Q+1|0:Q,t[A+72|0]=o,t[A+73|0]=o>>>8,t[A+74|0]=o>>>16,t[A+75|0]=o>>>24,t[A+76|0]=Q,t[A+77|0]=Q>>>8,t[A+78|0]=Q>>>16,t[A+79|0]=Q>>>24,l(A,Q=A+96|0),B=(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)-128|0,t[A+352|0]=B,t[A+353|0]=B>>>8,t[A+354|0]=B>>>16,t[A+355|0]=B>>>24,B>>>0>=129)break A;ng(Q,A+224|0,B),n=r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24}Q=r[0|(B=A- -64|0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,o=e=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,o=(c=Q+n|0)>>>0>>0?o+1|0:o,t[0|B]=c,t[B+1|0]=c>>>8,t[B+2|0]=c>>>16,t[B+3|0]=c>>>24,t[B+4|0]=o,t[B+5|0]=o>>>8,t[B+6|0]=o>>>16,t[B+7|0]=o>>>24,B=(0|o)==(0|e)&Q>>>0>c>>>0|o>>>0>>0,Q=r[A+76|0]|r[A+77|0]<<8|r[A+78|0]<<16|r[A+79|0]<<24,Q=(o=B+(r[A+72|0]|r[A+73|0]<<8|r[A+74|0]<<16|r[A+75|0]<<24)|0)>>>0>>0?Q+1|0:Q,t[A+72|0]=o,t[A+73|0]=o>>>8,t[A+74|0]=o>>>16,t[A+75|0]=o>>>24,t[A+76|0]=Q,t[A+77|0]=Q>>>8,t[A+78|0]=Q>>>16,t[A+79|0]=Q>>>24,r[A+356|0]&&(t[A+88|0]=255,t[A+89|0]=255,t[A+90|0]=255,t[A+91|0]=255,t[A+92|0]=255,t[A+93|0]=255,t[A+94|0]=255,t[A+95|0]=255),t[A+80|0]=255,t[A+81|0]=255,t[A+82|0]=255,t[A+83|0]=255,t[A+84|0]=255,t[A+85|0]=255,t[A+86|0]=255,t[A+87|0]=255,yg((B=A+96|0)+n|0,0,256-n|0),l(A,B),Q=r[A+4|0]|r[A+5|0]<<8|r[A+6|0]<<16|r[A+7|0]<<24,i[C>>2]=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,i[C+4>>2]=Q,Q=r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24,i[C+8>>2]=r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24,i[C+12>>2]=Q,Q=r[A+20|0]|r[A+21|0]<<8|r[A+22|0]<<16|r[A+23|0]<<24,i[C+16>>2]=r[A+16|0]|r[A+17|0]<<8|r[A+18|0]<<16|r[A+19|0]<<24,i[C+20>>2]=Q,Q=r[A+28|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24,i[C+24>>2]=r[A+24|0]|r[A+25|0]<<8|r[A+26|0]<<16|r[A+27|0]<<24,i[C+28>>2]=Q,Q=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24,i[C+32>>2]=r[A+32|0]|r[A+33|0]<<8|r[A+34|0]<<16|r[A+35|0]<<24,i[C+36>>2]=Q,Q=r[A+44|0]|r[A+45|0]<<8|r[A+46|0]<<16|r[A+47|0]<<24,i[C+40>>2]=r[A+40|0]|r[A+41|0]<<8|r[A+42|0]<<16|r[A+43|0]<<24,i[C+44>>2]=Q,Q=r[A+52|0]|r[A+53|0]<<8|r[A+54|0]<<16|r[A+55|0]<<24,i[C+48>>2]=r[A+48|0]|r[A+49|0]<<8|r[A+50|0]<<16|r[A+51|0]<<24,i[C+52>>2]=Q,Q=r[A+60|0]|r[A+61|0]<<8|r[A+62|0]<<16|r[A+63|0]<<24,i[C+56>>2]=r[A+56|0]|r[A+57|0]<<8|r[A+58|0]<<16|r[A+59|0]<<24,i[C+60>>2]=Q,ng(I,C,g),NC(A,64),NC(B,256),B=0}return s=C- -64|0,B}$g(),a()}E(1369,1217,306,1142),a()}function q(A,I,g){A|=0,I|=0,g|=0;var C,B,a,Q=0,o=0;s=C=s-192|0,i[C+144>>2]=0,i[C+148>>2]=0,i[C+152>>2]=0,i[C+156>>2]=0,i[C+104>>2]=0,i[C+108>>2]=0,i[C+112>>2]=0,i[C+116>>2]=0,i[C+120>>2]=0,i[C+124>>2]=0,Q=i[8595],i[C+168>>2]=i[8594],i[C+172>>2]=Q,Q=i[8597],i[C+176>>2]=i[8596],i[C+180>>2]=Q,Q=i[8599],i[C+184>>2]=i[8598],i[C+188>>2]=Q,i[C+128>>2]=0,i[C+132>>2]=0,i[C+136>>2]=0,i[C+140>>2]=0,i[C+96>>2]=0,i[C+100>>2]=0,Q=i[8593],i[C+160>>2]=i[8592],i[C+164>>2]=Q,Q=r[g+20|0]|r[g+21|0]<<8|r[g+22|0]<<16|r[g+23|0]<<24,i[C+80>>2]=r[g+16|0]|r[g+17|0]<<8|r[g+18|0]<<16|r[g+19|0]<<24,i[C+84>>2]=Q,Q=r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24,i[C+88>>2]=r[g+24|0]|r[g+25|0]<<8|r[g+26|0]<<16|r[g+27|0]<<24,i[C+92>>2]=Q,Q=r[g+4|0]|r[g+5|0]<<8|r[g+6|0]<<16|r[g+7|0]<<24,i[C+64>>2]=r[0|g]|r[g+1|0]<<8|r[g+2|0]<<16|r[g+3|0]<<24,i[C+68>>2]=Q,Q=r[g+12|0]|r[g+13|0]<<8|r[g+14|0]<<16|r[g+15|0]<<24,i[C+72>>2]=r[g+8|0]|r[g+9|0]<<8|r[g+10|0]<<16|r[g+11|0]<<24,i[C+76>>2]=Q,XI(g=C+128|0,Q=C- -64|0),m(g),o=i[C+156>>2],i[C+24>>2]=i[C+152>>2],i[C+28>>2]=o,o=i[C+148>>2],i[C+16>>2]=i[C+144>>2],i[C+20>>2]=o,o=i[C+140>>2],i[C+8>>2]=i[C+136>>2],i[C+12>>2]=o,o=i[C+132>>2],i[C>>2]=i[C+128>>2],i[C+4>>2]=o,i[C+120>>2]=0,i[C+124>>2]=0,i[C+112>>2]=0,i[C+116>>2]=0,i[C+104>>2]=0,i[C+108>>2]=0,i[C+96>>2]=0,i[C+100>>2]=0,o=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[C+80>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[C+84>>2]=o,o=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[C+88>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[C+92>>2]=o,o=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,B=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,a=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,I=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[C+56>>2]=0,i[C+60>>2]=0,i[C+48>>2]=0,i[C+52>>2]=0,i[C+40>>2]=0,i[C+44>>2]=0,i[C+64>>2]=a,i[C+68>>2]=I,i[C+72>>2]=o,i[C+76>>2]=B,i[C+32>>2]=0,i[C+36>>2]=0,WI(Q,C),I=i[C+124>>2],i[C+184>>2]=i[C+120>>2],i[C+188>>2]=I,I=i[C+116>>2],i[C+176>>2]=i[C+112>>2],i[C+180>>2]=I,I=i[C+108>>2],i[C+168>>2]=i[C+104>>2],i[C+172>>2]=I,I=i[C+100>>2],i[C+160>>2]=i[C+96>>2],i[C+164>>2]=I,I=i[C+92>>2],i[C+152>>2]=i[C+88>>2],i[C+156>>2]=I,I=i[C+84>>2],i[C+144>>2]=i[C+80>>2],i[C+148>>2]=I,I=i[C+76>>2],i[C+136>>2]=i[C+72>>2],i[C+140>>2]=I,I=i[C+68>>2],i[C+128>>2]=i[C+64>>2],i[C+132>>2]=I,m(g),I=i[C+156>>2],Q=i[C+152>>2],t[A+24|0]=Q,t[A+25|0]=Q>>>8,t[A+26|0]=Q>>>16,t[A+27|0]=Q>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[C+148>>2],Q=i[C+144>>2],t[A+16|0]=Q,t[A+17|0]=Q>>>8,t[A+18|0]=Q>>>16,t[A+19|0]=Q>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[C+140>>2],Q=i[C+136>>2],t[A+8|0]=Q,t[A+9|0]=Q>>>8,t[A+10|0]=Q>>>16,t[A+11|0]=Q>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[C+132>>2],Q=i[C+128>>2],t[0|A]=Q,t[A+1|0]=Q>>>8,t[A+2|0]=Q>>>16,t[A+3|0]=Q>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,NC(g,64),s=C+192|0}function j(A){var I=0,g=0,C=0,B=0,a=0,Q=0,t=0,r=0,n=0;A:if(A|=0){a=(C=A-8|0)+(A=-8&(I=i[A-4>>2]))|0;I:if(!(1&I)){if(!(3&I))break A;if((C=C-(I=i[C>>2])|0)>>>0>2])))return i[9132]=A,i[a+4>>2]=-2&I,i[C+4>>2]=1|A,void(i[A+C>>2]=A)}else{if(I>>>0<=255){if(B=i[C+8>>2],I=I>>>3|0,(0|(g=i[C+12>>2]))==(0|B)){r=36520,n=i[9130]&kg(-2,I),i[r>>2]=n;break I}i[B+12>>2]=g,i[g+8>>2]=B;break I}if(t=i[C+24>>2],(0|C)==(0|(I=i[C+12>>2])))if((g=i[(B=C+20|0)>>2])||(g=i[(B=C+16|0)>>2])){for(;Q=B,(g=i[(B=(I=g)+20|0)>>2])||(B=I+16|0,g=i[I+16>>2]););i[Q>>2]=0}else I=0;else g=i[C+8>>2],i[g+12>>2]=I,i[I+8>>2]=g;if(!t)break I;B=i[C+28>>2];g:{if(i[(g=36824+(B<<2)|0)>>2]==(0|C)){if(i[g>>2]=I,I)break g;r=36524,n=i[9131]&kg(-2,B),i[r>>2]=n;break I}if(i[t+(i[t+16>>2]==(0|C)?16:20)>>2]=I,!I)break I}if(i[I+24>>2]=t,(g=i[C+16>>2])&&(i[I+16>>2]=g,i[g+24>>2]=I),!(g=i[C+20>>2]))break I;i[I+20>>2]=g,i[g+24>>2]=I}}if(!(C>>>0>=a>>>0)&&1&(I=i[a+4>>2])){I:{if(!(2&I)){if(i[9136]==(0|a)){if(i[9136]=C,A=i[9133]+A|0,i[9133]=A,i[C+4>>2]=1|A,i[9135]!=(0|C))break A;return i[9132]=0,void(i[9135]=0)}if(i[9135]==(0|a))return i[9135]=C,A=i[9132]+A|0,i[9132]=A,i[C+4>>2]=1|A,void(i[A+C>>2]=A);A=(-8&I)+A|0;g:if(I>>>0<=255){if(B=i[a+8>>2],I=I>>>3|0,(0|(g=i[a+12>>2]))==(0|B)){r=36520,n=i[9130]&kg(-2,I),i[r>>2]=n;break g}i[B+12>>2]=g,i[g+8>>2]=B}else{if(t=i[a+24>>2],(0|a)==(0|(I=i[a+12>>2])))if((g=i[(B=a+20|0)>>2])||(g=i[(B=a+16|0)>>2])){for(;Q=B,(g=i[(B=(I=g)+20|0)>>2])||(B=I+16|0,g=i[I+16>>2]););i[Q>>2]=0}else I=0;else g=i[a+8>>2],i[g+12>>2]=I,i[I+8>>2]=g;if(t){B=i[a+28>>2];C:{if(i[(g=36824+(B<<2)|0)>>2]==(0|a)){if(i[g>>2]=I,I)break C;r=36524,n=i[9131]&kg(-2,B),i[r>>2]=n;break g}if(i[t+(i[t+16>>2]==(0|a)?16:20)>>2]=I,!I)break g}i[I+24>>2]=t,(g=i[a+16>>2])&&(i[I+16>>2]=g,i[g+24>>2]=I),(g=i[a+20>>2])&&(i[I+20>>2]=g,i[g+24>>2]=I)}}if(i[C+4>>2]=1|A,i[A+C>>2]=A,i[9135]!=(0|C))break I;return void(i[9132]=A)}i[a+4>>2]=-2&I,i[C+4>>2]=1|A,i[A+C>>2]=A}if(A>>>0<=255)return I=36560+(-8&A)|0,(g=i[9130])&(A=1<<(A>>>3))?A=i[I+8>>2]:(i[9130]=A|g,A=I),i[I+8>>2]=C,i[A+12>>2]=C,i[C+12>>2]=I,void(i[C+8>>2]=A);B=31,A>>>0<=16777215&&(B=62+((A>>>38-(I=c(A>>>8|0))&1)-(I<<1)|0)|0),i[C+28>>2]=B,i[C+16>>2]=0,i[C+20>>2]=0,Q=36824+(B<<2)|0;I:{g:{if((g=i[9131])&(I=1<>>1|0)|0:0),I=i[Q>>2];;){if(g=I,(-8&i[I+4>>2])==(0|A))break g;if(I=B>>>29|0,B<<=1,!(I=i[16+(Q=g+(4&I)|0)>>2]))break}i[Q+16>>2]=C,i[C+24>>2]=g}else i[9131]=I|g,i[Q>>2]=C,i[C+24>>2]=Q;i[C+12>>2]=C,i[C+8>>2]=C;break I}A=i[g+8>>2],i[A+12>>2]=C,i[g+8>>2]=C,i[C+24>>2]=0,i[C+12>>2]=g,i[C+8>>2]=A}A=i[9138]-1|0,i[9138]=A||-1}}}function z(A,I,g,C,B){var a,Q,i,o,n,c,e,E,_,y,s,p,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0;if(C?(U=r[C+12|0]|r[C+13|0]<<8|r[C+14|0]<<16|r[C+15|0]<<24,d=r[C+8|0]|r[C+9|0]<<8|r[C+10|0]<<16|r[C+11|0]<<24,J=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,K=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24):(U=1797285236,J=1634760805,d=2036477234,K=857760878),C=a=r[g+20|0]|r[g+21|0]<<8|r[g+22|0]<<16|r[g+23|0]<<24,k=Q=r[g+24|0]|r[g+25|0]<<8|r[g+26|0]<<16|r[g+27|0]<<24,N=i=r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24,l=U,m=o=r[g+16|0]|r[g+17|0]<<8|r[g+18|0]<<16|r[g+19|0]<<24,F=d,b=n=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,S=c=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,u=e=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,I=E=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,G=K,f=_=r[g+12|0]|r[g+13|0]<<8|r[g+14|0]<<16|r[g+15|0]<<24,h=y=r[g+8|0]|r[g+9|0]<<8|r[g+10|0]<<16|r[g+11|0]<<24,D=s=r[g+4|0]|r[g+5|0]<<8|r[g+6|0]<<16|r[g+7|0]<<24,g=p=r[0|g]|r[g+1|0]<<8|r[g+2|0]<<16|r[g+3|0]<<24,w=J,(0|B)>0)for(;M=kg(g+G|0,7)^b,x=kg(M+G|0,9)^k,H=kg(C+w|0,7)^f,v=kg(H+w|0,9)^S,R=kg(H+v|0,13)^C,Y=kg(l+m|0,7)^h,u=kg(Y+l|0,9)^u,h=kg(u+Y|0,13)^m,l=kg(u+h|0,18)^l,f=kg(I+F|0,7)^N,C=R^kg(l+f|0,7),k=kg(C+l|0,9)^x,N=kg(C+k|0,13)^f,l=kg(k+N|0,18)^l,D=kg(f+F|0,9)^D,f=kg(D+f|0,13)^I,I=kg(f+D|0,18)^F,m=kg(I+M|0,7)^h,S=kg(m+I|0,9)^v,b=kg(m+S|0,13)^M,F=kg(S+b|0,18)^I,g=kg(M+x|0,13)^g,h=kg(g+x|0,18)^G,I=kg(h+H|0,7)^f,u=kg(I+h|0,9)^u,f=kg(I+u|0,13)^H,G=kg(u+f|0,18)^h,w=kg(v+R|0,18)^w,g=kg(w+Y|0,7)^g,D=kg(g+w|0,9)^D,h=kg(g+D|0,13)^Y,w=kg(D+h|0,18)^w,(0|(L=L+2|0))<(0|B););B=l+U|0,t[A+60|0]=B,t[A+61|0]=B>>>8,t[A+62|0]=B>>>16,t[A+63|0]=B>>>24,B=N+i|0,t[A+56|0]=B,t[A+57|0]=B>>>8,t[A+58|0]=B>>>16,t[A+59|0]=B>>>24,B=k+Q|0,t[A+52|0]=B,t[A+53|0]=B>>>8,t[A+54|0]=B>>>16,t[A+55|0]=B>>>24,C=C+a|0,t[A+48|0]=C,t[A+49|0]=C>>>8,t[A+50|0]=C>>>16,t[A+51|0]=C>>>24,C=m+o|0,t[A+44|0]=C,t[A+45|0]=C>>>8,t[A+46|0]=C>>>16,t[A+47|0]=C>>>24,C=F+d|0,t[A+40|0]=C,t[A+41|0]=C>>>8,t[A+42|0]=C>>>16,t[A+43|0]=C>>>24,C=b+n|0,t[A+36|0]=C,t[A+37|0]=C>>>8,t[A+38|0]=C>>>16,t[A+39|0]=C>>>24,C=S+c|0,t[A+32|0]=C,t[A+33|0]=C>>>8,t[A+34|0]=C>>>16,t[A+35|0]=C>>>24,C=u+e|0,t[A+28|0]=C,t[A+29|0]=C>>>8,t[A+30|0]=C>>>16,t[A+31|0]=C>>>24,I=I+E|0,t[A+24|0]=I,t[A+25|0]=I>>>8,t[A+26|0]=I>>>16,t[A+27|0]=I>>>24,I=G+K|0,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=f+_|0,t[A+16|0]=I,t[A+17|0]=I>>>8,t[A+18|0]=I>>>16,t[A+19|0]=I>>>24,I=h+y|0,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=D+s|0,t[A+8|0]=I,t[A+9|0]=I>>>8,t[A+10|0]=I>>>16,t[A+11|0]=I>>>24,I=g+p|0,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,I=w+J|0,t[0|A]=I,t[A+1|0]=I>>>8,t[A+2|0]=I>>>16,t[A+3|0]=I>>>24}function X(A,I,g,C,B,a){var Q=0;if(i[a>>2]=8,!(I=(Q=!I&A>>>0<=32768)?0:I)&g>>>5>>>0<=(A=Q?32768:A)>>>0|I)return Q=1,g>>>0<4096||(Q=2,g>>>0<8192||(Q=3,g>>>0<16384||(Q=4,g>>>0<32768||(Q=5,g>>>0<65536||(Q=6,g>>>0<131072||(Q=7,g>>>0<262144||(Q=8,g>>>0<524288||(Q=9,g>>>0<1048576||(Q=10,g>>>0<2097152||(Q=11,g>>>0<4194304||(Q=12,g>>>0<8388608||(Q=13,g>>>0<16777216||(Q=14,g>>>0<33554432||(Q=15,g>>>0<67108864||(Q=16,g>>>0<134217728||(Q=17,g>>>0<268435456||(Q=18,g>>>0<536870912||(Q=19,g>>>0<1073741824||(Q=(0|g)>=0?20:21))))))))))))))))))),g=Q,i[C>>2]=g,C=I>>>2|0,I=(3&I)<<30|A>>>2,A=31&g,(63&g)>>>0>=32?(g=0,A=C>>>A|0):(g=C>>>A|0,A=((1<>>A),void(i[B>>2]=((!g&A>>>0>=1073741823|g?1073741823:A)>>>0)/o[a>>2]);i[B>>2]=1,I=ZA(A,I,i[a>>2]<<2),g=1,!(A=h)&I>>>0<4||(g=2,!A&I>>>0<8||(g=3,!A&I>>>0<16||(g=4,!A&I>>>0<32||(g=5,!A&I>>>0<64||(g=6,!A&I>>>0<128||(g=7,!A&I>>>0<256||(g=8,!A&I>>>0<512||(g=9,!A&I>>>0<1024||(g=10,!A&I>>>0<2048||(g=11,!A&I>>>0<4096||(g=12,!A&I>>>0<8192||(g=13,!A&I>>>0<16384||(g=14,!A&I>>>0<32768||(g=15,!A&I>>>0<65536||(g=16,!A&I>>>0<131072||(g=17,!A&I>>>0<262144||(g=18,!A&I>>>0<524288||(g=19,!A&I>>>0<1048576||(g=20,!A&I>>>0<2097152||(g=21,!A&I>>>0<4194304||(g=22,!A&I>>>0<8388608||(g=23,!A&I>>>0<16777216||(g=24,!A&I>>>0<33554432||(g=25,!A&I>>>0<67108864||(g=26,!A&I>>>0<134217728||(g=27,!A&I>>>0<268435456||(g=28,!A&I>>>0<536870912||(g=29,!A&I>>>0<1073741824||(g=30,!A&I>>>0<2147483648||(g=31,A&&(g=32,A>>>0<2||(g=33,A>>>0<4||(g=34,A>>>0<8||(g=35,A>>>0<16||(g=36,A>>>0<32||(g=37,A>>>0<64||(g=38,A>>>0<128||(g=39,A>>>0<256||(g=40,A>>>0<512||(g=41,A>>>0<1024||(g=42,A>>>0<2048||(g=43,A>>>0<4096||(g=44,A>>>0<8192||(g=45,A>>>0<16384||(g=46,A>>>0<32768||(g=47,A>>>0<65536||(g=48,A>>>0<131072||(g=49,A>>>0<262144||(g=50,A>>>0<524288||(g=51,A>>>0<1048576||(g=52,A>>>0<2097152||(g=53,A>>>0<4194304||(g=54,A>>>0<8388608||(g=55,A>>>0<16777216||(g=56,A>>>0<33554432||(g=57,A>>>0<67108864||(g=58,A>>>0<134217728||(g=59,A>>>0<268435456||(g=60,A>>>0<536870912||(g=61,A>>>0<1073741824||(g=(0|A)>0|(0|A)>=0?62:63))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),i[C>>2]=g}function V(A,I,g,C,B,Q,t,o,n){var c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0;if(I-65>>>0<4294967232|t>>>0>64)A=-1;else{h=c=s,s=c=c-512&-64;A:{I:if(!(!(!(C|B)|g)|!A|((p=255&I)-65&255)>>>0<=191|!(!(I=255&t)||Q)|I>>>0>=65)){if(I){if(!Q)break I;o?(e=725511199^(r[o+8|0]|r[o+9|0]<<8|r[o+10|0]<<16|r[o+11|0]<<24),E=-1694144372^(r[o+12|0]|r[o+13|0]<<8|r[o+14|0]<<16|r[o+15|0]<<24),t=-1377402159^(r[0|o]|r[o+1|0]<<8|r[o+2|0]<<16|r[o+3|0]<<24),o=1359893119^(r[o+4|0]|r[o+5|0]<<8|r[o+6|0]<<16|r[o+7|0]<<24)):(e=725511199,E=-1694144372,t=-1377402159,o=1359893119),n?(_=327033209^(r[n+8|0]|r[n+9|0]<<8|r[n+10|0]<<16|r[n+11|0]<<24),y=1541459225^(r[n+12|0]|r[n+13|0]<<8|r[n+14|0]<<16|r[n+15|0]<<24),f=-79577749^(r[0|n]|r[n+1|0]<<8|r[n+2|0]<<16|r[n+3|0]<<24),n=528734635^(r[n+4|0]|r[n+5|0]<<8|r[n+6|0]<<16|r[n+7|0]<<24)):(_=327033209,y=1541459225,f=-79577749,n=528734635),yg(c- -64|0,0,293),i[c+56>>2]=_,i[c+60>>2]=y,i[c+48>>2]=f,i[c+52>>2]=n,i[c+40>>2]=e,i[c+44>>2]=E,i[c+32>>2]=t,i[c+36>>2]=o,i[c+24>>2]=1595750129,i[c+28>>2]=-1521486534,i[c+16>>2]=-23791573,i[c+20>>2]=1013904242,i[c+8>>2]=-2067093701,i[c+12>>2]=-1150833019,i[c>>2]=-222443256^(I<<8|p),i[c+4>>2]=I>>>24^1779033703,yg((t=c+384|0)+I|0,0,128-I|0),ng(t,Q,I),ng(c+96|0,t,128),i[c+352>>2]=128,NC(t,128),I=128}else o?(e=725511199^(r[o+8|0]|r[o+9|0]<<8|r[o+10|0]<<16|r[o+11|0]<<24),E=-1694144372^(r[o+12|0]|r[o+13|0]<<8|r[o+14|0]<<16|r[o+15|0]<<24),Q=1359893119^(r[o+4|0]|r[o+5|0]<<8|r[o+6|0]<<16|r[o+7|0]<<24),I=-1377402159^(r[0|o]|r[o+1|0]<<8|r[o+2|0]<<16|r[o+3|0]<<24)):(e=725511199,E=-1694144372,Q=1359893119,I=-1377402159),n?(_=327033209^(r[n+8|0]|r[n+9|0]<<8|r[n+10|0]<<16|r[n+11|0]<<24),y=1541459225^(r[n+12|0]|r[n+13|0]<<8|r[n+14|0]<<16|r[n+15|0]<<24),o=528734635^(r[n+4|0]|r[n+5|0]<<8|r[n+6|0]<<16|r[n+7|0]<<24),t=-79577749^(r[0|n]|r[n+1|0]<<8|r[n+2|0]<<16|r[n+3|0]<<24)):(_=327033209,y=1541459225,o=528734635,t=-79577749),yg(c- -64|0,0,293),i[c+56>>2]=_,i[c+60>>2]=y,i[c+48>>2]=t,i[c+52>>2]=o,i[c+40>>2]=e,i[c+44>>2]=E,i[c+32>>2]=I,i[c+36>>2]=Q,i[c+24>>2]=1595750129,i[c+28>>2]=-1521486534,i[c+16>>2]=-23791573,i[c+20>>2]=1013904242,i[c+8>>2]=-2067093701,i[c+12>>2]=-1150833019,i[c>>2]=-222443256^p,i[c+4>>2]=1779033703,I=0;g:if(C|B)for(n=c+224|0,o=c+96|0;;){if(t=I+o|0,!B&C>>>0<=(Q=256-I|0)>>>0){ng(t,g,C),i[c+352>>2]=C+i[c+352>>2];break g}if(ng(t,g,Q),i[c+352>>2]=Q+i[c+352>>2],e=I=i[c+68>>2],I=(E=(t=i[c+64>>2])+128|0)>>>0<128?I+1|0:I,i[c+64>>2]=E,i[c+68>>2]=I,I=i[c+76>>2],I=(e=t=-1==(0|e)&t>>>0>4294967167)>>>0>(t=t+i[c+72>>2]|0)>>>0?I+1|0:I,i[c+72>>2]=t,i[c+76>>2]=I,l(c,o),ng(o,n,128),I=i[c+352>>2]-128|0,i[c+352>>2]=I,g=g+Q|0,!((B=B-(C>>>0>>0)|0)|(C=C-Q|0)))break}P(c,A,p),s=h;break A}$g(),a()}A=0}return A}function W(A,I){var g,C=0,B=0,a=0,Q=0,t=0,r=0,o=0;g=A+I|0;A:{I:if(!(1&(C=i[A+4>>2]))){if(!(3&C))break A;I=(C=i[A>>2])+I|0;g:{if((0|(A=A-C|0))!=i[9135]){if(C>>>0<=255){if(a=i[A+8>>2],C=C>>>3|0,(0|(B=i[A+12>>2]))!=(0|a))break g;r=36520,o=i[9130]&kg(-2,C),i[r>>2]=o;break I}if(t=i[A+24>>2],(0|(C=i[A+12>>2]))==(0|A))if((B=i[(a=A+20|0)>>2])||(B=i[(a=A+16|0)>>2])){for(;Q=a,(B=i[(a=(C=B)+20|0)>>2])||(a=C+16|0,B=i[C+16>>2]););i[Q>>2]=0}else C=0;else B=i[A+8>>2],i[B+12>>2]=C,i[C+8>>2]=B;if(!t)break I;a=i[A+28>>2];C:{if(i[(B=36824+(a<<2)|0)>>2]==(0|A)){if(i[B>>2]=C,C)break C;r=36524,o=i[9131]&kg(-2,a),i[r>>2]=o;break I}if(i[t+(i[t+16>>2]==(0|A)?16:20)>>2]=C,!C)break I}if(i[C+24>>2]=t,(B=i[A+16>>2])&&(i[C+16>>2]=B,i[B+24>>2]=C),!(B=i[A+20>>2]))break I;i[C+20>>2]=B,i[B+24>>2]=C;break I}if(3!=(3&(C=i[g+4>>2])))break I;return i[9132]=I,i[g+4>>2]=-2&C,i[A+4>>2]=1|I,void(i[g>>2]=I)}i[a+12>>2]=B,i[B+8>>2]=a}I:{if(!(2&(C=i[g+4>>2]))){if(i[9136]==(0|g)){if(i[9136]=A,I=i[9133]+I|0,i[9133]=I,i[A+4>>2]=1|I,i[9135]!=(0|A))break A;return i[9132]=0,void(i[9135]=0)}if(i[9135]==(0|g))return i[9135]=A,I=i[9132]+I|0,i[9132]=I,i[A+4>>2]=1|I,void(i[A+I>>2]=I);I=(-8&C)+I|0;g:if(C>>>0<=255){if(a=i[g+8>>2],C=C>>>3|0,(0|(B=i[g+12>>2]))==(0|a)){r=36520,o=i[9130]&kg(-2,C),i[r>>2]=o;break g}i[a+12>>2]=B,i[B+8>>2]=a}else{if(t=i[g+24>>2],(0|g)==(0|(C=i[g+12>>2])))if((a=i[(B=g+20|0)>>2])||(a=i[(B=g+16|0)>>2])){for(;Q=B,(a=i[(B=(C=a)+20|0)>>2])||(B=C+16|0,a=i[C+16>>2]););i[Q>>2]=0}else C=0;else B=i[g+8>>2],i[B+12>>2]=C,i[C+8>>2]=B;if(t){a=i[g+28>>2];C:{if(i[(B=36824+(a<<2)|0)>>2]==(0|g)){if(i[B>>2]=C,C)break C;r=36524,o=i[9131]&kg(-2,a),i[r>>2]=o;break g}if(i[t+(i[t+16>>2]==(0|g)?16:20)>>2]=C,!C)break g}i[C+24>>2]=t,(B=i[g+16>>2])&&(i[C+16>>2]=B,i[B+24>>2]=C),(B=i[g+20>>2])&&(i[C+20>>2]=B,i[B+24>>2]=C)}}if(i[A+4>>2]=1|I,i[A+I>>2]=I,i[9135]!=(0|A))break I;return void(i[9132]=I)}i[g+4>>2]=-2&C,i[A+4>>2]=1|I,i[A+I>>2]=I}if(I>>>0<=255)return C=36560+(-8&I)|0,(B=i[9130])&(I=1<<(I>>>3))?I=i[C+8>>2]:(i[9130]=I|B,I=C),i[C+8>>2]=A,i[I+12>>2]=A,i[A+12>>2]=C,void(i[A+8>>2]=I);a=31,I>>>0<=16777215&&(a=62+((I>>>38-(C=c(I>>>8|0))&1)-(C<<1)|0)|0),i[A+28>>2]=a,i[A+16>>2]=0,i[A+20>>2]=0,Q=36824+(a<<2)|0;I:{if((B=i[9131])&(C=1<>>1|0)|0:0),C=i[Q>>2];;){if(B=C,(-8&i[C+4>>2])==(0|I))break I;if(C=a>>>29|0,a<<=1,!(C=i[16+(Q=B+(4&C)|0)>>2]))break}i[Q+16>>2]=A,i[A+24>>2]=B}else i[9131]=C|B,i[Q>>2]=A,i[A+24>>2]=Q;return i[A+12>>2]=A,void(i[A+8>>2]=A)}I=i[B+8>>2],i[I+12>>2]=A,i[B+8>>2]=A,i[A+24>>2]=0,i[A+12>>2]=B,i[A+8>>2]=I}}function Z(A,I,g,C,B,a,Q){var o,c,e=0,E=0;if(s=o=s+-64|0,c=S(32)){i[o+32>>2]=0,i[o+36>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+20>>2]=16,i[o+16>>2]=B,i[o+12>>2]=C,i[o+8>>2]=g,i[o+4>>2]=32,i[o>>2]=c,i[o+56>>2]=0,i[o+52>>2]=1,i[o+48>>2]=1,i[o+44>>2]=I,i[o+40>>2]=A;A:if(A=J(o,Q))NC(c,32);else{if(a){s=B=s-32|0,A=-31;I:{g:{C:switch(Q-1|0){case 1:A=r[1417]|r[1418]<<8|r[1419]<<16|r[1420]<<24,I=r[1413]|r[1414]<<8|r[1415]<<16|r[1416]<<24,t[0|a]=I,t[a+1|0]=I>>>8,t[a+2|0]=I>>>16,t[a+3|0]=I>>>24,t[a+4|0]=A,t[a+5|0]=A>>>8,t[a+6|0]=A>>>16,t[a+7|0]=A>>>24,A=r[1422]|r[1423]<<8|r[1424]<<16|r[1425]<<24,I=r[1418]|r[1419]<<8|r[1420]<<16|r[1421]<<24,t[a+5|0]=I,t[a+6|0]=I>>>8,t[a+7|0]=I>>>16,t[a+8|0]=I>>>24,t[a+9|0]=A,t[a+10|0]=A>>>8,t[a+11|0]=A>>>16,t[a+12|0]=A>>>24,g=-12,I=12;break g;case 0:break C;default:break I}A=r[1405]|r[1406]<<8|r[1407]<<16|r[1408]<<24,I=r[1401]|r[1402]<<8|r[1403]<<16|r[1404]<<24,t[0|a]=I,t[a+1|0]=I>>>8,t[a+2|0]=I>>>16,t[a+3|0]=I>>>24,t[a+4|0]=A,t[a+5|0]=A>>>8,t[a+6|0]=A>>>16,t[a+7|0]=A>>>24,A=r[1409]|r[1410]<<8|r[1411]<<16|r[1412]<<24,t[a+8|0]=A,t[a+9|0]=A>>>8,t[a+10|0]=A>>>16,t[a+11|0]=A>>>24,g=-11,I=11}if(!(A=iI(o)))if(t[B+13|0]=0,t[B+11|0]=49,t[B+12|0]=57,(g=g+128|0)>>>0<=(A=UI(B+11|0))>>>0)A=-31;else if(I=ng(I+a|0,B+11|0,A+1|0),(e=g-A|0)>>>0<4)A=-31;else{for(t[0|(Q=A+I|0)]=36,t[Q+1|0]=109,t[Q+2|0]=61,t[Q+3|0]=0,A=i[o+44>>2],I=10;g=I,C=(A>>>0)/10|0,t[0|(E=(I=I-1|0)+(B+22|0)|0)]=A-n(C,10)|48,!(A>>>0<10)&&(A=C,I););if(ng(A=B+11|0,E,I=11-g|0),t[A+I|0]=0,(I=e-3|0)>>>0<=(A=UI(A))>>>0)A=-31;else if(g=ng(Q+3|0,B+11|0,A+1|0),(e=I-A|0)>>>0<4)A=-31;else{for(t[0|(Q=A+g|0)]=44,t[Q+1|0]=116,t[Q+2|0]=61,t[Q+3|0]=0,A=i[o+40>>2],I=10;g=I,C=(A>>>0)/10|0,t[0|(E=(I=I-1|0)+(B+22|0)|0)]=A-n(C,10)|48,!(A>>>0<10)&&(A=C,I););if(ng(A=B+11|0,E,I=11-g|0),t[A+I|0]=0,(I=e-3|0)>>>0<=(A=UI(A))>>>0)A=-31;else if(g=ng(Q+3|0,B+11|0,A+1|0),(e=I-A|0)>>>0<4)A=-31;else{for(t[0|(Q=A+g|0)]=44,t[Q+1|0]=112,t[Q+2|0]=61,t[Q+3|0]=0,A=i[o+48>>2],I=10;g=I,C=(A>>>0)/10|0,t[0|(E=(I=I-1|0)+(B+22|0)|0)]=A-n(C,10)|48,!(A>>>0<10)&&(A=C,I););ng(A=B+11|0,E,I=11-g|0),t[A+I|0]=0,(I=e-3|0)>>>0<=(A=UI(A))>>>0?A=-31:(g=ng(Q+3|0,B+11|0,A+1|0),(C=I-A|0)>>>0<2?A=-31:(t[0|(A=A+g|0)]=36,t[A+1|0]=0,bA(I=A+1|0,g=C-1|0,i[o+16>>2],i[o+20>>2],3)?(A=-31,(C=(C=g)-(g=UI(I))|0)>>>0<2||(t[0|(A=I+g|0)]=36,t[A+1|0]=0,A=bA(A+1|0,C-1|0,i[o>>2],i[o+4>>2],3)?0:-31)):A=-31))}}}}if(s=B+32|0,A){NC(c,32),NC(a,128),A=-31;break A}}NC(c,32),A=0}j(c)}else A=-22;return s=o- -64|0,A}function O(A,I,g,C){var B,a=0;B=a=s,s=a=a-576&-64,i[a+188>>2]=I;A:if(I>>>0<=64){if((0|CA(a+192|0,0,0,I))<0)break A;if((0|JA(a+192|0,a+188|0,4,0))<0)break A;if((0|JA(a+192|0,g,C,0))<0)break A;sg(a+192|0,A,I)}else if(!((0|CA(a+192|0,0,0,64))<0||(0|JA(a+192|0,a+188|0,4,0))<0||(0|JA(a+192|0,g,C,0))<0||(0|sg(a+192|0,a+112|0,64))<0)){if(g=i[a+116>>2],C=i[a+112>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=g,t[A+5|0]=g>>>8,t[A+6|0]=g>>>16,t[A+7|0]=g>>>24,g=i[a+124>>2],C=i[a+120>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=g,t[A+13|0]=g>>>8,t[A+14|0]=g>>>16,t[A+15|0]=g>>>24,g=i[a+140>>2],C=i[a+136>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=g,t[A+29|0]=g>>>8,t[A+30|0]=g>>>16,t[A+31|0]=g>>>24,g=i[a+132>>2],C=i[a+128>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=g,t[A+21|0]=g>>>8,t[A+22|0]=g>>>16,t[A+23|0]=g>>>24,A=A+32|0,(I=I-32|0)>>>0>=65)for(;;){if(g=i[a+172>>2],i[a+104>>2]=i[a+168>>2],i[a+108>>2]=g,g=i[a+164>>2],i[a+96>>2]=i[a+160>>2],i[a+100>>2]=g,g=i[a+156>>2],i[a+88>>2]=i[a+152>>2],i[a+92>>2]=g,g=i[a+148>>2],i[a+80>>2]=i[a+144>>2],i[a+84>>2]=g,g=i[a+140>>2],i[a+72>>2]=i[a+136>>2],i[a+76>>2]=g,C=i[a+132>>2],i[(g=a- -64|0)>>2]=i[a+128>>2],i[g+4>>2]=C,g=i[a+124>>2],i[a+56>>2]=i[a+120>>2],i[a+60>>2]=g,g=i[a+116>>2],i[a+48>>2]=i[a+112>>2],i[a+52>>2]=g,(0|mA(a+112|0,64,a+48|0,64,0,0,0))<0)break A;if(g=i[a+116>>2],C=i[a+112>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=g,t[A+5|0]=g>>>8,t[A+6|0]=g>>>16,t[A+7|0]=g>>>24,g=i[a+124>>2],C=i[a+120>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=g,t[A+13|0]=g>>>8,t[A+14|0]=g>>>16,t[A+15|0]=g>>>24,g=i[a+140>>2],C=i[a+136>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=g,t[A+29|0]=g>>>8,t[A+30|0]=g>>>16,t[A+31|0]=g>>>24,g=i[a+132>>2],C=i[a+128>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=g,t[A+21|0]=g>>>8,t[A+22|0]=g>>>16,t[A+23|0]=g>>>24,A=A+32|0,!((I=I-32|0)>>>0>64))break}g=i[a+172>>2],i[a+104>>2]=i[a+168>>2],i[a+108>>2]=g,g=i[a+164>>2],i[a+96>>2]=i[a+160>>2],i[a+100>>2]=g,g=i[a+156>>2],i[a+88>>2]=i[a+152>>2],i[a+92>>2]=g,g=i[a+148>>2],i[a+80>>2]=i[a+144>>2],i[a+84>>2]=g,g=i[a+140>>2],i[a+72>>2]=i[a+136>>2],i[a+76>>2]=g,C=i[a+132>>2],i[(g=a- -64|0)>>2]=i[a+128>>2],i[g+4>>2]=C,g=i[a+124>>2],i[a+56>>2]=i[a+120>>2],i[a+60>>2]=g,g=i[a+116>>2],i[a+48>>2]=i[a+112>>2],i[a+52>>2]=g,(0|mA(a+112|0,I,a+48|0,64,0,0,0))<0||ng(A,a+112|0,I)}NC(a+192|0,384),s=B}function T(A,I){var g,C=0,B=0,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0;return s=g=s-512|0,C=-1,a=r[I+31|0],B=r[0|I],1&(((255&(127&(-1^a)|r[I+1|0]&r[I+2|0]&r[I+3|0]&r[I+4|0]&r[I+5|0]&r[I+6|0]&r[I+7|0]&r[I+8|0]&r[I+9|0]&r[I+10|0]&r[I+11|0]&r[I+12|0]&r[I+13|0]&r[I+14|0]&r[I+15|0]&r[I+16|0]&r[I+17|0]&r[I+18|0]&r[I+19|0]&r[I+20|0]&r[I+21|0]&r[I+22|0]&r[I+23|0]&r[I+24|0]&r[I+25|0]&r[I+26|0]&r[I+27|0]&r[I+28|0]&r[I+29|0]&r[I+30|0]^-1))-1&236-B)>>>8|B|a>>>7)||(iA(a=g+336|0,I),U(g+288|0,a),I=i[g+324>>2],i[g+276>>2]=0-I,C=i[g+320>>2],i[g+272>>2]=0-C,B=i[g+316>>2],i[g+268>>2]=0-B,Q=i[g+312>>2],i[g+264>>2]=0-Q,o=i[g+308>>2],i[g+260>>2]=0-o,n=i[g+304>>2],i[g+256>>2]=0-n,c=i[g+300>>2],i[g+252>>2]=0-c,e=i[g+296>>2],i[g+248>>2]=0-e,E=i[g+292>>2],i[g+244>>2]=0-E,_=i[g+288>>2],i[g+240>>2]=1-_,U(y=g+144|0,h=g+240|0),i[g+228>>2]=I,i[g+224>>2]=C,i[g+220>>2]=B,i[g+216>>2]=Q,i[g+212>>2]=o,i[g+208>>2]=n,i[g+204>>2]=c,i[g+200>>2]=e,i[g+196>>2]=E,i[g+192>>2]=_+1,U(C=g+96|0,Q=g+192|0),b(I=g+48|0,1600,y),B=i[g+96>>2],o=i[g+48>>2],n=i[g+100>>2],c=i[g+52>>2],e=i[g+104>>2],E=i[g+56>>2],_=i[g+108>>2],y=i[g+60>>2],p=i[g+112>>2],f=i[g+64>>2],l=i[g+116>>2],u=i[g+68>>2],D=i[g+120>>2],w=i[g+72>>2],m=i[g+124>>2],k=i[g+76>>2],F=i[g+128>>2],S=i[g+80>>2],i[g+84>>2]=0-(i[g+84>>2]+i[g+132>>2]|0),i[g+80>>2]=0-(F+S|0),i[g+76>>2]=0-(m+k|0),i[g+72>>2]=0-(D+w|0),i[g+68>>2]=0-(l+u|0),i[g+64>>2]=0-(p+f|0),i[g+60>>2]=0-(_+y|0),i[g+56>>2]=0-(e+E|0),i[g+52>>2]=0-(n+c|0),i[g+48>>2]=0-(B+o|0),b(g,I,C),i[g+404>>2]=0,i[g+408>>2]=0,i[g+412>>2]=0,i[g+416>>2]=0,i[g+420>>2]=0,i[g+388>>2]=0,i[g+392>>2]=0,i[g+384>>2]=1,i[g+396>>2]=0,i[g+400>>2]=0,f=yA(B=g+432|0,g+384|0,g),b(A,B,Q),b(C=A+40|0,B,A),b(C,C,I),b(A,A,a),a=i[A+36>>2]<<1,i[A+36>>2]=a,B=i[A+32>>2]<<1,i[A+32>>2]=B,Q=i[A+28>>2]<<1,i[A+28>>2]=Q,o=i[A+24>>2]<<1,i[A+24>>2]=o,n=i[A+20>>2]<<1,i[A+20>>2]=n,c=i[A+16>>2]<<1,i[A+16>>2]=c,e=i[A+12>>2]<<1,i[A+12>>2]=e,E=i[A+8>>2]<<1,i[A+8>>2]=E,_=i[A+4>>2]<<1,i[A+4>>2]=_,y=i[A>>2]<<1,i[A>>2]=y,zA(p=g+480|0,A),I=0-(1&t[g+480|0])|0,i[A+36>>2]=a^I&(a^0-a),i[A+32>>2]=B^I&(B^0-B),i[A+28>>2]=Q^I&(Q^0-Q),i[A+24>>2]=o^I&(o^0-o),i[A+20>>2]=n^I&(n^0-n),i[A+16>>2]=c^I&(c^0-c),i[A+12>>2]=e^I&(e^0-e),i[A+8>>2]=E^I&(E^0-E),i[A+4>>2]=_^I&(_^0-_),i[A>>2]=y^I&(y^0-y),b(C,h,C),i[A+84>>2]=0,i[A+88>>2]=0,i[A+80>>2]=1,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,b(I=A+120|0,A,C),zA(p,I),A=r[g+480|0],zA(p,C),C=0-(EI(p,32)|1-f|1&A)|0),s=g+512|0,C}function $(A,I,g,C,B,a,Q,c,e,E,_){var y=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0;if(y=PI(e,0,c,0),!(p=h)&y>>>0>=1073741824|p)return i[9129]=22,-1;if(1==(0|Q)|Q>>>0>1)return i[9129]=22,-1;for(y=a,l=Q;y|l;)p=y,y&=y-1,l&=l-!p,u=(D=D+1|0)?u:u+1|0;if(!(!(h=u)&D>>>0<2&(!Q&a>>>0>=2|0!=(0|Q))))return i[9129]=28,-1;if(!e||!c)return i[9129]=28,-1;if(!(33554431/(e>>>0)>>>0>>0|c>>>0>16777215)&!Q&a>>>0<=33554431/(c>>>0)>>>0&&!((k=n(m=c<<7,e))>>>0>(p=(D=n(a,m))+k|0)>>>0||p>>>0>(y=(p+(c<<8)|0)- -64|0)>>>0)){A:{if(y>>>0>o[A+8>>2]){if(p=-1,Fg(A))break A;if(s=l=s-16|0,u=$A(l+12|0,y),i[9129]=u,u=u?0:i[l+12>>2],i[A+4>>2]=u,i[A>>2]=u,i[A+8>>2]=u?y:0,s=l+16|0,!u)break A}for(tI(I,g,C,B,S=i[A+4>>2],k),H=(y=(F=k+S|0)+D|0)+(C=(A=c<<7)-64|0)|0,G=y+(c<<8)|0,Y=(l=A+y|0)+C|0,M=a-1|0,u=c<<5;;){for(D=n(m,b)+S|0,p=0;C=(A=p<<2)+D|0,i[A+y>>2]=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,B=(C=4|A)+y|0,C=C+D|0,i[B>>2]=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,B=(C=8|A)+y|0,C=C+D|0,i[B>>2]=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,C=(A|=12)+y|0,A=A+D|0,i[C>>2]=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,N=0,C=0,(0|u)!=(0|(p=p+4|0)););for(B=0,A=0;ng(F+(n(B,u)<<2)|0,y,m),IA(y,l,G,c),ng(F+(n(u,1|B)<<2)|0,l,m),IA(l,y,G,c),(0|Q)==(0|(A=(B=B+2|0)>>>0<2?A+1|0:A))&B>>>0>>0|A>>>0>>0;);for(;;){for(A=F+(n(u,M&i[H>>2])<<2)|0,p=0;i[(f=(B=p<<2)+y|0)>>2]=i[f>>2]^i[A+B>>2],i[(w=(f=4|B)+y|0)>>2]=i[w>>2]^i[A+f>>2],i[(w=(f=8|B)+y|0)>>2]=i[w>>2]^i[A+f>>2],i[(f=(B|=12)+y|0)>>2]=i[f>>2]^i[A+B>>2],(0|u)!=(0|(p=p+4|0)););for(IA(y,l,G,c),A=F+(n(u,M&i[Y>>2])<<2)|0,p=0;i[(f=(B=p<<2)+l|0)>>2]=i[f>>2]^i[A+B>>2],i[(w=(f=4|B)+l|0)>>2]=i[w>>2]^i[A+f>>2],i[(w=(f=8|B)+l|0)>>2]=i[w>>2]^i[A+f>>2],i[(f=(B|=12)+l|0)>>2]=i[f>>2]^i[A+B>>2],(0|u)!=(0|(p=p+4|0)););if(IA(l,y,G,c),p=0,C=A=(N=N+2|0)>>>0<2?C+1|0:C,!((0|Q)==(0|A)&a>>>0>N>>>0|A>>>0>>0))break}for(;C=(A=p<<2)+D|0,B=i[A+y>>2],t[0|C]=B,t[C+1|0]=B>>>8,t[C+2|0]=B>>>16,t[C+3|0]=B>>>24,C=(B=4|A)+D|0,B=i[B+y>>2],t[0|C]=B,t[C+1|0]=B>>>8,t[C+2|0]=B>>>16,t[C+3|0]=B>>>24,C=(B=8|A)+D|0,B=i[B+y>>2],t[0|C]=B,t[C+1|0]=B>>>8,t[C+2|0]=B>>>16,t[C+3|0]=B>>>24,A=(C=12|A)+D|0,C=i[C+y>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,(0|u)!=(0|(p=p+4|0)););if((0|(b=b+1|0))==(0|e))break}tI(I,g,S,k,E,_),p=0}return p}return i[9129]=48,-1}function AA(A,I,g){A|=0,I|=0,g|=0;var C,B,a,Q=0;s=C=s-192|0,i[C+96>>2]=0,i[C+100>>2]=0,i[C+104>>2]=0,i[C+108>>2]=0,i[C+112>>2]=0,i[C+116>>2]=0,i[C+120>>2]=0,i[C+124>>2]=0,Q=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[C+80>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[C+84>>2]=Q,Q=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[C+88>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[C+92>>2]=Q,B=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,a=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,Q=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,I=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[C+40>>2]=0,i[C+44>>2]=0,i[C+48>>2]=0,i[C+52>>2]=0,i[C+56>>2]=0,i[C+60>>2]=0,i[C+64>>2]=Q,i[C+68>>2]=I,i[C+72>>2]=B,i[C+76>>2]=a,i[C+32>>2]=0,i[C+36>>2]=0,I=r[g+20|0]|r[g+21|0]<<8|r[g+22|0]<<16|r[g+23|0]<<24,i[C+16>>2]=r[g+16|0]|r[g+17|0]<<8|r[g+18|0]<<16|r[g+19|0]<<24,i[C+20>>2]=I,I=r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24,i[C+24>>2]=r[g+24|0]|r[g+25|0]<<8|r[g+26|0]<<16|r[g+27|0]<<24,i[C+28>>2]=I,I=r[g+4|0]|r[g+5|0]<<8|r[g+6|0]<<16|r[g+7|0]<<24,i[C>>2]=r[0|g]|r[g+1|0]<<8|r[g+2|0]<<16|r[g+3|0]<<24,i[C+4>>2]=I,I=r[g+12|0]|r[g+13|0]<<8|r[g+14|0]<<16|r[g+15|0]<<24,i[C+8>>2]=r[g+8|0]|r[g+9|0]<<8|r[g+10|0]<<16|r[g+11|0]<<24,i[C+12>>2]=I,WI(C- -64|0,C),g=i[C+124>>2],i[C+184>>2]=i[C+120>>2],i[C+188>>2]=g,I=i[C+116>>2],i[C+176>>2]=i[C+112>>2],i[C+180>>2]=I,I=i[C+108>>2],i[C+168>>2]=i[C+104>>2],i[C+172>>2]=I,I=i[C+100>>2],i[C+160>>2]=i[C+96>>2],i[C+164>>2]=I,I=i[C+92>>2],i[C+152>>2]=i[C+88>>2],i[C+156>>2]=I,I=i[C+84>>2],i[C+144>>2]=i[C+80>>2],i[C+148>>2]=I,I=i[C+76>>2],i[C+136>>2]=i[C+72>>2],i[C+140>>2]=I,I=i[C+68>>2],i[C+128>>2]=i[C+64>>2],i[C+132>>2]=I,m(I=C+128|0),Q=i[C+156>>2],g=i[C+152>>2],t[A+24|0]=g,t[A+25|0]=g>>>8,t[A+26|0]=g>>>16,t[A+27|0]=g>>>24,t[A+28|0]=Q,t[A+29|0]=Q>>>8,t[A+30|0]=Q>>>16,t[A+31|0]=Q>>>24,Q=i[C+148>>2],g=i[C+144>>2],t[A+16|0]=g,t[A+17|0]=g>>>8,t[A+18|0]=g>>>16,t[A+19|0]=g>>>24,t[A+20|0]=Q,t[A+21|0]=Q>>>8,t[A+22|0]=Q>>>16,t[A+23|0]=Q>>>24,Q=i[C+140>>2],g=i[C+136>>2],t[A+8|0]=g,t[A+9|0]=g>>>8,t[A+10|0]=g>>>16,t[A+11|0]=g>>>24,t[A+12|0]=Q,t[A+13|0]=Q>>>8,t[A+14|0]=Q>>>16,t[A+15|0]=Q>>>24,Q=i[C+132>>2],g=i[C+128>>2],t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,t[A+4|0]=Q,t[A+5|0]=Q>>>8,t[A+6|0]=Q>>>16,t[A+7|0]=Q>>>24,NC(I,64),s=C+192|0}function IA(A,I,g,C){var B=0,a=0,Q=0,t=0,r=0;if(a=i[4+(B=((C<<7)+A|0)-64|0)>>2],i[g>>2]=i[B>>2],i[g+4>>2]=a,a=i[B+60>>2],i[g+56>>2]=i[B+56>>2],i[g+60>>2]=a,a=i[B+52>>2],i[g+48>>2]=i[B+48>>2],i[g+52>>2]=a,a=i[B+44>>2],i[g+40>>2]=i[B+40>>2],i[g+44>>2]=a,a=i[B+36>>2],i[g+32>>2]=i[B+32>>2],i[g+36>>2]=a,a=i[B+28>>2],i[g+24>>2]=i[B+24>>2],i[g+28>>2]=a,a=i[B+20>>2],i[g+16>>2]=i[B+16>>2],i[g+20>>2]=a,a=i[B+12>>2],i[g+8>>2]=i[B+8>>2],i[g+12>>2]=a,a=C<<1)for(r=C<<4,C=0;B=(Q=C<<6)+A|0,i[g>>2]=i[g>>2]^i[B>>2],i[g+4>>2]=i[g+4>>2]^i[B+4>>2],i[g+8>>2]=i[g+8>>2]^i[B+8>>2],i[g+12>>2]=i[g+12>>2]^i[B+12>>2],i[g+16>>2]=i[g+16>>2]^i[B+16>>2],i[g+20>>2]=i[g+20>>2]^i[B+20>>2],i[g+24>>2]=i[g+24>>2]^i[B+24>>2],i[g+28>>2]=i[g+28>>2]^i[B+28>>2],i[g+32>>2]=i[g+32>>2]^i[B+32>>2],i[g+36>>2]=i[g+36>>2]^i[B+36>>2],i[g+40>>2]=i[g+40>>2]^i[B+40>>2],i[g+44>>2]=i[g+44>>2]^i[B+44>>2],i[g+48>>2]=i[g+48>>2]^i[B+48>>2],i[g+52>>2]=i[g+52>>2]^i[B+52>>2],i[g+56>>2]=i[g+56>>2]^i[B+56>>2],i[g+60>>2]=i[g+60>>2]^i[B+60>>2],dA(g),t=i[g+60>>2],i[56+(B=(C<<5)+I|0)>>2]=i[g+56>>2],i[B+60>>2]=t,t=i[g+52>>2],i[B+48>>2]=i[g+48>>2],i[B+52>>2]=t,t=i[g+44>>2],i[B+40>>2]=i[g+40>>2],i[B+44>>2]=t,t=i[g+36>>2],i[B+32>>2]=i[g+32>>2],i[B+36>>2]=t,t=i[g+28>>2],i[B+24>>2]=i[g+24>>2],i[B+28>>2]=t,t=i[g+20>>2],i[B+16>>2]=i[g+16>>2],i[B+20>>2]=t,t=i[g+12>>2],i[B+8>>2]=i[g+8>>2],i[B+12>>2]=t,t=i[g+4>>2],i[B>>2]=i[g>>2],i[B+4>>2]=t,B=(64|Q)+A|0,i[g>>2]=i[g>>2]^i[B>>2],i[g+4>>2]=i[g+4>>2]^i[B+4>>2],i[g+8>>2]=i[g+8>>2]^i[B+8>>2],i[g+12>>2]=i[g+12>>2]^i[B+12>>2],i[g+16>>2]=i[g+16>>2]^i[B+16>>2],i[g+20>>2]=i[g+20>>2]^i[B+20>>2],i[g+24>>2]=i[g+24>>2]^i[B+24>>2],i[g+28>>2]=i[g+28>>2]^i[B+28>>2],i[g+32>>2]=i[g+32>>2]^i[B+32>>2],i[g+36>>2]=i[g+36>>2]^i[B+36>>2],i[g+40>>2]=i[g+40>>2]^i[B+40>>2],i[g+44>>2]=i[g+44>>2]^i[B+44>>2],i[g+48>>2]=i[g+48>>2]^i[B+48>>2],i[g+52>>2]=i[g+52>>2]^i[B+52>>2],i[g+56>>2]=i[g+56>>2]^i[B+56>>2],i[g+60>>2]=i[g+60>>2]^i[B+60>>2],dA(g),Q=i[g+60>>2],i[56+(B=((C<<3)+r<<2)+I|0)>>2]=i[g+56>>2],i[B+60>>2]=Q,Q=i[g+52>>2],i[B+48>>2]=i[g+48>>2],i[B+52>>2]=Q,Q=i[g+44>>2],i[B+40>>2]=i[g+40>>2],i[B+44>>2]=Q,Q=i[g+36>>2],i[B+32>>2]=i[g+32>>2],i[B+36>>2]=Q,Q=i[g+28>>2],i[B+24>>2]=i[g+24>>2],i[B+28>>2]=Q,Q=i[g+20>>2],i[B+16>>2]=i[g+16>>2],i[B+20>>2]=Q,Q=i[g+12>>2],i[B+8>>2]=i[g+8>>2],i[B+12>>2]=Q,Q=i[g+4>>2],i[B>>2]=i[g>>2],i[B+4>>2]=Q,a>>>0>(C=C+2|0)>>>0;);}function gA(A,I,g,C){var B=0,a=0,Q=0,t=0,o=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0;if(s=i[A+36>>2],_=i[A+32>>2],y=i[A+28>>2],e=i[A+24>>2],E=i[A+20>>2],!C&g>>>0>=16|C)for(S=!r[A+80|0]<<24,f=i[A+4>>2],G=n(f,5),u=i[A+8>>2],k=n(u,5),w=i[A+12>>2],m=n(w,5),F=i[A+16>>2],D=n(F,5),l=i[A>>2];B=PI(Q=((r[I+3|0]|r[I+4|0]<<8|r[I+5|0]<<16|r[I+6|0]<<24)>>>2&67108863)+e|0,0,w,0),o=h,E=(t=PI(e=(67108863&(r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24))+E|0,0,F,0))+B|0,B=h+o|0,B=t>>>0>E>>>0?B+1|0:B,o=PI(y=((r[I+6|0]|r[I+7|0]<<8|r[I+8|0]<<16|r[I+9|0]<<24)>>>4&67108863)+y|0,0,u,0),B=h+B|0,B=o>>>0>(E=o+E|0)>>>0?B+1|0:B,o=PI(_=((r[I+9|0]|r[I+10|0]<<8|r[I+11|0]<<16|r[I+12|0]<<24)>>>6|0)+_|0,0,f,0),B=h+B|0,B=o>>>0>(E=o+E|0)>>>0?B+1|0:B,o=PI(s=s+S+((r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24)>>>8)|0,0,l,0),B=h+B|0,N=E=o+E|0,E=o>>>0>E>>>0?B+1|0:B,B=PI(Q,0,u,0),o=h,t=PI(e,0,w,0),a=h+o|0,a=(B=t+B|0)>>>0>>0?a+1|0:a,o=(t=PI(y,0,f,0))+B|0,B=h+a|0,B=t>>>0>o>>>0?B+1|0:B,t=PI(_,0,l,0),B=h+B|0,B=t>>>0>(o=t+o|0)>>>0?B+1|0:B,t=PI(s,0,D,0),B=h+B|0,b=o=t+o|0,o=t>>>0>o>>>0?B+1|0:B,B=PI(Q,0,f,0),c=h,t=(a=PI(e,0,u,0))+B|0,B=h+c|0,B=a>>>0>t>>>0?B+1|0:B,c=PI(y,0,l,0),a=h+B|0,a=(t=c+t|0)>>>0>>0?a+1|0:a,c=PI(_,0,D,0),B=h+a|0,B=(t=c+t|0)>>>0>>0?B+1|0:B,c=PI(s,0,m,0),B=h+B|0,M=t=c+t|0,t=t>>>0>>0?B+1|0:B,B=PI(Q,0,l,0),a=h,c=(p=PI(e,0,f,0))+B|0,B=h+a|0,B=c>>>0

>>0?B+1|0:B,a=PI(y,0,D,0),B=h+B|0,B=a>>>0>(c=a+c|0)>>>0?B+1|0:B,p=PI(_,0,m,0),a=h+B|0,a=(c=p+c|0)>>>0

>>0?a+1|0:a,p=PI(s,0,k,0),B=h+a|0,B=(c=p+c|0)>>>0

>>0?B+1|0:B,p=c,c=B,B=PI(Q,0,D,0),a=h,Q=(e=PI(e,0,l,0))+B|0,B=h+a|0,B=Q>>>0>>0?B+1|0:B,e=PI(y,0,m,0),B=h+B|0,B=(Q=e+Q|0)>>>0>>0?B+1|0:B,e=PI(_,0,k,0),B=h+B|0,B=(Q=e+Q|0)>>>0>>0?B+1|0:B,e=PI(s,0,G,0),a=h+B|0,a=(Q=e+Q|0)>>>0>>0?a+1|0:a,e=Q,B=c,B=(Q=(y=(67108863&a)<<6|Q>>>26)+p|0)>>>0>>0?B+1|0:B,y=Q,_=(67108863&B)<<6|Q>>>26,B=t,B=(Q=_+M|0)>>>0<_>>>0?B+1|0:B,_=Q,a=o,s=B=(Q=(67108863&B)<<6|Q>>>26)+b|0,o=(67108863&(a=B>>>0>>0?a+1|0:a))<<6|B>>>26,B=E,e=(67108863&y)+((B=n((67108863&((Q=o+N|0)>>>0>>0?B+1|0:B))<<6|Q>>>26,5)+(67108863&e)|0)>>>26|0)|0,y=67108863&_,_=67108863&s,s=67108863&Q,E=67108863&B,I=I+16|0,!(C=C-(g>>>0<16)|0)&(g=g-16|0)>>>0>15|C;);i[A+20>>2]=E,i[A+36>>2]=s,i[A+32>>2]=_,i[A+28>>2]=y,i[A+24>>2]=e}function CA(A,I,g,C){A|=0,I|=0;var B=0;return B=-1,(C|=0)-65>>>0<4294967232|(g|=0)>>>0>64||(g&&I?(s=B=s-128|0,!I|((C&=255)-65&255)>>>0<=191|((g&=255)-65&255)>>>0<=191?($g(),a()):(yg(A- -64|0,0,293),t[A+56|0]=121,t[A+57|0]=33,t[A+58|0]=126,t[A+59|0]=19,t[A+60|0]=25,t[A+61|0]=205,t[A+62|0]=224,t[A+63|0]=91,t[A+48|0]=107,t[A+49|0]=189,t[A+50|0]=65,t[A+51|0]=251,t[A+52|0]=171,t[A+53|0]=217,t[A+54|0]=131,t[A+55|0]=31,t[A+40|0]=31,t[A+41|0]=108,t[A+42|0]=62,t[A+43|0]=43,t[A+44|0]=140,t[A+45|0]=104,t[A+46|0]=5,t[A+47|0]=155,t[A+32|0]=209,t[A+33|0]=130,t[A+34|0]=230,t[A+35|0]=173,t[A+36|0]=127,t[A+37|0]=82,t[A+38|0]=14,t[A+39|0]=81,t[A+24|0]=241,t[A+25|0]=54,t[A+26|0]=29,t[A+27|0]=95,t[A+28|0]=58,t[A+29|0]=245,t[A+30|0]=79,t[A+31|0]=165,t[A+16|0]=43,t[A+17|0]=248,t[A+18|0]=148,t[A+19|0]=254,t[A+20|0]=114,t[A+21|0]=243,t[A+22|0]=110,t[A+23|0]=60,t[A+8|0]=59,t[A+9|0]=167,t[A+10|0]=202,t[A+11|0]=132,t[A+12|0]=133,t[A+13|0]=174,t[A+14|0]=103,t[A+15|0]=187,C=-222443256^(g<<8|C),t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,C=g>>>24^1779033703,t[A+4|0]=C,t[A+5|0]=C>>>8,t[A+6|0]=C>>>16,t[A+7|0]=C>>>24,yg(g+B|0,0,g<<24>>24>=0?128-g|0:0),g=ng(B,I,g),ng(A+96|0,g,128),I=128+(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)|0,t[A+352|0]=I,t[A+353|0]=I>>>8,t[A+354|0]=I>>>16,t[A+355|0]=I>>>24,NC(g,128),s=g+128|0)):(((I=255&C)-65&255)>>>0<=191&&($g(),a()),yg(A- -64|0,0,293),t[A+56|0]=121,t[A+57|0]=33,t[A+58|0]=126,t[A+59|0]=19,t[A+60|0]=25,t[A+61|0]=205,t[A+62|0]=224,t[A+63|0]=91,t[A+48|0]=107,t[A+49|0]=189,t[A+50|0]=65,t[A+51|0]=251,t[A+52|0]=171,t[A+53|0]=217,t[A+54|0]=131,t[A+55|0]=31,t[A+40|0]=31,t[A+41|0]=108,t[A+42|0]=62,t[A+43|0]=43,t[A+44|0]=140,t[A+45|0]=104,t[A+46|0]=5,t[A+47|0]=155,t[A+32|0]=209,t[A+33|0]=130,t[A+34|0]=230,t[A+35|0]=173,t[A+36|0]=127,t[A+37|0]=82,t[A+38|0]=14,t[A+39|0]=81,t[A+24|0]=241,t[A+25|0]=54,t[A+26|0]=29,t[A+27|0]=95,t[A+28|0]=58,t[A+29|0]=245,t[A+30|0]=79,t[A+31|0]=165,t[A+16|0]=43,t[A+17|0]=248,t[A+18|0]=148,t[A+19|0]=254,t[A+20|0]=114,t[A+21|0]=243,t[A+22|0]=110,t[A+23|0]=60,t[A+8|0]=59,t[A+9|0]=167,t[A+10|0]=202,t[A+11|0]=132,t[A+12|0]=133,t[A+13|0]=174,t[A+14|0]=103,t[A+15|0]=187,I^=-222443256,t[0|A]=I,t[A+1|0]=I>>>8,t[A+2|0]=I>>>16,t[A+3|0]=I>>>24,t[A+4|0]=103,t[A+5|0]=230,t[A+6|0]=9,t[A+7|0]=106),B=0),0|B}function BA(A,I,g,C){A|=0,I|=0,g|=0;var B=0,a=0,Q=0,i=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0;for((C|=0)?(a=r[C+8|0]|r[C+9|0]<<8|r[C+10|0]<<16|r[C+11|0]<<24,Q=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,B=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,c=r[C+12|0]|r[C+13|0]<<8|r[C+14|0]<<16|r[C+15|0]<<24):(a=2036477234,Q=857760878,B=1634760805,c=1797285236),i=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,E=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,o=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,_=r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24,n=r[g+24|0]|r[g+25|0]<<8|r[g+26|0]<<16|r[g+27|0]<<24,l=r[g+20|0]|r[g+21|0]<<8|r[g+22|0]<<16|r[g+23|0]<<24,y=r[g+16|0]|r[g+17|0]<<8|r[g+18|0]<<16|r[g+19|0]<<24,C=r[g+12|0]|r[g+13|0]<<8|r[g+14|0]<<16|r[g+15|0]<<24,s=r[g+8|0]|r[g+9|0]<<8|r[g+10|0]<<16|r[g+11|0]<<24,p=r[g+4|0]|r[g+5|0]<<8|r[g+6|0]<<16|r[g+7|0]<<24,I=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,g=r[0|g]|r[g+1|0]<<8|r[g+2|0]<<16|r[g+3|0]<<24;e=g,g=kg((f=I)^(I=g+B|0),16),e=y=kg(e^(B=g+y|0),12),h=kg((f=I+y|0)^g,8),I=kg(e^(y=h+B|0),7),i=kg((g=C+c|0)^i,16),C=kg((_=i+_|0)^C,12),e=s,a=kg((c=a+s|0)^E,16),B=kg(e^(s=a+n|0),12),n=kg((n=a)^(a=B+c|0),8),g=kg(n^(c=(u=g+C|0)+I|0),16),E=kg((Q=Q+p|0)^o,16),p=kg((o=E+l|0)^p,12),e=I,I=kg((Q=p+Q|0)^E,8),e=kg(e^(o=(D=I+o|0)+g|0),12),E=kg(g^(c=e+c|0),8),g=kg((l=E+o|0)^e,7),i=kg(i^u,8),C=kg((_=i+_|0)^C,7),o=kg((a=C+a|0)^I,16),C=kg((I=o+y|0)^C,12),o=kg(o^(a=C+a|0),8),C=kg((y=I+o|0)^C,7),I=kg((n=n+s|0)^B,7),s=kg((Q=I+Q|0)^h,16),h=kg(I^(B=s+_|0),12),I=kg(s^(Q=h+Q|0),8),s=kg((_=B+I|0)^h,7),e=n,n=i,B=kg(p^D,7),n=kg(n^(i=B+f|0),16),f=kg(B^(p=e+n|0),12),i=kg(n^(B=f+i|0),8),p=kg((n=p+i|0)^f,7),10!=(0|(w=w+1|0)););return t[0|A]=B,t[A+1|0]=B>>>8,t[A+2|0]=B>>>16,t[A+3|0]=B>>>24,t[A+28|0]=i,t[A+29|0]=i>>>8,t[A+30|0]=i>>>16,t[A+31|0]=i>>>24,t[A+24|0]=E,t[A+25|0]=E>>>8,t[A+26|0]=E>>>16,t[A+27|0]=E>>>24,t[A+20|0]=o,t[A+21|0]=o>>>8,t[A+22|0]=o>>>16,t[A+23|0]=o>>>24,t[A+16|0]=I,t[A+17|0]=I>>>8,t[A+18|0]=I>>>16,t[A+19|0]=I>>>24,t[A+12|0]=c,t[A+13|0]=c>>>8,t[A+14|0]=c>>>16,t[A+15|0]=c>>>24,t[A+8|0]=a,t[A+9|0]=a>>>8,t[A+10|0]=a>>>16,t[A+11|0]=a>>>24,t[A+4|0]=Q,t[A+5|0]=Q>>>8,t[A+6|0]=Q>>>16,t[A+7|0]=Q>>>24,0}function aA(A,I,g){var C,B,a,Q,t,r,o,n,c,e,E,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0;_=i[I+40>>2],y=i[I+4>>2],p=i[I+44>>2],f=i[I+8>>2],h=i[I+48>>2],l=i[I+12>>2],u=i[I+52>>2],D=i[I+16>>2],w=i[I+56>>2],m=i[I+20>>2],k=i[I+60>>2],F=i[I+24>>2],S=i[(s=I- -64|0)>>2],G=i[I+28>>2],N=i[I+68>>2],M=i[I+32>>2],H=i[I+72>>2],Y=i[I>>2],i[A+36>>2]=i[I+36>>2]+i[I+76>>2],i[A+32>>2]=M+H,i[A+28>>2]=G+N,i[A+24>>2]=F+S,i[A+20>>2]=m+k,i[A+16>>2]=D+w,i[A+12>>2]=l+u,i[A+8>>2]=f+h,i[A+4>>2]=y+p,i[A>>2]=_+Y,p=i[I+40>>2],_=i[I+4>>2],f=i[I+44>>2],h=i[I+8>>2],l=i[I+48>>2],u=i[I+12>>2],D=i[I+52>>2],w=i[I+16>>2],m=i[I+56>>2],k=i[I+20>>2],F=i[I+60>>2],S=i[I+24>>2],s=i[s>>2],y=i[I+28>>2],G=i[I+68>>2],N=i[I+32>>2],M=i[I+72>>2],H=i[I>>2],i[A+76>>2]=i[I+76>>2]-i[I+36>>2],i[A+72>>2]=M-N,i[A+68>>2]=G-y,i[(y=A- -64|0)>>2]=s-S,i[A+60>>2]=F-k,i[A+56>>2]=m-w,i[A+52>>2]=D-u,i[A+48>>2]=l-h,i[A+44>>2]=f-_,i[(_=A+40|0)>>2]=p-H,b(A+80|0,A,g),b(_,_,g+40|0),b(A+120|0,g+120|0,I+120|0),b(A,I+80|0,g+80|0),Y=i[A+4>>2],a=i[A+8>>2],Q=i[A+12>>2],t=i[A+16>>2],r=i[A+20>>2],o=i[A+24>>2],n=i[A+28>>2],c=i[A+32>>2],e=i[A+36>>2],I=i[_>>2],g=i[A+80>>2],p=i[A+44>>2],f=i[A+84>>2],h=i[A+48>>2],l=i[A+88>>2],u=i[A+52>>2],D=i[A+92>>2],w=i[A+56>>2],m=i[A+96>>2],k=i[A+60>>2],F=i[A+100>>2],s=i[y>>2],S=i[A+104>>2],G=i[A+68>>2],N=i[A+108>>2],M=i[A+72>>2],H=i[A+112>>2],E=i[A>>2],C=i[A+76>>2],B=i[A+116>>2],i[A+76>>2]=C+B,i[A+72>>2]=M+H,i[A+68>>2]=G+N,i[y>>2]=s+S,i[A+60>>2]=k+F,i[A+56>>2]=w+m,i[A+52>>2]=u+D,i[A+48>>2]=h+l,i[A+44>>2]=p+f,i[_>>2]=I+g,i[A+36>>2]=B-C,i[A+32>>2]=H-M,i[A+28>>2]=N-G,i[A+24>>2]=S-s,i[A+20>>2]=F-k,i[A+16>>2]=m-w,i[A+12>>2]=D-u,i[A+8>>2]=l-h,i[A+4>>2]=f-p,i[A>>2]=g-I,I=e<<1,g=i[A+156>>2],i[A+156>>2]=I-g,_=c<<1,y=i[A+152>>2],i[A+152>>2]=_-y,p=n<<1,f=i[A+148>>2],i[A+148>>2]=p-f,h=o<<1,l=i[A+144>>2],i[A+144>>2]=h-l,u=r<<1,D=i[A+140>>2],i[A+140>>2]=u-D,w=t<<1,m=i[A+136>>2],i[A+136>>2]=w-m,k=Q<<1,F=i[A+132>>2],i[A+132>>2]=k-F,s=a<<1,S=i[A+128>>2],i[A+128>>2]=s-S,G=Y<<1,N=i[A+124>>2],i[A+124>>2]=G-N,M=E<<1,H=i[A+120>>2],i[A+120>>2]=M-H,i[A+112>>2]=_+y,i[A+108>>2]=p+f,i[A+104>>2]=h+l,i[A+100>>2]=u+D,i[A+96>>2]=w+m,i[A+92>>2]=k+F,i[A+88>>2]=s+S,i[A+84>>2]=G+N,i[A+80>>2]=M+H,i[A+116>>2]=I+g}function QA(A,I,g){var C,B,a,Q,t,r,o,n,c,e,E,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0;_=i[I+40>>2],y=i[I+4>>2],p=i[I+44>>2],f=i[I+8>>2],h=i[I+48>>2],l=i[I+12>>2],u=i[I+52>>2],D=i[I+16>>2],w=i[I+56>>2],m=i[I+20>>2],k=i[I+60>>2],F=i[I+24>>2],S=i[(s=I- -64|0)>>2],G=i[I+28>>2],N=i[I+68>>2],M=i[I+32>>2],H=i[I+72>>2],Y=i[I>>2],i[A+36>>2]=i[I+36>>2]+i[I+76>>2],i[A+32>>2]=M+H,i[A+28>>2]=G+N,i[A+24>>2]=F+S,i[A+20>>2]=m+k,i[A+16>>2]=D+w,i[A+12>>2]=l+u,i[A+8>>2]=f+h,i[A+4>>2]=y+p,i[A>>2]=_+Y,p=i[I+40>>2],_=i[I+4>>2],f=i[I+44>>2],h=i[I+8>>2],l=i[I+48>>2],u=i[I+12>>2],D=i[I+52>>2],w=i[I+16>>2],m=i[I+56>>2],k=i[I+20>>2],F=i[I+60>>2],S=i[I+24>>2],s=i[s>>2],y=i[I+28>>2],G=i[I+68>>2],N=i[I+32>>2],M=i[I+72>>2],H=i[I>>2],i[A+76>>2]=i[I+76>>2]-i[I+36>>2],i[A+72>>2]=M-N,i[A+68>>2]=G-y,i[(y=A- -64|0)>>2]=s-S,i[A+60>>2]=F-k,i[A+56>>2]=m-w,i[A+52>>2]=D-u,i[A+48>>2]=l-h,i[A+44>>2]=f-_,i[(_=A+40|0)>>2]=p-H,b(A+80|0,A,g+40|0),b(_,_,g),b(A+120|0,g+120|0,I+120|0),b(A,I+80|0,g+80|0),Y=i[A+4>>2],a=i[A+8>>2],Q=i[A+12>>2],t=i[A+16>>2],r=i[A+20>>2],o=i[A+24>>2],n=i[A+28>>2],c=i[A+32>>2],e=i[A+36>>2],I=i[_>>2],g=i[A+80>>2],p=i[A+44>>2],f=i[A+84>>2],h=i[A+48>>2],l=i[A+88>>2],u=i[A+52>>2],D=i[A+92>>2],w=i[A+56>>2],m=i[A+96>>2],k=i[A+60>>2],F=i[A+100>>2],s=i[y>>2],S=i[A+104>>2],G=i[A+68>>2],N=i[A+108>>2],M=i[A+72>>2],H=i[A+112>>2],E=i[A>>2],C=i[A+76>>2],B=i[A+116>>2],i[A+76>>2]=C+B,i[A+72>>2]=M+H,i[A+68>>2]=G+N,i[y>>2]=s+S,i[A+60>>2]=k+F,i[A+56>>2]=w+m,i[A+52>>2]=u+D,i[A+48>>2]=h+l,i[A+44>>2]=p+f,i[_>>2]=I+g,i[A+36>>2]=B-C,i[A+32>>2]=H-M,i[A+28>>2]=N-G,i[A+24>>2]=S-s,i[A+20>>2]=F-k,i[A+16>>2]=m-w,i[A+12>>2]=D-u,i[A+8>>2]=l-h,i[A+4>>2]=f-p,i[A>>2]=g-I,I=i[A+156>>2],g=e<<1,i[A+156>>2]=I+g,_=i[A+152>>2],y=c<<1,i[A+152>>2]=_+y,p=i[A+148>>2],f=n<<1,i[A+148>>2]=p+f,h=i[A+144>>2],l=o<<1,i[A+144>>2]=h+l,u=i[A+140>>2],D=r<<1,i[A+140>>2]=u+D,w=i[A+136>>2],m=t<<1,i[A+136>>2]=w+m,k=i[A+132>>2],F=Q<<1,i[A+132>>2]=k+F,s=i[A+128>>2],S=a<<1,i[A+128>>2]=s+S,G=i[A+124>>2],N=Y<<1,i[A+124>>2]=G+N,M=i[A+120>>2],H=E<<1,i[A+120>>2]=M+H,i[A+112>>2]=y-_,i[A+108>>2]=f-p,i[A+104>>2]=l-h,i[A+100>>2]=D-u,i[A+96>>2]=m-w,i[A+92>>2]=F-k,i[A+88>>2]=S-s,i[A+84>>2]=N-G,i[A+80>>2]=H-M,i[A+116>>2]=g-I}function tA(A,I,g){var C,B,a,Q,t,r,o,n,c,e,E,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0;_=i[I+40>>2],y=i[I+4>>2],p=i[I+44>>2],f=i[I+8>>2],h=i[I+48>>2],l=i[I+12>>2],u=i[I+52>>2],D=i[I+16>>2],w=i[I+56>>2],m=i[I+20>>2],k=i[I+60>>2],F=i[I+24>>2],S=i[(s=I- -64|0)>>2],G=i[I+28>>2],N=i[I+68>>2],M=i[I+32>>2],H=i[I+72>>2],Y=i[I>>2],i[A+36>>2]=i[I+36>>2]+i[I+76>>2],i[A+32>>2]=M+H,i[A+28>>2]=G+N,i[A+24>>2]=F+S,i[A+20>>2]=m+k,i[A+16>>2]=D+w,i[A+12>>2]=l+u,i[A+8>>2]=f+h,i[A+4>>2]=y+p,i[A>>2]=_+Y,p=i[I+40>>2],_=i[I+4>>2],f=i[I+44>>2],h=i[I+8>>2],l=i[I+48>>2],u=i[I+12>>2],D=i[I+52>>2],w=i[I+16>>2],m=i[I+56>>2],k=i[I+20>>2],F=i[I+60>>2],S=i[I+24>>2],s=i[s>>2],y=i[I+28>>2],G=i[I+68>>2],N=i[I+32>>2],M=i[I+72>>2],H=i[I>>2],i[A+76>>2]=i[I+76>>2]-i[I+36>>2],i[A+72>>2]=M-N,i[A+68>>2]=G-y,i[(y=A- -64|0)>>2]=s-S,i[A+60>>2]=F-k,i[A+56>>2]=m-w,i[A+52>>2]=D-u,i[A+48>>2]=l-h,i[A+44>>2]=f-_,i[(_=A+40|0)>>2]=p-H,b(A+80|0,A,g),b(_,_,g+40|0),b(A+120|0,g+80|0,I+120|0),Y=i[I+80>>2],a=i[I+84>>2],Q=i[I+88>>2],t=i[I+92>>2],r=i[I+96>>2],o=i[I+100>>2],n=i[I+104>>2],c=i[I+108>>2],e=i[I+112>>2],E=i[I+116>>2],I=i[_>>2],g=i[A+80>>2],p=i[A+44>>2],f=i[A+84>>2],h=i[A+48>>2],l=i[A+88>>2],u=i[A+52>>2],D=i[A+92>>2],w=i[A+56>>2],m=i[A+96>>2],k=i[A+60>>2],F=i[A+100>>2],s=i[y>>2],S=i[A+104>>2],G=i[A+68>>2],N=i[A+108>>2],M=i[A+72>>2],H=i[A+112>>2],C=i[A+76>>2],B=i[A+116>>2],i[A+76>>2]=C+B,i[A+72>>2]=M+H,i[A+68>>2]=G+N,i[y>>2]=s+S,i[A+60>>2]=k+F,i[A+56>>2]=w+m,i[A+52>>2]=u+D,i[A+48>>2]=h+l,i[A+44>>2]=p+f,i[_>>2]=I+g,i[A+36>>2]=B-C,i[A+32>>2]=H-M,i[A+28>>2]=N-G,i[A+24>>2]=S-s,i[A+20>>2]=F-k,i[A+16>>2]=m-w,i[A+12>>2]=D-u,i[A+8>>2]=l-h,i[A+4>>2]=f-p,i[A>>2]=g-I,I=E<<1,g=i[A+156>>2],i[A+156>>2]=I-g,_=e<<1,y=i[A+152>>2],i[A+152>>2]=_-y,p=c<<1,f=i[A+148>>2],i[A+148>>2]=p-f,h=n<<1,l=i[A+144>>2],i[A+144>>2]=h-l,u=o<<1,D=i[A+140>>2],i[A+140>>2]=u-D,w=r<<1,m=i[A+136>>2],i[A+136>>2]=w-m,k=t<<1,F=i[A+132>>2],i[A+132>>2]=k-F,s=Q<<1,S=i[A+128>>2],i[A+128>>2]=s-S,G=a<<1,N=i[A+124>>2],i[A+124>>2]=G-N,M=Y<<1,H=i[A+120>>2],i[A+120>>2]=M-H,i[A+112>>2]=_+y,i[A+108>>2]=p+f,i[A+104>>2]=h+l,i[A+100>>2]=u+D,i[A+96>>2]=w+m,i[A+92>>2]=k+F,i[A+88>>2]=s+S,i[A+84>>2]=G+N,i[A+80>>2]=M+H,i[A+116>>2]=I+g}function iA(A,I){var g,C,B,a,Q,t,o,n,c,e,E,_,y,s=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0;_=r[I+31|0],g=r[I+30|0],C=r[I+29|0],B=r[I+6|0],a=r[I+5|0],Q=r[I+4|0],t=r[I+9|0],o=r[I+8|0],n=r[I+7|0],F=r[I+12|0],S=r[I+11|0],c=r[I+10|0],e=r[I+15|0],G=r[I+14|0],E=r[I+13|0],w=r[I+28|0],k=r[I+27|0],m=r[I+26|0],D=r[I+25|0],l=r[I+24|0],f=r[I+23|0],y=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,u=(s=r[I+21|0])<<15,s=p=s>>>17|0,b=u,p=(u=r[I+20|0])>>>25|0,u=b|u<<7,N=s|p,s=(p=r[I+22|0])>>>9|0,u|=p<<23,s|=N,p=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,I=0,b=p,p=(33554431&(I=(N=p+16777216|0)>>>0<16777216?1:I))<<7|N>>>25,I=(I>>>25|0)+s|0,p=(s=u=p+u|0)>>>0

>>0?I+1|0:I,I=(u=s+33554432|0)>>>0<33554432?p+1|0:p,i[A+24>>2]=s-(-67108864&u),p=(s=f>>>27|0)|l>>>19|D>>>11,s=f=(l=D<<21|(f=l<<13|f<<5))+(s=(67108863&(s=I))<<6|u>>>26)|0,I=p,p=(f=l+16777216|0)>>>0<16777216?I+1|0:I,i[A+28>>2]=s-(1040187392&f),s=(s=k>>>20|m>>>28|w>>>12)+(p=(I=p)>>>25|0)|0,I=(p=f=(I=(33554431&I)<<7|f>>>25)+(k<<12|m<<4|w<<20)|0)>>>0>>0?s+1|0:s,f=(w=p+33554432|0)>>>0<33554432?I+1|0:I,i[A+32>>2]=p-(-67108864&w),s=(I=F>>>13|0)|(p=S>>>21|c>>>29),I=(s=(k=16777216+(F=S<<11|c<<3|F<<19)|0)>>>0<16777216?s+1|0:s)>>>25|0,s=(p=l=G<<10|E<<2|e<<18)+(l=(33554431&s)<<7|k>>>25)|0,p=I+(D=G>>>22|E>>>30|e>>>14)|0,I=s>>>0>>0?p+1|0:p,l=I=(67108863&(I=(p=s+33554432|0)>>>0<33554432?I+1|0:I))<<6|p>>>26,I=I+(m=b-(-33554432&N)|0)|0,i[A+20>>2]=I,i[A+16>>2]=s-(-67108864&p),p=a>>>18|Q>>>26|B>>>10,s=(p=(m=16777216+(S=a<<14|Q<<6|B<<22)|0)>>>0<16777216?p+1|0:p)>>>25|0,p=(I=l=o<<13|n<<5|t<<21)+(l=(33554431&p)<<7|m>>>25)|0,I=s+(D=o>>>19|n>>>27|t>>>11)|0,I=p>>>0>>0?I+1|0:I,s=(D=p+33554432|0)>>>0<33554432?I+1|0:I,i[A+8>>2]=p-(-67108864&D),w=(f=(67108863&f)<<6|w>>>26)+(G=_<<18&33292288|g<<10|C<<2)|0,I=p=g>>>22|C>>>30,p=(f=G+16777216|0)>>>0<16777216?I+1|0:I,i[A+36>>2]=w-(33554432&f),s=F+((67108863&s)<<6|D>>>26)|0,i[A+12>>2]=s-(234881024&k),l=S-(2113929216&m)|0,s=PI((33554431&(I=p))<<7|f>>>25,p=I>>>25|0,19,0),I=h,s=s>>>0>(p=s+y|0)>>>0?I+1|0:I,f=s=(67108863&(s=(I=p+33554432|0)>>>0<33554432?s+1|0:s))<<6|I>>>26,s=s+l|0,i[A+4>>2]=s,i[A>>2]=p-(-67108864&I)}function rA(A,I){var g,C,B,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0;for(s=g=s-480|0;Q=(o=g+288|0)+(a<<1)|0,_=r[I+a|0],t[Q+1|0]=_>>>4,t[0|Q]=15&_,o=o+((Q=1|a)<<1)|0,Q=r[I+Q|0],t[o+1|0]=Q>>>4,t[0|o]=15&Q,32!=(0|(a=a+2|0)););for(I=0;a=8+(o=(a=I)+r[0|(I=(g+288|0)+n|0)]|0)|0,t[0|I]=o-(240&a),a=8+(o=r[I+1|0]+(a<<24>>24>>4)|0)|0,t[I+1|0]=o-(240&a),a=8+(o=r[I+2|0]+(a<<24>>24>>4)|0)|0,t[I+2|0]=o-(240&a),I=a<<24>>24>>4,63!=(0|(n=n+3|0)););for(t[g+351|0]=r[g+351|0]+I,i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[(_=A+40|0)>>2]=1,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=1,yg(A+84|0,0,76),C=A+120|0,B=A+80|0,I=g+208|0,o=g+168|0,n=g+248|0,a=1;YA(c=g+8|0,a>>>1|0,t[(g+288|0)+a|0]),tA(Q=g+128|0,A,c),b(A,Q,n),b(_,o,I),b(B,I,n),b(C,Q,o),Q=a>>>0<62,a=a+2|0,Q;);for(a=i[A+8>>2],Q=i[A+12>>2],c=i[A+16>>2],e=i[A+20>>2],y=i[A+24>>2],p=i[A+28>>2],E=i[A>>2],f=i[A+4>>2],h=i[A+36>>2],i[g+392>>2]=i[A+32>>2],i[g+396>>2]=h,i[g+384>>2]=y,i[g+388>>2]=p,i[g+376>>2]=c,i[g+380>>2]=e,i[g+368>>2]=a,i[g+372>>2]=Q,i[g+360>>2]=E,i[g+364>>2]=f,a=i[A+40>>2],Q=i[A+44>>2],c=i[A+48>>2],e=i[A+52>>2],y=i[A+56>>2],p=i[A+60>>2],f=i[(E=A- -64|0)>>2],E=i[E+4>>2],h=i[A+76>>2],i[g+432>>2]=i[A+72>>2],i[g+436>>2]=h,i[g+424>>2]=f,i[g+428>>2]=E,i[g+416>>2]=y,i[g+420>>2]=p,i[g+408>>2]=c,i[g+412>>2]=e,i[g+400>>2]=a,i[g+404>>2]=Q,a=i[A+80>>2],Q=i[A+84>>2],c=i[A+88>>2],e=i[A+92>>2],y=i[A+96>>2],p=i[A+100>>2],E=i[A+104>>2],f=i[A+108>>2],h=i[A+116>>2],i[g+472>>2]=i[A+112>>2],i[g+476>>2]=h,i[g+464>>2]=E,i[g+468>>2]=f,i[g+456>>2]=y,i[g+460>>2]=p,i[g+448>>2]=c,i[g+452>>2]=e,i[g+440>>2]=a,i[g+444>>2]=Q,fA(a=g+128|0,Q=g+360|0),b(Q,a,n),b(c=g+400|0,o,I),b(e=g+440|0,I,n),fA(a,Q),b(Q,a,n),b(c,o,I),b(e,I,n),fA(a,Q),b(Q,a,n),b(c,o,I),b(e,I,n),fA(a,Q),b(A,a,n),b(_,o,I),b(B,I,n),b(C,a,o),a=0;YA(c=g+8|0,a>>>1|0,t[(g+288|0)+a|0]),tA(Q=g+128|0,A,c),b(A,Q,n),b(_,o,I),b(B,I,n),b(C,Q,o),Q=a>>>0<62,a=a+2|0,Q;);s=g+480|0}function oA(A,I,g,C,B,Q,o,n){A|=0,I|=0,g|=0,C|=0,B|=0,Q|=0,o|=0;var c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0;A:{I:{g:{C:{B:{a:{Q:{t:{i:{r:{o:{if(1==(-7&(n|=0))){if(E=0,!C)break t;if(4&n)break o;for(;;){E=e;n:{c:{e:{E:{for(;;){if(c=(c=(_=t[g+E|0])-65|0)&((90-_^-1)&(-1^c))>>>8&255|_+4&((_+65488^-1)&(57-_^-1))>>>8&255|_+185&((_+65439^-1)&(122-_^-1))>>>8&255|(1+(16336^_)^-1)>>>8&63|(1+(16340^_)^-1)>>>8&62,255!=(0|(c|=(c-1&1+(65470^_))>>>8&255)))break E;if(c=0,!B)break i;if(!eI(B,_))break;if((E=E+1|0)>>>0>=C>>>0)break e}e=E;break i}if(p=c+(p<<6)|0,y>>>0>1)break c;y=y+6|0;break n}e=(A=e+1|0)>>>0>>0?C:A;break i}if(y=y-2|0,I>>>0<=s>>>0)break r;t[A+s|0]=p>>>y,s=s+1|0}if(c=0,!((e=E+1|0)>>>0>>0))break}break i}$g(),a()}o:for(;;){for(E=e;;){n:{if(c=(c=(_=t[g+E|0])-65|0)&((90-_^-1)&(-1^c))>>>8&255|_+4&((_+65488^-1)&(57-_^-1))>>>8&255|_+185&((_+65439^-1)&(122-_^-1))>>>8&255|(1+(16288^_)^-1)>>>8&63|(1+(16338^_)^-1)>>>8&62,255==(0|(c|=(c-1&1+(65470^_))>>>8&255))){if(c=0,!B)break i;if(eI(B,_))break n;e=E;break i}if(p=c+(p<<6)|0,y>>>0<2)y=y+6|0;else{if(y=y-2|0,I>>>0<=s>>>0)break r;t[A+s|0]=p>>>y,s=s+1|0}if(c=0,(e=E+1|0)>>>0>>0)continue o;break i}if(!((E=E+1|0)>>>0>>0))break}break}e=(A=e+1|0)>>>0>>0?C:A;break i}e=E,i[9129]=68,c=1}if(y>>>0>4)break Q;E=e}if(A=E,I=-1,c){e=A;break A}if((-1<>>0<2){n=A;break B}if(e=A>>>0>C>>>0?A:C,E=y>>>1|0,!B)break a;for(n=A;;){if((0|n)==(0|e)){c=68;break C}if(61!=(0|(A=t[g+n|0]))){if(!eI(B,A)){c=28,e=n;break C}}else E=E-1|0;if(n=n+1|0,!E)break}break B}I=-1;break A}if(c=68,A>>>0>=C>>>0)break C;if(61!=r[A+g|0]){e=A,c=28;break C}if(n=A+E|0,1!=(0|E)){if((0|(y=A+1|0))==(0|e))break C;if(61!=r[g+y|0]){e=y,c=28;break C}if(2!=(0|E)){if((0|(A=A+2|0))==(0|e))break C;if(c=28,e=A,61!=r[A+g|0])break C}}}if(I=0,B)break g;break I}i[9129]=c;break A}if(!(C>>>0<=n>>>0)){for(;;){if(!eI(B,t[g+n|0]))break I;if((0|(n=n+1|0))==(0|C))break}n=C}}e=n,f=s}return o?i[o>>2]=g+e:(0|C)!=(0|e)&&(i[9129]=28,I=-1),Q&&(i[Q>>2]=f),0|I}function nA(A,I,g,C){A|=0,I|=0,g|=0;var B=0,a=0,Q=0,i=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0;for((C|=0)?(B=r[C+12|0]|r[C+13|0]<<8|r[C+14|0]<<16|r[C+15|0]<<24,o=r[C+8|0]|r[C+9|0]<<8|r[C+10|0]<<16|r[C+11|0]<<24,n=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,C=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24):(B=1797285236,o=2036477234,n=857760878,C=1634760805),a=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,Q=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,f=r[g+28|0]|r[g+29|0]<<8|r[g+30|0]<<16|r[g+31|0]<<24,p=r[g+24|0]|r[g+25|0]<<8|r[g+26|0]<<16|r[g+27|0]<<24,h=20,y=r[g+20|0]|r[g+21|0]<<8|r[g+22|0]<<16|r[g+23|0]<<24,s=r[g+16|0]|r[g+17|0]<<8|r[g+18|0]<<16|r[g+19|0]<<24,e=r[g+12|0]|r[g+13|0]<<8|r[g+14|0]<<16|r[g+15|0]<<24,E=r[g+8|0]|r[g+9|0]<<8|r[g+10|0]<<16|r[g+11|0]<<24,_=r[g+4|0]|r[g+5|0]<<8|r[g+6|0]<<16|r[g+7|0]<<24,I=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,g=r[0|g]|r[g+1|0]<<8|r[g+2|0]<<16|r[g+3|0]<<24;c=kg(g+n|0,7)^a,l=kg(c+n|0,9)^p,e=kg(C+y|0,7)^e,u=kg(e+C|0,9)^i,D=kg(u+e|0,13)^y,E=kg(B+s|0,7)^E,Q=kg(E+B|0,9)^Q,i=kg(Q+E|0,13)^s,B=kg(Q+i|0,18)^B,a=kg(I+o|0,7)^f,y=D^kg(B+a|0,7),p=l^kg(y+B|0,9),f=kg(y+p|0,13)^a,B=kg(p+f|0,18)^B,_=kg(a+o|0,9)^_,w=kg(_+a|0,13)^I,I=kg(w+_|0,18)^o,s=kg(I+c|0,7)^i,i=kg(s+I|0,9)^u,a=kg(i+s|0,13)^c,o=kg(a+i|0,18)^I,c=kg(c+l|0,13)^g,g=kg(c+l|0,18)^n,I=kg(g+e|0,7)^w,Q=kg(I+g|0,9)^Q,e=kg(I+Q|0,13)^e,n=kg(Q+e|0,18)^g,C=kg(u+D|0,18)^C,g=kg(C+E|0,7)^c,_=kg(g+C|0,9)^_,E=kg(g+_|0,13)^E,C=kg(_+E|0,18)^C,c=h>>>0>2,h=h-2|0,c;);return t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+28|0]=a,t[A+29|0]=a>>>8,t[A+30|0]=a>>>16,t[A+31|0]=a>>>24,t[A+24|0]=i,t[A+25|0]=i>>>8,t[A+26|0]=i>>>16,t[A+27|0]=i>>>24,t[A+20|0]=Q,t[A+21|0]=Q>>>8,t[A+22|0]=Q>>>16,t[A+23|0]=Q>>>24,t[A+16|0]=I,t[A+17|0]=I>>>8,t[A+18|0]=I>>>16,t[A+19|0]=I>>>24,t[A+12|0]=B,t[A+13|0]=B>>>8,t[A+14|0]=B>>>16,t[A+15|0]=B>>>24,t[A+8|0]=o,t[A+9|0]=o>>>8,t[A+10|0]=o>>>16,t[A+11|0]=o>>>24,t[A+4|0]=n,t[A+5|0]=n>>>8,t[A+6|0]=n>>>16,t[A+7|0]=n>>>24,0}function cA(A,I,g,C){var B,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0;if(s=B=s-704|0,g|C)if(a=(C<<3|g>>>29)+(Q=o=i[A+76>>2])|0,c=(e=i[A+72>>2])+(n=g<<3)|0,i[A+72>>2]=c,a=n>>>0>c>>>0?a+1|0:a,i[A+76>>2]=a,o=i[4+(n=A- -64|0)>>2],o=(E=a=(0|a)==(0|Q)&c>>>0>>0|a>>>0>>0)>>>0>(a=a+i[n>>2]|0)>>>0?o+1|0:o,c=(E=C>>>29|0)+a|0,a=o,i[n>>2]=c,i[n+4>>2]=c>>>0>>0?a+1|0:a,(0|(o=E=0-((a=0)+((n=127&((7&Q)<<29|e>>>3))>>>0>128)|0)|0))==(0|C)&g>>>0>=(c=128-n|0)>>>0|C>>>0>o>>>0){if(Q=0,o=0,!a&(127^n)>>>0>=3|a)for(h=252&c,e=A+80|0;t[(a=Q+n|0)+e|0]=r[I+Q|0],t[e+(n+(a=1|Q)|0)|0]=r[I+a|0],t[e+(n+(a=2|Q)|0)|0]=r[I+a|0],t[e+(n+(a=3|Q)|0)|0]=r[I+a|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=y,y=a=(p=p+4|0)>>>0<4?a+1|0:a,(0|p)!=(0|h)|(0|f)!=(0|a););if(e=a=0,a|(y=3&c))for(;t[80+(A+(a=Q+n|0)|0)|0]=r[I+Q|0],a=o,o=(Q=Q+1|0)?a:a+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|y)!=(0|_)|(0|e)!=(0|a););if(w(A,A+80|0,B,Q=B+640|0),I=I+c|0,!(C=C-((g>>>0>>0)+E|0)|0)&(g=g-c|0)>>>0>127|C)for(;w(A,I,B,Q),I=I+128|0,!(C=C-(g>>>0<128)|0)&(g=g-128|0)>>>0>127|C;);if(g|C){if(p=3&g,c=0,_=0,f=0,Q=0,o=0,!C&g>>>0>=4|C)for(n=-4&g,e=C,y=A+80|0,g=0,C=0;t[Q+y|0]=r[I+Q|0],t[(a=1|Q)+y|0]=r[I+a|0],t[(a=2|Q)+y|0]=r[I+a|0],t[(a=3|Q)+y|0]=r[I+a|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=C,C=a=(g=g+4|0)>>>0<4?a+1|0:a,(0|g)!=(0|n)|(0|e)!=(0|a););if(c|p)for(;t[80+(A+Q|0)|0]=r[I+Q|0],o=(Q=Q+1|0)?o:o+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|_)!=(0|p)|(0|c)!=(0|a););}NC(B,704)}else{if(Q=0,o=0,!C&g>>>0>=4|C)for(c=-4&g,e=C,C=A+80|0;t[C+(a=Q+n|0)|0]=r[I+Q|0],t[C+(E=n+(a=1|Q)|0)|0]=r[I+a|0],t[C+(E=n+(a=2|Q)|0)|0]=r[I+a|0],t[C+(E=n+(a=3|Q)|0)|0]=r[I+a|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=y,y=a=(p=p+4|0)>>>0<4?a+1|0:a,(0|c)!=(0|p)|(0|e)!=(0|a););if((g&=3)|(C=0))for(;t[80+(A+(a=Q+n|0)|0)|0]=r[I+Q|0],o=(Q=Q+1|0)?o:o+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|g)!=(0|_)|(0|C)!=(0|a););}return s=B+704|0,0}function eA(A,I){A|=0;var g,C,B,a,Q,t=0,i=0,r=0,o=0,n=0,c=0;for(s=g=s-736|0,D(n=g+704|0,I|=0,I),D(i=g+224|0,I,n),D(o=g+672|0,I,i),D(r=g+640|0,o,o),D(C=g+416|0,n,r),D(n=g+320|0,I,C),D(t=g+608|0,r,r),D(r=g+288|0,n,n),D(c=g+576|0,C,r),D(Q=g+448|0,t,r),D(B=g+544|0,c,c),D(c=g+384|0,t,B),D(a=g+352|0,i,c),D(i=g+192|0,t,a),D(t=g+160|0,o,i),D(g+96|0,o,t),D(i=g+512|0,B,a),D(t=g+480|0,o,i),D(i=g+256|0,Q,t),D(g+128|0,r,i),D(r=g- -64|0,c,t),D(t=g+32|0,o,r),D(g,C,t),D(A,n,g),o=0;D(A,A,A),126!=(0|(o=o+1|0)););return D(A,A,g+352|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+704|0),D(A,A,g),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+160|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+256|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g- -64|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+96|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+320|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+512|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+192|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+480|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+128|0),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,A),D(A,A,g+32|0),s=g+736|0,0-EI(I,32)|0}function EA(A,I,g){A|=0;var C,B,a,Q,i=0,o=0,n=0,c=0,e=0;return s=a=s-160|0,cI(I|=0,g|=0,32,0),t[0|I]=248&r[0|I],t[I+31|0]=63&r[I+31|0]|64,rA(a,I),$I(A,a),o=r[(B=g)+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,n=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,c=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,e=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,g=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,Q=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,C=I,I=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,t[C+24|0]=I,t[C+25|0]=I>>>8,t[C+26|0]=I>>>16,t[C+27|0]=I>>>24,t[C+28|0]=Q,t[C+29|0]=Q>>>8,t[C+30|0]=Q>>>16,t[C+31|0]=Q>>>24,t[C+16|0]=n,t[C+17|0]=n>>>8,t[C+18|0]=n>>>16,t[C+19|0]=n>>>24,t[C+20|0]=c,t[C+21|0]=c>>>8,t[C+22|0]=c>>>16,t[C+23|0]=c>>>24,t[C+8|0]=o,t[C+9|0]=o>>>8,t[C+10|0]=o>>>16,t[C+11|0]=o>>>24,t[C+12|0]=i,t[C+13|0]=i>>>8,t[C+14|0]=i>>>16,t[C+15|0]=i>>>24,t[0|C]=e,t[C+1|0]=e>>>8,t[C+2|0]=e>>>16,t[C+3|0]=e>>>24,t[C+4|0]=g,t[C+5|0]=g>>>8,t[C+6|0]=g>>>16,t[C+7|0]=g>>>24,n=r[(i=A)+8|0]|r[i+9|0]<<8|r[i+10|0]<<16|r[i+11|0]<<24,c=r[i+12|0]|r[i+13|0]<<8|r[i+14|0]<<16|r[i+15|0]<<24,e=r[i+16|0]|r[i+17|0]<<8|r[i+18|0]<<16|r[i+19|0]<<24,g=r[i+20|0]|r[i+21|0]<<8|r[i+22|0]<<16|r[i+23|0]<<24,I=r[0|i]|r[i+1|0]<<8|r[i+2|0]<<16|r[i+3|0]<<24,A=r[i+4|0]|r[i+5|0]<<8|r[i+6|0]<<16|r[i+7|0]<<24,o=r[i+28|0]|r[i+29|0]<<8|r[i+30|0]<<16|r[i+31|0]<<24,i=r[i+24|0]|r[i+25|0]<<8|r[i+26|0]<<16|r[i+27|0]<<24,t[C+56|0]=i,t[C+57|0]=i>>>8,t[C+58|0]=i>>>16,t[C+59|0]=i>>>24,t[C+60|0]=o,t[C+61|0]=o>>>8,t[C+62|0]=o>>>16,t[C+63|0]=o>>>24,t[C+48|0]=e,t[C+49|0]=e>>>8,t[C+50|0]=e>>>16,t[C+51|0]=e>>>24,t[C+52|0]=g,t[C+53|0]=g>>>8,t[C+54|0]=g>>>16,t[C+55|0]=g>>>24,t[C+40|0]=n,t[C+41|0]=n>>>8,t[C+42|0]=n>>>16,t[C+43|0]=n>>>24,t[C+44|0]=c,t[C+45|0]=c>>>8,t[C+46|0]=c>>>16,t[C+47|0]=c>>>24,t[C+32|0]=I,t[C+33|0]=I>>>8,t[C+34|0]=I>>>16,t[C+35|0]=I>>>24,t[C+36|0]=A,t[C+37|0]=A>>>8,t[C+38|0]=A>>>16,t[C+39|0]=A>>>24,s=a+160|0,0}function _A(A,I,g){var C,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0;y=i[I+4>>2],B=i[A+4>>2],s=i[I+8>>2],a=i[A+8>>2],p=i[I+12>>2],Q=i[A+12>>2],f=i[I+16>>2],t=i[A+16>>2],h=i[I+20>>2],r=i[A+20>>2],l=i[I+24>>2],o=i[A+24>>2],_=i[I+28>>2],n=i[A+28>>2],u=i[I+32>>2],c=i[A+32>>2],D=i[I+36>>2],e=i[A+36>>2],g=0-g|0,E=i[A>>2],i[A>>2]=g&(E^i[I>>2])^E,i[A+36>>2]=e^g&(e^D),i[A+32>>2]=c^g&(c^u),i[A+28>>2]=n^g&(n^_),i[A+24>>2]=o^g&(o^l),i[A+20>>2]=r^g&(r^h),i[A+16>>2]=t^g&(t^f),i[A+12>>2]=Q^g&(Q^p),i[A+8>>2]=a^g&(a^s),i[A+4>>2]=B^g&(B^y),B=i[A+40>>2],y=i[I+40>>2],a=i[A+44>>2],s=i[I+44>>2],Q=i[A+48>>2],p=i[I+48>>2],t=i[A+52>>2],f=i[I+52>>2],r=i[A+56>>2],h=i[I+56>>2],o=i[A+60>>2],l=i[I+60>>2],n=i[(_=A- -64|0)>>2],u=i[I- -64>>2],c=i[A+68>>2],D=i[I+68>>2],e=i[A+72>>2],E=i[I+72>>2],C=i[A+76>>2],i[A+76>>2]=C^g&(i[I+76>>2]^C),i[A+72>>2]=e^g&(e^E),i[A+68>>2]=c^g&(c^D),i[_>>2]=n^g&(n^u),i[A+60>>2]=o^g&(o^l),i[A+56>>2]=r^g&(r^h),i[A+52>>2]=t^g&(t^f),i[A+48>>2]=Q^g&(Q^p),i[A+44>>2]=a^g&(a^s),i[A+40>>2]=B^g&(B^y),B=i[A+80>>2],y=i[I+80>>2],a=i[A+84>>2],s=i[I+84>>2],Q=i[A+88>>2],p=i[I+88>>2],t=i[A+92>>2],f=i[I+92>>2],r=i[A+96>>2],h=i[I+96>>2],o=i[A+100>>2],l=i[I+100>>2],n=i[A+104>>2],_=i[I+104>>2],c=i[A+108>>2],u=i[I+108>>2],e=i[A+112>>2],D=i[I+112>>2],E=i[A+116>>2],i[A+116>>2]=g&(E^i[I+116>>2])^E,i[A+112>>2]=e^g&(e^D),i[A+108>>2]=c^g&(c^u),i[A+104>>2]=n^g&(n^_),i[A+100>>2]=o^g&(o^l),i[A+96>>2]=r^g&(r^h),i[A+92>>2]=t^g&(t^f),i[A+88>>2]=Q^g&(Q^p),i[A+84>>2]=a^g&(a^s),i[A+80>>2]=B^g&(B^y),B=i[A+120>>2],y=i[I+120>>2],a=i[A+124>>2],s=i[I+124>>2],Q=i[A+128>>2],p=i[I+128>>2],t=i[A+132>>2],f=i[I+132>>2],r=i[A+136>>2],h=i[I+136>>2],o=i[A+140>>2],l=i[I+140>>2],n=i[A+144>>2],_=i[I+144>>2],c=i[A+148>>2],u=i[I+148>>2],e=i[A+152>>2],D=i[I+152>>2],E=i[I+156>>2],I=i[A+156>>2],i[A+156>>2]=g&(E^I)^I,i[A+152>>2]=e^g&(e^D),i[A+148>>2]=c^g&(c^u),i[A+144>>2]=n^g&(n^_),i[A+140>>2]=o^g&(o^l),i[A+136>>2]=r^g&(r^h),i[A+132>>2]=t^g&(t^f),i[A+128>>2]=Q^g&(Q^p),i[A+124>>2]=a^g&(a^s),i[A+120>>2]=B^g&(B^y)}function yA(A,I,g){var C,B,a=0,Q=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0;return s=C=s-320|0,U(a=C+240|0,g),b(a,a,g),U(A,a),b(A,A,g),b(A,A,I),MA(A,A),b(A,A,a),b(A,A,I),U(a=C+192|0,A),b(a,a,g),Q=i[I+4>>2],y=i[I+8>>2],f=i[I+12>>2],h=i[I+16>>2],l=i[I+20>>2],u=i[I+24>>2],D=i[I+28>>2],w=i[I+32>>2],m=i[I>>2],g=i[C+192>>2],a=i[C+196>>2],r=i[C+200>>2],o=i[C+204>>2],n=i[C+208>>2],c=i[C+212>>2],e=i[C+216>>2],E=i[C+220>>2],_=i[C+224>>2],p=i[C+228>>2],k=i[I+36>>2],i[C+180>>2]=p-k,i[C+176>>2]=_-w,i[C+172>>2]=E-D,i[C+168>>2]=e-u,i[C+164>>2]=c-l,i[C+160>>2]=n-h,i[C+156>>2]=o-f,i[C+152>>2]=r-y,i[C+148>>2]=a-Q,i[C+144>>2]=g-m,i[C+132>>2]=p+k,i[C+128>>2]=_+w,i[C+124>>2]=E+D,i[C+120>>2]=e+u,i[C+116>>2]=c+l,i[C+112>>2]=n+h,i[C+108>>2]=o+f,i[C+104>>2]=r+y,i[C+100>>2]=a+Q,i[C+96>>2]=g+m,b(Q=C+48|0,I,1648),i[C+84>>2]=p+i[C+84>>2],i[C+80>>2]=_+i[C+80>>2],i[C+76>>2]=E+i[C+76>>2],i[C+72>>2]=e+i[C+72>>2],i[C+68>>2]=c+i[C+68>>2],i[C+64>>2]=n+i[C+64>>2],i[C+60>>2]=o+i[C+60>>2],i[C+56>>2]=r+i[C+56>>2],i[C+52>>2]=a+i[C+52>>2],i[C+48>>2]=g+i[C+48>>2],zA(C,C+144|0),f=EI(C,32),zA(C,C+96|0),y=EI(C,32),zA(C,Q),I=EI(C,32),b(C,A,1648),_=i[A+4>>2],E=i[A+8>>2],e=i[A+12>>2],c=i[A+16>>2],n=i[A+20>>2],o=i[A+24>>2],r=i[A+28>>2],a=i[A+32>>2],Q=i[A>>2],h=i[C>>2],l=i[C+4>>2],u=i[C+8>>2],D=i[C+12>>2],w=i[C+16>>2],m=i[C+20>>2],p=i[C+24>>2],k=i[C+28>>2],B=i[C+32>>2],g=(I=0-(I|y)|0)&((g=i[A+36>>2])^i[C+36>>2])^g,i[A+36>>2]=g,a^=I&(a^B),i[A+32>>2]=a,r^=I&(r^k),i[A+28>>2]=r,o^=I&(o^p),i[A+24>>2]=o,n^=I&(n^m),i[A+20>>2]=n,c^=I&(c^w),i[A+16>>2]=c,e^=I&(e^D),i[A+12>>2]=e,E^=I&(E^u),i[A+8>>2]=E,_^=I&(_^l),i[A+4>>2]=_,Q^=I&(Q^h),i[A>>2]=Q,zA(C+288|0,A),I=0-(1&t[C+288|0])|0,i[A+36>>2]=g^I&(g^0-g),i[A+32>>2]=a^I&(a^0-a),i[A+28>>2]=r^I&(r^0-r),i[A+24>>2]=o^I&(o^0-o),i[A+20>>2]=n^I&(n^0-n),i[A+16>>2]=c^I&(c^0-c),i[A+12>>2]=e^I&(e^0-e),i[A+8>>2]=E^I&(E^0-E),i[A+4>>2]=_^I&(_^0-_),i[A>>2]=Q^I&(Q^0-Q),s=C+320|0,y|f}function sA(A,I,g,C){var B,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0;if(s=B=s-288|0,g|C)if(a=(Q=i[A+36>>2])+(C<<3|g>>>29)|0,n=(o=i[A+32>>2])+(c=g<<3)|0,i[A+32>>2]=n,i[A+36>>2]=n>>>0>>0?a+1|0:a,o=64-(a=E=63&((7&Q)<<29|o>>>3))|0,(0|(a=h=0-((c=0)+(a>>>0>64)|0)|0))==(0|C)&g>>>0>=(n=o)>>>0|C>>>0>a>>>0){if(Q=0,o=0,!c&(63^E)>>>0>=3|c)for(l=124&n,c=A+40|0;t[(a=Q+E|0)+c|0]=r[I+Q|0],t[(a=E+(e=1|Q)|0)+c|0]=r[I+e|0],t[(a=E+(e=2|Q)|0)+c|0]=r[I+e|0],t[(a=E+(e=3|Q)|0)+c|0]=r[I+e|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=y,y=a=(p=p+4|0)>>>0<4?a+1|0:a,(0|p)!=(0|l)|(0|f)!=(0|a););if(c=a=0,a|(y=3&n))for(;t[40+(A+(a=Q+E|0)|0)|0]=r[I+Q|0],a=o,o=(Q=Q+1|0)?a:a+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|y)!=(0|_)|(0|c)!=(0|a););if(M(A,A+40|0,B,f=B+256|0),I=I+n|0,!(C=C-((g>>>0>>0)+h|0)|0)&(g=g-n|0)>>>0>63|C)for(;M(A,I,B,f),I=I- -64|0,a=C-1|0,!(C=(g=g+-64|0)>>>0<4294967232?a+1|0:a)&g>>>0>63|C;);if(g|C){if(n=3&g,p=0,_=0,f=0,Q=0,o=0,!C&g>>>0>=4|C)for(c=-4&g,y=C,e=A+40|0,g=0,C=0;t[Q+e|0]=r[I+Q|0],t[(a=1|Q)+e|0]=r[I+a|0],t[(a=2|Q)+e|0]=r[I+a|0],t[(a=3|Q)+e|0]=r[I+a|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=C,C=a=(g=g+4|0)>>>0<4?a+1|0:a,(0|g)!=(0|c)|(0|y)!=(0|a););if(n|p)for(;t[40+(A+Q|0)|0]=r[I+Q|0],o=(Q=Q+1|0)?o:o+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|n)!=(0|_)|(0|p)!=(0|a););}NC(B,288)}else{if(Q=0,o=0,!C&g>>>0>=4|C)for(e=-4&g,c=C,C=A+40|0;t[C+(a=Q+E|0)|0]=r[I+Q|0],t[C+(a=E+(n=1|Q)|0)|0]=r[I+n|0],t[C+(a=E+(n=2|Q)|0)|0]=r[I+n|0],t[C+(a=E+(n=3|Q)|0)|0]=r[I+n|0],a=o,o=(Q=Q+4|0)>>>0<4?a+1|0:a,a=y,y=a=(p=p+4|0)>>>0<4?a+1|0:a,(0|e)!=(0|p)|(0|c)!=(0|a););if(y=a=0,a|(C=3&g))for(;t[40+(A+(g=Q+E|0)|0)|0]=r[I+Q|0],o=(Q=Q+1|0)?o:o+1|0,a=f,f=a=(_=_+1|0)?a:a+1|0,(0|C)!=(0|_)|(0|y)!=(0|a););}return s=B+288|0,0}function pA(A,I){var g,C,B,a,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0;return s=g=s-320|0,iA(C=A+40|0,I),i[A+84>>2]=0,i[A+88>>2]=0,i[A+80>>2]=1,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,U(Q=g+240|0,C),b(o=g+192|0,Q,1600),i[g+192>>2]=i[g+192>>2]+1,n=i[g+240>>2]-1|0,i[g+240>>2]=n,c=i[g+244>>2],e=i[g+248>>2],E=i[g+252>>2],_=i[g+256>>2],y=i[g+260>>2],p=i[g+264>>2],f=i[g+268>>2],h=i[g+272>>2],l=i[g+276>>2],b(A,Q,o),MA(A,A),b(A,Q,A),U(Q=g+144|0,A),b(Q,Q,o),Q=i[g+180>>2],i[g+132>>2]=Q-l,o=i[g+176>>2],i[g+128>>2]=o-h,u=i[g+172>>2],i[g+124>>2]=u-f,D=i[g+168>>2],i[g+120>>2]=D-p,w=i[g+164>>2],i[g+116>>2]=w-y,m=i[g+160>>2],i[g+112>>2]=m-_,k=i[g+156>>2],i[g+108>>2]=k-E,F=i[g+152>>2],i[g+104>>2]=F-e,S=i[g+148>>2],i[g+100>>2]=S-c,G=i[g+144>>2],i[g+96>>2]=G-n,i[g+84>>2]=Q+l,i[g+80>>2]=o+h,i[g+76>>2]=f+u,i[g+72>>2]=p+D,i[g+68>>2]=y+w,i[g+64>>2]=_+m,i[g+60>>2]=E+k,i[g+56>>2]=e+F,i[g+52>>2]=c+S,i[g+48>>2]=n+G,zA(g,g+96|0),h=EI(g,32),zA(g,g+48|0),u=EI(g,32),b(g,A,1648),f=i[A+4>>2],p=i[A+8>>2],y=i[A+12>>2],_=i[A+16>>2],E=i[A+20>>2],e=i[A+24>>2],c=i[A+28>>2],n=i[A+32>>2],l=i[A>>2],D=i[g>>2],w=i[g+4>>2],m=i[g+8>>2],k=i[g+12>>2],F=i[g+16>>2],S=i[g+20>>2],G=i[g+24>>2],B=i[g+28>>2],a=i[g+32>>2],o=(Q=h-1|0)&((o=i[A+36>>2])^i[g+36>>2])^o,i[A+36>>2]=o,n^=Q&(n^a),i[A+32>>2]=n,c^=Q&(c^B),i[A+28>>2]=c,e^=Q&(e^G),i[A+24>>2]=e,E^=Q&(E^S),i[A+20>>2]=E,_^=Q&(_^F),i[A+16>>2]=_,y^=Q&(y^k),i[A+12>>2]=y,p^=Q&(p^m),i[A+8>>2]=p,f^=Q&(f^w),i[A+4>>2]=f,Q=l^Q&(l^D),i[A>>2]=Q,zA(g+288|0,A),I=0-(1&t[g+288|0]^r[I+31|0]>>>7)|0,i[A+36>>2]=o^I&(o^0-o),i[A+32>>2]=n^I&(n^0-n),i[A+28>>2]=c^I&(c^0-c),i[A+24>>2]=e^I&(e^0-e),i[A+20>>2]=E^I&(E^0-E),i[A+16>>2]=_^I&(_^0-_),i[A+12>>2]=y^I&(y^0-y),i[A+8>>2]=p^I&(p^0-p),i[A+4>>2]=f^I&(f^0-f),i[A>>2]=Q^I&(Q^0-Q),b(A+120|0,A,C),s=g+320|0,(h|u)-1|0}function fA(A,I){var g,C,B,a,Q,t,r,o,n,c,e,E,_,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,J=0,d=0;s=g=s-48|0,U(A,I),U(A+80|0,I+40|0),Y(A+120|0,I+80|0),u=i[I+40>>2],p=i[I+44>>2],y=i[I+4>>2],f=i[I+48>>2],D=i[I+8>>2],h=i[I+52>>2],w=i[I+12>>2],l=i[I+56>>2],G=i[I+16>>2],m=i[I+60>>2],N=i[I+20>>2],k=i[I- -64>>2],b=i[I+24>>2],F=i[I+68>>2],M=i[I+28>>2],S=i[I+72>>2],H=i[I+32>>2],d=i[I>>2],i[A+76>>2]=i[I+76>>2]+i[I+36>>2],i[A+72>>2]=S+H,i[A+68>>2]=F+M,i[(C=A- -64|0)>>2]=k+b,i[A+60>>2]=m+N,i[A+56>>2]=l+G,i[A+52>>2]=h+w,i[A+48>>2]=f+D,i[A+44>>2]=p+y,i[(I=A+40|0)>>2]=u+d,U(g,I),u=i[A+80>>2],p=i[A+4>>2],y=i[A+84>>2],f=i[A+8>>2],D=i[A+88>>2],h=i[A+12>>2],w=i[A+92>>2],l=i[A+16>>2],G=i[A+96>>2],m=i[A+20>>2],N=i[A+100>>2],k=i[A+24>>2],b=i[A+104>>2],F=i[A+28>>2],M=i[A+108>>2],S=i[A+32>>2],H=i[A+112>>2],d=i[A>>2],a=(J=i[A+116>>2])-(B=i[A+36>>2])|0,i[A+116>>2]=a,Q=H-S|0,i[A+112>>2]=Q,t=M-F|0,i[A+108>>2]=t,r=b-k|0,i[A+104>>2]=r,o=N-m|0,i[A+100>>2]=o,n=G-l|0,i[A+96>>2]=n,c=w-h|0,i[A+92>>2]=c,e=D-f|0,i[A+88>>2]=e,E=y-p|0,i[A+84>>2]=E,_=u-d|0,i[A+80>>2]=_,J=J+B|0,i[A+76>>2]=J,S=S+H|0,i[A+72>>2]=S,F=F+M|0,i[A+68>>2]=F,k=k+b|0,i[C>>2]=k,m=m+N|0,i[A+60>>2]=m,l=l+G|0,i[A+56>>2]=l,h=h+w|0,i[A+52>>2]=h,f=f+D|0,i[A+48>>2]=f,p=p+y|0,i[A+44>>2]=p,y=I,I=u+d|0,i[y>>2]=I,u=i[g>>2],y=i[g+4>>2],D=i[g+8>>2],w=i[g+12>>2],G=i[g+16>>2],N=i[g+20>>2],b=i[g+24>>2],M=i[g+28>>2],H=i[g+32>>2],i[A+36>>2]=i[g+36>>2]-J,i[A+32>>2]=H-S,i[A+28>>2]=M-F,i[A+24>>2]=b-k,i[A+20>>2]=N-m,i[A+16>>2]=G-l,i[A+12>>2]=w-h,i[A+8>>2]=D-f,i[A+4>>2]=y-p,i[A>>2]=u-I,I=i[A+120>>2],u=i[A+124>>2],p=i[A+128>>2],y=i[A+132>>2],f=i[A+136>>2],D=i[A+140>>2],h=i[A+144>>2],w=i[A+148>>2],l=i[A+152>>2],i[A+156>>2]=i[A+156>>2]-a,i[A+152>>2]=l-Q,i[A+148>>2]=w-t,i[A+144>>2]=h-r,i[A+140>>2]=D-o,i[A+136>>2]=f-n,i[A+132>>2]=y-c,i[A+128>>2]=p-e,i[A+124>>2]=u-E,i[A+120>>2]=I-_,s=g+48|0}function hA(A,I,g){var C,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0;s=B=s-160|0,i[A>>2]=1,i[(C=A)+4>>2]=0,i[C+8>>2]=0,i[C+12>>2]=0,i[C+16>>2]=0,i[C+20>>2]=0,i[C+24>>2]=0,i[C+28>>2]=0,i[C+32>>2]=0,i[C+44>>2]=0,i[C+48>>2]=0,i[C+36>>2]=0,i[C+40>>2]=1,i[C+52>>2]=0,i[C+56>>2]=0,i[C+60>>2]=0,i[C+64>>2]=0,i[C+68>>2]=0,i[C+72>>2]=0,i[C+76>>2]=0,i[C+80>>2]=1,yg(C+84|0,0,76),_A(C,I,(255&(1^(A=g-((g>>31&g)<<1)|0)))-1>>>31|0),_A(C,I+160|0,(255&(2^A))-1>>>31|0),_A(C,I+320|0,(255&(3^A))-1>>>31|0),_A(C,I+480|0,(255&(4^A))-1>>>31|0),_A(C,I+640|0,(255&(5^A))-1>>>31|0),_A(C,I+800|0,(255&(6^A))-1>>>31|0),_A(C,I+960|0,(255&(7^A))-1>>>31|0),_A(C,I+1120|0,(255&(8^A))-1>>>31|0),I=i[C+40>>2],Q=i[C+44>>2],t=i[C+48>>2],r=i[C+52>>2],o=i[C+56>>2],n=i[C+60>>2],c=i[(A=C- -64|0)>>2],a=i[A+4>>2],A=B,B=i[C+76>>2],i[A+32>>2]=i[C+72>>2],i[A+36>>2]=B,i[A+24>>2]=c,i[A+28>>2]=a,i[A+16>>2]=o,i[A+20>>2]=n,i[A+8>>2]=t,i[A+12>>2]=r,i[A>>2]=I,i[A+4>>2]=Q,I=i[C+8>>2],B=i[C+12>>2],Q=i[C+16>>2],t=i[C+20>>2],r=i[C+24>>2],o=i[C+28>>2],n=i[C>>2],c=i[C+4>>2],a=i[C+36>>2],i[A+72>>2]=i[C+32>>2],i[A+76>>2]=a,i[(a=A- -64|0)>>2]=r,i[a+4>>2]=o,i[A+56>>2]=Q,i[A+60>>2]=t,i[A+48>>2]=I,i[A+52>>2]=B,i[A+40>>2]=n,i[A+44>>2]=c,I=i[C+80>>2],B=i[C+84>>2],Q=i[C+88>>2],t=i[C+92>>2],r=i[C+96>>2],o=i[C+100>>2],n=i[C+104>>2],c=i[C+108>>2],a=i[C+116>>2],i[A+112>>2]=i[C+112>>2],i[A+116>>2]=a,i[A+104>>2]=n,i[A+108>>2]=c,i[A+96>>2]=r,i[A+100>>2]=o,i[A+88>>2]=Q,i[A+92>>2]=t,i[A+80>>2]=I,i[A+84>>2]=B,I=i[C+120>>2],B=i[C+124>>2],Q=i[C+128>>2],t=i[C+132>>2],r=i[C+136>>2],o=i[C+140>>2],n=i[C+144>>2],c=i[C+148>>2],a=i[C+152>>2],i[A+156>>2]=0-i[C+156>>2],i[A+152>>2]=0-a,i[A+148>>2]=0-c,i[A+144>>2]=0-n,i[A+140>>2]=0-o,i[A+136>>2]=0-r,i[A+132>>2]=0-t,i[A+128>>2]=0-Q,i[A+124>>2]=0-B,i[A+120>>2]=0-I,_A(C,A,(128&g)>>>7|0),s=A+160|0}function lA(A,I){I|=0;var g,C,B=0,a=0,Q=0,r=0;return s=g=s-288|0,a=40+((B=i[32+(A|=0)>>2]>>>3&63)+A|0)|0,B>>>0<=55?ng(a,35616,56-B|0):(ng(a,35616,64-B|0),M(A,A+40|0,g,g+256|0),i[A+88>>2]=0,i[A+92>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[(B=A- -64|0)>>2]=0,i[B+4>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0),Q=(B=16711680&(a=i[A+32>>2]))>>>8|0,r=B<<24,C=(B=-16777216&a)>>>24|0,B=(r|=B<<8)|-16777216&((255&(B=i[A+36>>2]))<<24|a>>>8)|16711680&((16777215&B)<<8|a>>>24)|B>>>8&65280|B>>>24,t[A+96|0]=B,t[A+97|0]=B>>>8,t[A+98|0]=B>>>16,t[A+99|0]=B>>>24,B=(B=Q|C|a<<24|(65280&a)<<8)|(Q=0)|Q,t[A+100|0]=B,t[A+101|0]=B>>>8,t[A+102|0]=B>>>16,t[A+103|0]=B>>>24,M(A,A+40|0,g,g+256|0),B=(B=i[A>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[0|I]=B,t[I+1|0]=B>>>8,t[I+2|0]=B>>>16,t[I+3|0]=B>>>24,B=(B=i[A+4>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+4|0]=B,t[I+5|0]=B>>>8,t[I+6|0]=B>>>16,t[I+7|0]=B>>>24,B=(B=i[A+8>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+8|0]=B,t[I+9|0]=B>>>8,t[I+10|0]=B>>>16,t[I+11|0]=B>>>24,B=(B=i[A+12>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+12|0]=B,t[I+13|0]=B>>>8,t[I+14|0]=B>>>16,t[I+15|0]=B>>>24,B=(B=i[A+16>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+16|0]=B,t[I+17|0]=B>>>8,t[I+18|0]=B>>>16,t[I+19|0]=B>>>24,B=(B=i[A+20>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+20|0]=B,t[I+21|0]=B>>>8,t[I+22|0]=B>>>16,t[I+23|0]=B>>>24,B=(B=i[A+24>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+24|0]=B,t[I+25|0]=B>>>8,t[I+26|0]=B>>>16,t[I+27|0]=B>>>24,B=(B=i[A+28>>2])<<24|(65280&B)<<8|B>>>8&65280|B>>>24,t[I+28|0]=B,t[I+29|0]=B>>>8,t[I+30|0]=B>>>16,t[I+31|0]=B>>>24,NC(g,288),NC(A,104),s=g+288|0,0}function uA(A,I){A|=0,I|=0;var g,C,B,a,Q,o=0,n=0,c=0;return s=n=s-192|0,ZI(n,32),cI(I,n,32,0),t[0|I]=248&r[0|I],t[I+31|0]=63&r[I+31|0]|64,rA(c=n+32|0,I),$I(A,c),g=n,c=i[n+28>>2],n=i[n+24>>2],t[I+24|0]=n,t[I+25|0]=n>>>8,t[I+26|0]=n>>>16,t[I+27|0]=n>>>24,t[I+28|0]=c,t[I+29|0]=c>>>8,t[I+30|0]=c>>>16,t[I+31|0]=c>>>24,c=i[g+20>>2],n=i[g+16>>2],t[I+16|0]=n,t[I+17|0]=n>>>8,t[I+18|0]=n>>>16,t[I+19|0]=n>>>24,t[I+20|0]=c,t[I+21|0]=c>>>8,t[I+22|0]=c>>>16,t[I+23|0]=c>>>24,c=i[g+12>>2],n=i[g+8>>2],t[I+8|0]=n,t[I+9|0]=n>>>8,t[I+10|0]=n>>>16,t[I+11|0]=n>>>24,t[I+12|0]=c,t[I+13|0]=c>>>8,t[I+14|0]=c>>>16,t[I+15|0]=c>>>24,c=i[g+4>>2],n=i[g>>2],t[0|I]=n,t[I+1|0]=n>>>8,t[I+2|0]=n>>>16,t[I+3|0]=n>>>24,t[I+4|0]=c,t[I+5|0]=c>>>8,t[I+6|0]=c>>>16,t[I+7|0]=c>>>24,C=r[(o=A)+8|0]|r[o+9|0]<<8|r[o+10|0]<<16|r[o+11|0]<<24,B=r[o+12|0]|r[o+13|0]<<8|r[o+14|0]<<16|r[o+15|0]<<24,a=r[o+16|0]|r[o+17|0]<<8|r[o+18|0]<<16|r[o+19|0]<<24,c=r[o+20|0]|r[o+21|0]<<8|r[o+22|0]<<16|r[o+23|0]<<24,n=r[0|o]|r[o+1|0]<<8|r[o+2|0]<<16|r[o+3|0]<<24,A=r[o+4|0]|r[o+5|0]<<8|r[o+6|0]<<16|r[o+7|0]<<24,Q=r[o+28|0]|r[o+29|0]<<8|r[o+30|0]<<16|r[o+31|0]<<24,o=r[o+24|0]|r[o+25|0]<<8|r[o+26|0]<<16|r[o+27|0]<<24,t[I+56|0]=o,t[I+57|0]=o>>>8,t[I+58|0]=o>>>16,t[I+59|0]=o>>>24,t[I+60|0]=Q,t[I+61|0]=Q>>>8,t[I+62|0]=Q>>>16,t[I+63|0]=Q>>>24,t[I+48|0]=a,t[I+49|0]=a>>>8,t[I+50|0]=a>>>16,t[I+51|0]=a>>>24,t[I+52|0]=c,t[I+53|0]=c>>>8,t[I+54|0]=c>>>16,t[I+55|0]=c>>>24,t[I+40|0]=C,t[I+41|0]=C>>>8,t[I+42|0]=C>>>16,t[I+43|0]=C>>>24,t[I+44|0]=B,t[I+45|0]=B>>>8,t[I+46|0]=B>>>16,t[I+47|0]=B>>>24,t[I+32|0]=n,t[I+33|0]=n>>>8,t[I+34|0]=n>>>16,t[I+35|0]=n>>>24,t[I+36|0]=A,t[I+37|0]=A>>>8,t[I+38|0]=A>>>16,t[I+39|0]=A>>>24,NC(g,32),s=g+192|0,0}function DA(A,I){A|=0;var g,C=0;s=g=s+-64|0,C=r[60+(I|=0)|0]|r[I+61|0]<<8|r[I+62|0]<<16|r[I+63|0]<<24,i[g+56>>2]=r[I+56|0]|r[I+57|0]<<8|r[I+58|0]<<16|r[I+59|0]<<24,i[g+60>>2]=C,C=r[I+52|0]|r[I+53|0]<<8|r[I+54|0]<<16|r[I+55|0]<<24,i[g+48>>2]=r[I+48|0]|r[I+49|0]<<8|r[I+50|0]<<16|r[I+51|0]<<24,i[g+52>>2]=C,C=r[I+44|0]|r[I+45|0]<<8|r[I+46|0]<<16|r[I+47|0]<<24,i[g+40>>2]=r[I+40|0]|r[I+41|0]<<8|r[I+42|0]<<16|r[I+43|0]<<24,i[g+44>>2]=C,C=r[I+36|0]|r[I+37|0]<<8|r[I+38|0]<<16|r[I+39|0]<<24,i[g+32>>2]=r[I+32|0]|r[I+33|0]<<8|r[I+34|0]<<16|r[I+35|0]<<24,i[g+36>>2]=C,C=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[g+24>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[g+28>>2]=C,C=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[g+16>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[g+20>>2]=C,C=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[g>>2]=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,i[g+4>>2]=C,C=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i[g+8>>2]=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,i[g+12>>2]=C,m(g),I=i[g+28>>2],C=i[g+24>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[g+20>>2],C=i[g+16>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[g+12>>2],C=i[g+8>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[g+4>>2],C=i[g>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,NC(g,64),s=g- -64|0}function wA(A,I,g){A|=0,I|=0;var C,B=0,a=0,Q=0,o=0,n=0,c=0,e=0,E=0;if(s=C=s-96|0,(g|=0)>>>0>=65&&(RI(A),sA(A,I,g,0),lA(A,C),g=32,I=C),RI(A),i[C+88>>2]=909522486,i[C+92>>2]=909522486,i[C+80>>2]=909522486,i[C+84>>2]=909522486,i[C+72>>2]=909522486,i[C+76>>2]=909522486,i[(Q=e=C- -64|0)>>2]=909522486,i[Q+4>>2]=909522486,i[C+56>>2]=909522486,i[C+60>>2]=909522486,i[C+48>>2]=909522486,i[C+52>>2]=909522486,i[C+40>>2]=909522486,i[C+44>>2]=909522486,i[C+32>>2]=909522486,i[C+36>>2]=909522486,g){if(g>>>0>=4)for(o=124&g;t[0|(a=(Q=C+32|0)+B|0)]=r[0|a]^r[I+B|0],t[0|(E=(a=1|B)+Q|0)]=r[0|E]^r[I+a|0],t[0|(E=(a=2|B)+Q|0)]=r[0|E]^r[I+a|0],t[0|(a=(a=Q)+(Q=3|B)|0)]=r[0|a]^r[I+Q|0],B=B+4|0,(0|o)!=(0|(n=n+4|0)););if(n=3&g)for(;t[0|(Q=(C+32|0)+B|0)]=r[0|Q]^r[I+B|0],B=B+1|0,(0|n)!=(0|(c=c+1|0)););}if(sA(A,C+32|0,64,0),RI(Q=A+104|0),i[C+88>>2]=1549556828,i[C+92>>2]=1549556828,i[C+80>>2]=1549556828,i[C+84>>2]=1549556828,i[C+72>>2]=1549556828,i[C+76>>2]=1549556828,i[e>>2]=1549556828,i[e+4>>2]=1549556828,i[C+56>>2]=1549556828,i[C+60>>2]=1549556828,i[C+48>>2]=1549556828,i[C+52>>2]=1549556828,i[C+40>>2]=1549556828,i[C+44>>2]=1549556828,i[C+32>>2]=1549556828,i[C+36>>2]=1549556828,g){if(c=0,B=0,g>>>0>=4)for(e=124&g,n=0;t[0|(o=(A=C+32|0)+B|0)]=r[0|o]^r[I+B|0],t[0|(a=(o=1|B)+A|0)]=r[0|a]^r[I+o|0],t[0|(a=(o=2|B)+A|0)]=r[0|a]^r[I+o|0],t[0|(o=(a=A)+(A=3|B)|0)]=r[0|o]^r[A+I|0],B=B+4|0,(0|e)!=(0|(n=n+4|0)););if(A=3&g)for(;t[0|(g=(C+32|0)+B|0)]=r[0|g]^r[I+B|0],B=B+1|0,(0|A)!=(0|(c=c+1|0)););}return sA(Q,A=C+32|0,64,0),NC(A,64),NC(C,32),s=C+96|0,0}function mA(A,I,g,C,B,Q,t){var r=0,o=0,n=0,c=0,e=0,E=0,_=0;if(I-65>>>0<4294967232|t>>>0>64)A=-1;else{E=r=s,s=r=r-512&-64;A:{I:if(!(!(!(C|B)|g)|!A|((o=255&I)-65&255)>>>0<=191|!(!(I=255&t)||Q)|I>>>0>=65)){if(I){if(!Q)break I;yg(r- -64|0,0,293),i[r+56>>2]=327033209,i[r+60>>2]=1541459225,i[r+48>>2]=-79577749,i[r+52>>2]=528734635,i[r+40>>2]=725511199,i[r+44>>2]=-1694144372,i[r+32>>2]=-1377402159,i[r+36>>2]=1359893119,i[r+24>>2]=1595750129,i[r+28>>2]=-1521486534,i[r+16>>2]=-23791573,i[r+20>>2]=1013904242,i[r+8>>2]=-2067093701,i[r+12>>2]=-1150833019,i[r>>2]=-222443256^(I<<8|o),i[r+4>>2]=I>>>24^1779033703,yg((t=r+384|0)+I|0,0,128-I|0),ng(t,Q,I),ng(r+96|0,t,128),i[r+352>>2]=128,NC(t,128),I=128}else yg(r- -64|0,0,293),i[r+56>>2]=327033209,i[r+60>>2]=1541459225,i[r+48>>2]=-79577749,i[r+52>>2]=528734635,i[r+40>>2]=725511199,i[r+44>>2]=-1694144372,i[r+32>>2]=-1377402159,i[r+36>>2]=1359893119,i[r+24>>2]=1595750129,i[r+28>>2]=-1521486534,i[r+16>>2]=-23791573,i[r+20>>2]=1013904242,i[r+8>>2]=-2067093701,i[r+12>>2]=-1150833019,i[r>>2]=-222443256^o,i[r+4>>2]=1779033703,I=0;g:if(C|B)for(_=r+224|0,n=r+96|0;;){if(t=I+n|0,!B&C>>>0<=(Q=256-I|0)>>>0){ng(t,g,C),i[r+352>>2]=C+i[r+352>>2];break g}if(ng(t,g,Q),i[r+352>>2]=Q+i[r+352>>2],c=I=i[r+68>>2],I=(e=(t=i[r+64>>2])+128|0)>>>0<128?I+1|0:I,i[r+64>>2]=e,i[r+68>>2]=I,I=i[r+76>>2],I=(c=t=-1==(0|c)&t>>>0>4294967167)>>>0>(t=t+i[r+72>>2]|0)>>>0?I+1|0:I,i[r+72>>2]=t,i[r+76>>2]=I,l(r,n),ng(n,_,128),I=i[r+352>>2]-128|0,i[r+352>>2]=I,g=g+Q|0,!((B=B-(C>>>0>>0)|0)|(C=C-Q|0)))break}P(r,A,o),s=E;break A}$g(),a()}A=0}return A}function kA(A,I){A|=0,I|=0;var g,C=0;s=g=s-128|0,i[g+80>>2]=0,i[g+84>>2]=0,i[g+88>>2]=0,i[g+92>>2]=0,i[g+40>>2]=0,i[g+44>>2]=0,i[g+48>>2]=0,i[g+52>>2]=0,i[g+56>>2]=0,i[g+60>>2]=0,C=i[8595],i[g+104>>2]=i[8594],i[g+108>>2]=C,C=i[8597],i[g+112>>2]=i[8596],i[g+116>>2]=C,C=i[8599],i[g+120>>2]=i[8598],i[g+124>>2]=C,i[g+64>>2]=0,i[g+68>>2]=0,i[g+72>>2]=0,i[g+76>>2]=0,t[g+64|0]=1,i[g+32>>2]=0,i[g+36>>2]=0,C=i[8593],i[g+96>>2]=i[8592],i[g+100>>2]=C,C=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[g+24>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[g+28>>2]=C,C=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[g+16>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[g+20>>2]=C,C=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i[g+8>>2]=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,i[g+12>>2]=C,C=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[g>>2]=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,i[g+4>>2]=C,XI(I=g- -64|0,g),m(I),I=i[g+92>>2],C=i[g+88>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[g+84>>2],C=i[g+80>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[g+76>>2],C=i[g+72>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[g+68>>2],C=i[g+64>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,s=g+128|0}function FA(A,I,g,C){var B=0,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0;A:{if((Q=i[A+56>>2])|(B=i[A+60>>2])){if(_=a=16-Q|0,n=(a=(0|(o=0-((Q>>>0>16)+B|0)|0))==(0|C)&g>>>0>a>>>0|C>>>0>o>>>0)?_:g,_=a=a?o:C,a|n){if(a=0,Q=0,!_&n>>>0>=4|_)for(c=-4&n,o=A- -64|0;B=a+i[A+56>>2]|0,t[B+o|0]=r[I+a|0],B=(y=1|a)+i[A+56>>2]|0,t[B+o|0]=r[I+y|0],B=(y=2|a)+i[A+56>>2]|0,t[B+o|0]=r[I+y|0],B=(y=3|a)+i[A+56>>2]|0,t[B+o|0]=r[I+y|0],B=Q,Q=(a=a+4|0)>>>0<4?B+1|0:B,B=e,e=B=(E=E+4|0)>>>0<4?B+1|0:B,(0|E)!=(0|c)|(0|_)!=(0|B););if(o=B=0,B|(e=3&n))for(;E=a+i[A+56>>2]|0,t[(A+E|0)- -64|0]=r[I+a|0],Q=(a=a+1|0)?Q:Q+1|0,B=p,p=B=(s=s+1|0)?B:B+1|0,(0|e)!=(0|s)|(0|o)!=(0|B););Q=i[A+56>>2],B=i[A+60>>2]}if(B=B+_|0,B=(Q=Q+n|0)>>>0>>0?B+1|0:B,i[A+56>>2]=Q,i[A+60>>2]=B,!B&Q>>>0<16)break A;gA(A,A- -64|0,16,0),i[A+56>>2]=0,i[A+60>>2]=0,g=(Q=g)-n|0,C=C-((Q>>>0>>0)+_|0)|0,I=I+n|0}if(!C&g>>>0>=16|C&&(gA(A,I,Q=-16&g,C),g&=15,C=0,I=I+Q|0),g|C){if(s=0,p=0,a=0,Q=0,!C&g>>>0>=4|C)for(n=12&g,_=0,o=A- -64|0,E=0,e=0;B=a+i[A+56>>2]|0,t[B+o|0]=r[I+a|0],B=(c=1|a)+i[A+56>>2]|0,t[B+o|0]=r[I+c|0],B=(c=2|a)+i[A+56>>2]|0,t[B+o|0]=r[I+c|0],B=(c=3|a)+i[A+56>>2]|0,t[B+o|0]=r[I+c|0],Q=(a=a+4|0)>>>0<4?Q+1|0:Q,B=e,e=B=(E=E+4|0)>>>0<4?B+1|0:B,(0|n)!=(0|E)|(0|_)!=(0|B););if(o=B=0,B|(e=3&g))for(;B=a+i[A+56>>2]|0,t[(A+B|0)- -64|0]=r[I+a|0],Q=(a=a+1|0)?Q:Q+1|0,B=p,p=B=(s=s+1|0)?B:B+1|0,(0|e)!=(0|s)|(0|o)!=(0|B););Q=C+i[A+60>>2]|0,Q=(I=g+i[A+56>>2]|0)>>>0>>0?Q+1|0:Q,i[A+56>>2]=I,i[A+60>>2]=Q}}}function SA(A,I){A|=0,I|=0;var g,C=0;s=g=s-128|0,i[g+80>>2]=0,i[g+84>>2]=0,i[g+88>>2]=0,i[g+92>>2]=0,i[g+40>>2]=0,i[g+44>>2]=0,i[g+48>>2]=0,i[g+52>>2]=0,i[g+56>>2]=0,i[g+60>>2]=0,C=i[8595],i[g+104>>2]=i[8594],i[g+108>>2]=C,C=i[8597],i[g+112>>2]=i[8596],i[g+116>>2]=C,C=i[8599],i[g+120>>2]=i[8598],i[g+124>>2]=C,i[g+64>>2]=0,i[g+68>>2]=0,i[g+72>>2]=0,i[g+76>>2]=0,i[g+32>>2]=0,i[g+36>>2]=0,C=i[8593],i[g+96>>2]=i[8592],i[g+100>>2]=C,C=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[g+16>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[g+20>>2]=C,C=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[g+24>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,i[g+28>>2]=C,C=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,i[g>>2]=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,i[g+4>>2]=C,C=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i[g+8>>2]=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,i[g+12>>2]=C,XI(I=g- -64|0,g),m(I),I=i[g+92>>2],C=i[g+88>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[g+84>>2],C=i[g+80>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[g+76>>2],C=i[g+72>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[g+68>>2],C=i[g+64>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,s=g+128|0}function GA(A,I,g){var C,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0,D=0;y=i[I+4>>2],B=i[A+4>>2],s=i[I+8>>2],a=i[A+8>>2],p=i[I+12>>2],Q=i[A+12>>2],f=i[I+16>>2],t=i[A+16>>2],h=i[I+20>>2],r=i[A+20>>2],l=i[I+24>>2],o=i[A+24>>2],E=i[I+28>>2],n=i[A+28>>2],u=i[I+32>>2],c=i[A+32>>2],D=i[I+36>>2],e=i[A+36>>2],g=0-g|0,_=i[A>>2],i[A>>2]=g&(_^i[I>>2])^_,i[A+36>>2]=e^g&(e^D),i[A+32>>2]=c^g&(c^u),i[A+28>>2]=n^g&(n^E),i[A+24>>2]=o^g&(o^l),i[A+20>>2]=r^g&(r^h),i[A+16>>2]=t^g&(t^f),i[A+12>>2]=Q^g&(Q^p),i[A+8>>2]=a^g&(a^s),i[A+4>>2]=B^g&(B^y),B=i[A+40>>2],y=i[I+40>>2],a=i[A+44>>2],s=i[I+44>>2],Q=i[A+48>>2],p=i[I+48>>2],t=i[A+52>>2],f=i[I+52>>2],r=i[A+56>>2],h=i[I+56>>2],o=i[A+60>>2],l=i[I+60>>2],n=i[(E=A- -64|0)>>2],u=i[I- -64>>2],c=i[A+68>>2],D=i[I+68>>2],e=i[A+72>>2],_=i[I+72>>2],C=i[A+76>>2],i[A+76>>2]=C^g&(i[I+76>>2]^C),i[A+72>>2]=e^g&(e^_),i[A+68>>2]=c^g&(c^D),i[E>>2]=n^g&(n^u),i[A+60>>2]=o^g&(o^l),i[A+56>>2]=r^g&(r^h),i[A+52>>2]=t^g&(t^f),i[A+48>>2]=Q^g&(Q^p),i[A+44>>2]=a^g&(a^s),i[A+40>>2]=B^g&(B^y),B=i[A+80>>2],y=i[I+80>>2],a=i[A+84>>2],s=i[I+84>>2],Q=i[A+88>>2],p=i[I+88>>2],t=i[A+92>>2],f=i[I+92>>2],r=i[A+96>>2],h=i[I+96>>2],o=i[A+100>>2],l=i[I+100>>2],n=i[A+104>>2],E=i[I+104>>2],c=i[A+108>>2],u=i[I+108>>2],e=i[A+112>>2],D=i[I+112>>2],_=i[I+116>>2],I=i[A+116>>2],i[A+116>>2]=g&(_^I)^I,i[A+112>>2]=e^g&(e^D),i[A+108>>2]=c^g&(c^u),i[A+104>>2]=n^g&(n^E),i[A+100>>2]=o^g&(o^l),i[A+96>>2]=r^g&(r^h),i[A+92>>2]=t^g&(t^f),i[A+88>>2]=Q^g&(Q^p),i[A+84>>2]=a^g&(a^s),i[A+80>>2]=B^g&(B^y)}function NA(A,I){var g,C,B=0;for(s=g=s-192|0,U(C=g+144|0,I),U(B=g+96|0,C),U(B,B),b(B,I,B),b(C,C,B),U(I=g+48|0,C),b(B,B,I),U(I,B),U(I,I),U(I,I),U(I,I),U(I,I),b(B,I,B),U(I,B),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),b(I,I,B),U(g,I),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),b(I,g,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),b(B,I,B),U(I,B),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),b(I,I,B),U(g,I),I=1;U(g,g),100!=(0|(I=I+1|0)););b(I=g+48|0,g,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),U(I,I),b(B=g+96|0,I,B),U(B,B),U(B,B),U(B,B),U(B,B),U(B,B),b(A,B,g+144|0),s=g+192|0}function bA(A,I,g,C,B){A|=0,I|=0,g|=0,C|=0;var Q=0,i=0,o=0,c=0,e=0,_=0,y=0,s=0,p=0,f=0;A:{I:{g:{if(1==(-7&(B|=0))&&(c=(Q=(C>>>0)/3|0)<<2,(Q=n(Q,-3)+C|0)&&(c=2&B?(2|c)+(Q>>>1|0)|0:c+4|0),!(I>>>0<=c>>>0))){if(!(4&B)){if(Q=0,!C)break A;break g}if(Q=0,!C)break A;for(;;){for(_=(s=r[g+y|0])|_<<8,e=Q,Q=1+((((o|=8)-6>>>0)/6|0)+Q|0)|0;p=65510+(i=_>>>(o=(B=o)-6|0)&63)>>>8|0,f=i+65484>>>8|0,t[A+e|0]=(1+(16321^i)^-1)>>>8&45|i+252&i+65474>>>8&(-1^f)|(i+32705^-1)>>>8&95|p&i+65|f&i+71&(-1^p),(0|(e=e+1|0))!=(0|Q););if((0|(y=y+1|0))==(0|C))break}if(!o)break A;e=(C=65510+(g=s<<12-B&63)>>>8|0)&g+65,_=g+252&g+65474>>>8&(-1^(B=g+65484>>>8|0)),o=B&g+71&(-1^C),C=g+32705|0,B=(1+(16321^g)^-1)>>>8&45,g=95;break I}$g(),a()}for(;;){for(_=(s=r[g+y|0])|_<<8,e=Q,Q=1+((((o|=8)-6>>>0)/6|0)+Q|0)|0;p=65510+(i=_>>>(o=(B=o)-6|0)&63)>>>8|0,f=i+65484>>>8|0,t[A+e|0]=(1+(16321^i)^-1)>>>8&43|i+252&i+65474>>>8&(-1^f)|(i+16321^-1)>>>8&47|p&i+65|f&i+71&(-1^p),(0|(e=e+1|0))!=(0|Q););if((0|(y=y+1|0))==(0|C))break}if(!o)break A;e=(C=65510+(g=s<<12-B&63)>>>8|0)&g+65,_=g+252&g+65474>>>8&(-1^(B=g+65484>>>8|0)),o=B&g+71&(-1^C),C=g+16321|0,B=(1+(16321^g)^-1)>>>8&43,g=47}t[A+Q|0]=g&(-1^C)>>>8|e|_|B|o,Q=Q+1|0}A:{I:{if(Q>>>0<=c>>>0){if(Q>>>0>>0)break I;c=Q;break A}E(1104,1201,230,1505),a()}yg(A+Q|0,61,c-Q|0)}return yg(A+c|0,0,(I>>>0>(g=c+1|0)>>>0?I:g)-c|0),0|A}function MA(A,I){var g,C=0,B=0;for(s=g=s-144|0,U(B=g+96|0,I),U(C=g+48|0,B),U(C,C),b(C,I,C),b(B,B,C),U(B,B),b(B,C,B),U(C,B),U(C,C),U(C,C),U(C,C),U(C,C),b(B,C,B),U(C,B),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),b(C,C,B),U(g,C),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),U(g,g),b(C,g,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),b(B,C,B),U(C,B),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),b(C,C,B),U(g,C),C=1;U(g,g),100!=(0|(C=C+1|0)););b(C=g+48|0,g,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),U(C,C),b(B=g+96|0,C,B),U(B,B),U(B,B),b(A,B,I),s=g+144|0}function HA(A,I){var g,C,B,a,Q,o,n,c,e,E,_,y,p,f,h,l,u,D,w,m=0,k=0,F=0,S=0;s=g=s-320|0,iA(C=A+40|0,I),i[A+84>>2]=0,i[A+88>>2]=0,i[A+80>>2]=1,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,U(F=g+240|0,C),b(k=g+192|0,F,1600),S=-1,B=i[g+240>>2]-1|0,i[g+240>>2]=B,i[g+192>>2]=i[g+192>>2]+1,a=i[g+244>>2],Q=i[g+248>>2],o=i[g+252>>2],n=i[g+256>>2],c=i[g+260>>2],e=i[g+264>>2],E=i[g+268>>2],_=i[g+272>>2],y=i[g+276>>2],U(m=g+144|0,k),b(m,m,k),U(A,m),b(A,A,k),b(A,A,F),MA(A,A),b(A,A,m),b(A,A,F),U(m=g+96|0,A),b(m,m,k),k=i[g+132>>2],i[g+84>>2]=k-y,m=i[g+128>>2],i[g+80>>2]=m-_,F=i[g+124>>2],i[g+76>>2]=F-E,p=i[g+120>>2],i[g+72>>2]=p-e,f=i[g+116>>2],i[g+68>>2]=f-c,h=i[g+112>>2],i[g+64>>2]=h-n,l=i[g+108>>2],i[g+60>>2]=l-o,u=i[g+104>>2],i[g+56>>2]=u-Q,D=i[g+100>>2],i[g+52>>2]=D-a,w=i[g+96>>2],i[g+48>>2]=w-B,zA(g,g+48|0);A:{if(!EI(g,32)){if(i[g+36>>2]=k+y,i[g+32>>2]=m+_,i[g+28>>2]=F+E,i[g+24>>2]=e+p,i[g+20>>2]=c+f,i[g+16>>2]=n+h,i[g+12>>2]=o+l,i[g+8>>2]=Q+u,i[g+4>>2]=a+D,i[g>>2]=B+w,zA(k=g+288|0,g),!EI(k,32))break A;b(A,A,1648)}zA(g+288|0,A),(1&t[g+288|0])==(r[I+31|0]>>>7|0)&&(i[A>>2]=0-i[A>>2],i[A+36>>2]=0-i[A+36>>2],i[A+32>>2]=0-i[A+32>>2],i[A+28>>2]=0-i[A+28>>2],i[A+24>>2]=0-i[A+24>>2],i[A+20>>2]=0-i[A+20>>2],i[A+16>>2]=0-i[A+16>>2],i[A+12>>2]=0-i[A+12>>2],i[A+8>>2]=0-i[A+8>>2],i[A+4>>2]=0-i[A+4>>2]),b(A+120|0,A,C),S=0}return s=g+320|0,S}function YA(A,I,g){var C,B=0,a=0,Q=0,t=0,r=0,o=0,c=0,e=0;s=C=s-128|0,i[A>>2]=1,i[A+4>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=1,yg(A+44|0,0,76),GA(A,B=n(I,960)+3008|0,(255&(1^(I=g-((g>>31&g)<<1)|0)))-1>>>31|0),GA(A,B+120|0,(255&(2^I))-1>>>31|0),GA(A,B+240|0,(255&(3^I))-1>>>31|0),GA(A,B+360|0,(255&(4^I))-1>>>31|0),GA(A,B+480|0,(255&(5^I))-1>>>31|0),GA(A,B+600|0,(255&(6^I))-1>>>31|0),GA(A,B+720|0,(255&(7^I))-1>>>31|0),GA(A,B+840|0,(255&(8^I))-1>>>31|0),a=i[A+40>>2],Q=i[A+44>>2],t=i[A+48>>2],r=i[A+52>>2],o=i[A+56>>2],c=i[A+60>>2],e=i[(I=A- -64|0)>>2],B=i[I+4>>2],I=i[A+76>>2],i[C+40>>2]=i[A+72>>2],i[C+44>>2]=I,i[C+32>>2]=e,i[C+36>>2]=B,i[C+24>>2]=o,i[C+28>>2]=c,i[C+16>>2]=t,i[C+20>>2]=r,i[C+8>>2]=a,i[C+12>>2]=Q,a=i[A+8>>2],Q=i[A+12>>2],t=i[A+16>>2],r=i[A+20>>2],o=i[A+24>>2],c=i[A+28>>2],e=i[A>>2],B=i[A+4>>2],I=i[A+36>>2],i[C+80>>2]=i[A+32>>2],i[C+84>>2]=I,i[C+72>>2]=o,i[C+76>>2]=c,i[(I=C- -64|0)>>2]=t,i[I+4>>2]=r,i[C+56>>2]=a,i[C+60>>2]=Q,i[C+48>>2]=e,i[C+52>>2]=B,a=i[A+80>>2],Q=i[A+84>>2],t=i[A+88>>2],r=i[A+92>>2],o=i[A+96>>2],c=i[A+100>>2],e=i[A+104>>2],B=i[A+108>>2],I=i[A+112>>2],i[C+124>>2]=0-i[A+116>>2],i[C+120>>2]=0-I,i[C+116>>2]=0-B,i[C+112>>2]=0-e,i[C+108>>2]=0-c,i[C+104>>2]=0-o,i[C+100>>2]=0-r,i[C+96>>2]=0-t,i[C+92>>2]=0-Q,i[C+88>>2]=0-a,GA(A,C+8|0,(128&g)>>>7|0),s=C+128|0}function UA(A){var I,g,C,B,a,Q,t,r,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,h=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0;return s=I=s-320|0,U(n=I+240|0,A),U(c=I+192|0,A+40|0),U(o=I+144|0,A+80|0),A=i[I+240>>2],e=i[I+192>>2],E=i[I+244>>2],_=i[I+196>>2],y=i[I+248>>2],p=i[I+200>>2],f=i[I+252>>2],h=i[I+204>>2],l=i[I+256>>2],u=i[I+208>>2],D=i[I+260>>2],w=i[I+212>>2],m=i[I+264>>2],k=i[I+216>>2],F=i[I+268>>2],S=i[I+220>>2],G=i[I+272>>2],N=i[I+224>>2],i[I+84>>2]=i[I+228>>2]-i[I+276>>2],i[I+80>>2]=N-G,i[I+76>>2]=S-F,i[I+72>>2]=k-m,i[I+68>>2]=w-D,i[I+64>>2]=u-l,i[I+60>>2]=h-f,i[I+56>>2]=p-y,i[I+52>>2]=_-E,i[I+48>>2]=e-A,b(A=I+48|0,A,o),b(I,n,c),b(I,I,1600),U(I+96|0,o),o=i[I+48>>2],n=i[I+96>>2],c=i[I>>2],e=i[I+52>>2],E=i[I+100>>2],_=i[I+4>>2],y=i[I+56>>2],p=i[I+104>>2],f=i[I+8>>2],h=i[I+60>>2],l=i[I+108>>2],u=i[I+12>>2],D=i[I+64>>2],w=i[I+112>>2],m=i[I+16>>2],k=i[I+68>>2],F=i[I+116>>2],S=i[I+20>>2],G=i[I+72>>2],N=i[I+120>>2],g=i[I+24>>2],C=i[I+76>>2],B=i[I+124>>2],a=i[I+28>>2],Q=i[I+80>>2],t=i[I+128>>2],r=i[I+32>>2],i[I+84>>2]=i[I+84>>2]-(i[I+132>>2]+i[I+36>>2]|0),i[I+80>>2]=Q-(t+r|0),i[I+76>>2]=C-(B+a|0),i[I+72>>2]=G-(N+g|0),i[I+68>>2]=k-(F+S|0),i[I+64>>2]=D-(w+m|0),i[I+60>>2]=h-(l+u|0),i[I+56>>2]=y-(p+f|0),i[I+52>>2]=e-(E+_|0),i[I+48>>2]=o-(n+c|0),zA(o=I+288|0,A),A=EI(o,32),s=I+320|0,A}function JA(A,I,g,C){var B=0,a=0,Q=0,i=0,o=0,n=0,c=0;if(g|C)A:for(c=A+224|0,o=A+96|0,a=r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24;;){if(B=a+o|0,!C&g>>>0<=(Q=256-a|0)>>>0){ng(B,I,g),I=(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)+g|0,t[A+352|0]=I,t[A+353|0]=I>>>8,t[A+354|0]=I>>>16,t[A+355|0]=I>>>24;break A}if(ng(B,I,Q),B=(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)+Q|0,t[A+352|0]=B,t[A+353|0]=B>>>8,t[A+354|0]=B>>>16,t[A+355|0]=B>>>24,n=a=r[A+68|0]|r[A+69|0]<<8|r[A+70|0]<<16|r[A+71|0]<<24,a=(i=128+(B=r[A+64|0]|r[A+65|0]<<8|r[A+66|0]<<16|r[A+67|0]<<24)|0)>>>0<128?a+1|0:a,t[A+64|0]=i,t[A+65|0]=i>>>8,t[A+66|0]=i>>>16,t[A+67|0]=i>>>24,t[A+68|0]=a,t[A+69|0]=a>>>8,t[A+70|0]=a>>>16,t[A+71|0]=a>>>24,a=r[A+76|0]|r[A+77|0]<<8|r[A+78|0]<<16|r[A+79|0]<<24,a=(n=B=-1==(0|n)&B>>>0>4294967167)>>>0>(B=B+(r[A+72|0]|r[A+73|0]<<8|r[A+74|0]<<16|r[A+75|0]<<24)|0)>>>0?a+1|0:a,t[A+72|0]=B,t[A+73|0]=B>>>8,t[A+74|0]=B>>>16,t[A+75|0]=B>>>24,t[A+76|0]=a,t[A+77|0]=a>>>8,t[A+78|0]=a>>>16,t[A+79|0]=a>>>24,l(A,o),ng(o,c,128),B=a=(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)-128|0,t[A+352|0]=B,t[A+353|0]=B>>>8,t[A+354|0]=B>>>16,t[A+355|0]=B>>>24,I=I+Q|0,!((C=C-(g>>>0>>0)|0)|(g=g-Q|0)))break}return 0}function dA(A){var I=0,g=0,C=0,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0,u=0;for(g=i[A+60>>2],s=i[A+56>>2],y=i[A+52>>2],E=i[A+48>>2],I=i[A+44>>2],C=i[A+40>>2],p=i[A+36>>2],e=i[A+32>>2],B=i[A+28>>2],a=i[A+24>>2],Q=i[A+20>>2],t=i[A+16>>2],r=i[A+12>>2],o=i[A+8>>2],n=i[A+4>>2],c=i[A>>2];_=kg(Q+n|0,7)^p,f=kg(_+Q|0,9)^y,t=kg(c+E|0,7)^t,h=kg(t+c|0,9)^e,l=kg(h+t|0,13)^E,r=kg(I+g|0,7)^r,B=kg(r+g|0,9)^B,e=kg(B+r|0,13)^I,g=kg(B+e|0,18)^g,I=kg(C+a|0,7)^s,E=l^kg(g+I|0,7),y=f^kg(E+g|0,9),s=kg(E+y|0,13)^I,g=kg(y+s|0,18)^g,o=kg(I+C|0,9)^o,a=kg(o+I|0,13)^a,C=kg(a+o|0,18)^C,I=kg(C+_|0,7)^e,e=kg(I+C|0,9)^h,p=kg(I+e|0,13)^_,C=kg(e+p|0,18)^C,n=kg(_+f|0,13)^n,Q=kg(n+f|0,18)^Q,a=kg(Q+t|0,7)^a,B=kg(a+Q|0,9)^B,t=kg(B+a|0,13)^t,Q=kg(t+B|0,18)^Q,c=kg(h+l|0,18)^c,n=kg(c+r|0,7)^n,o=kg(n+c|0,9)^o,r=kg(o+n|0,13)^r,c=kg(r+o|0,18)^c,_=u>>>0<6,u=u+2|0,_;);i[A>>2]=i[A>>2]+c,i[A+4>>2]=i[A+4>>2]+n,i[A+8>>2]=i[A+8>>2]+o,i[A+12>>2]=i[A+12>>2]+r,i[A+16>>2]=i[A+16>>2]+t,i[A+20>>2]=i[A+20>>2]+Q,i[A+24>>2]=i[A+24>>2]+a,i[A+28>>2]=i[A+28>>2]+B,i[A+32>>2]=i[A+32>>2]+e,i[A+36>>2]=i[A+36>>2]+p,i[A+40>>2]=i[A+40>>2]+C,i[A+44>>2]=i[A+44>>2]+I,i[A+48>>2]=i[A+48>>2]+E,i[A+52>>2]=i[A+52>>2]+y,i[A+56>>2]=i[A+56>>2]+s,i[A+60>>2]=i[A+60>>2]+g}function KA(A,I,g,C){var B,a=0;return s=B=s-320|0,a=-1,yI(g)&&(pI(g)||pA(B,g)||L(B)&&(t[0|A]=r[0|I],t[A+1|0]=r[I+1|0],t[A+2|0]=r[I+2|0],t[A+3|0]=r[I+3|0],t[A+4|0]=r[I+4|0],t[A+5|0]=r[I+5|0],t[A+6|0]=r[I+6|0],t[A+7|0]=r[I+7|0],t[A+8|0]=r[I+8|0],t[A+9|0]=r[I+9|0],t[A+10|0]=r[I+10|0],t[A+11|0]=r[I+11|0],t[A+12|0]=r[I+12|0],t[A+13|0]=r[I+13|0],t[A+14|0]=r[I+14|0],t[A+15|0]=r[I+15|0],t[A+16|0]=r[I+16|0],t[A+17|0]=r[I+17|0],t[A+18|0]=r[I+18|0],t[A+19|0]=r[I+19|0],t[A+20|0]=r[I+20|0],t[A+21|0]=r[I+21|0],t[A+22|0]=r[I+22|0],t[A+23|0]=r[I+23|0],t[A+24|0]=r[I+24|0],t[A+25|0]=r[I+25|0],t[A+26|0]=r[I+26|0],t[A+27|0]=r[I+27|0],t[A+28|0]=r[I+28|0],t[A+29|0]=r[I+29|0],t[A+30|0]=r[I+30|0],g=r[I+31|0],C&&(t[0|A]=248&r[0|A],g|=64),t[A+31|0]=127&g,H(g=B+160|0,A,B),$I(A,g),(127&r[A+31|0]|r[A+30|0]|r[A+29|0]|r[A+28|0]|r[A+27|0]|r[A+26|0]|r[A+25|0]|r[A+24|0]|r[A+23|0]|r[A+22|0]|r[A+21|0]|r[A+20|0]|r[A+19|0]|r[A+18|0]|r[A+17|0]|r[A+16|0]|r[A+15|0]|r[A+14|0]|r[A+13|0]|r[A+12|0]|r[A+11|0]|r[A+10|0]|r[A+9|0]|r[A+8|0]|r[A+7|0]|r[A+6|0]|r[A+5|0]|r[A+4|0]|r[A+3|0]|r[A+2|0]|r[A+1|0]|1^r[0|A])-1&256||(a=EI(I,32)?-1:0))),s=B+320|0,a}function xA(A,I,g,C,B){var a,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0;if(s=a=s-48|0,B&&ZI(B,102),!(36!=r[0|C]|55!=r[C+1|0]|36!=r[C+2|0])&&(E=FI(r[C+3|0]))&&(Q=bI(a+12|0,C+4|0))&&(c=bI(a+8|0,Q))){for(n=UI(c)+1|0;Q=0,n&&36!=r[0|(Q=c+(n=n-1|0)|0)];);if(o=Q-c|0,Q||(o=UI(c)),!((o=45+(n=(Q=o)+(c-C|0)|0)|0)>>>0>102|Q>>>0>o>>>0||(o=A,_=I,y=g,A=31&(E=E-1024|0),(63&E)>>>0>=32?(I=1<>>32-A,$(o,_,y,c,Q,g,I,i[a+12>>2],i[a+8>>2],a+16|0,32)))){for(c=ng(B,C,n),t[0|(A=c+n|0)]=36,e=(E=c+102|0)-(B=A+1|0)|0,g=0;;){A:if(A=B,(I=g)>>>0>31)C=A;else if(g=(n=I+1|0)+(o=(g=31-I|0)>>>0>=2?2:g)|0,C=0,Q=0,B=r[I+(a+16|0)|0],o&&(B=r[n+(a+16|0)|0]<<8|B,(0|(I=I+2|0))!=(0|g)&&(Q=1,B=r[I+(a+16|0)|0]<<16|B)),e&&(t[0|A]=r[1024+(63&B)|0],1!=(0|e))){if(t[A+1|0]=r[1024+(B>>>6&63)|0],o=A+e|0,I=A+2|0,(0|g)!=(0|n)){if(2==(0|e))break A;if(t[A+2|0]=r[1024+(B>>>12&63)|0],I=A+3|0,Q){if(3==(0|e))break A;t[A+3|0]=r[1024+(B>>>18|0)|0],I=A+4|0}}if(e=o-(B=I)|0,B)continue}break}NC(a+16|0,32),e=0,!C|C>>>0>=E>>>0||(t[0|C]=0,e=c)}}return s=a+48|0,e}function vA(A,I,g){var C,B,a,Q=0,t=0,o=0,c=0;s=C=s-16|0,B=i[A+20>>2],i[A+20>>2]=0,a=i[A+4>>2],i[A+4>>2]=0,Q=-26;A:{I:{g:{C:switch(g-1|0){case 1:if(Q=-32,xI(I,1165,9))break A;I=I+9|0;break g;case 0:break C;default:break A}if(Q=-32,xI(I,1156,8))break A;I=I+8|0}if(!((Q=xI(I,1422,3))||(g=I+3|0,((o=r[0|(t=Q?I:g)])-58&255)>>>0<246))){for(I=0,Q=o;;){if(c=g,I>>>0>429496729)break I;if((g=(255&Q)-48|0)>>>0>(-1^(I=n(I,10)))>>>0)break I;if(I=I+g|0,!(((Q=r[0|(g=c+1|0)])-58&255)>>>0>245))break}if(!(48==(0|o)&(0|c)!=(0|t)|(0|g)==(0|t))){if(Q=-26,19!=(0|I))break A;if(!xI(g,1434,3)&&(I=kI(c+4|0,C+12|0))&&(i[A+44>>2]=i[C+12>>2],!xI(I,1426,3)&&(I=kI(I+3|0,C+12|0))&&(i[A+40>>2]=i[C+12>>2],!xI(I,1430,3)&&(I=kI(I+3|0,C+12|0))&&(g=i[C+12>>2],i[A+48>>2]=g,i[A+52>>2]=g,36==r[0|I]&&(i[C+12>>2]=B,I=I+1|0,!oA(i[A+16>>2],B,I,UI(I),0,C+12|0,C+8|0,3)&&(i[A+20>>2]=i[C+12>>2],I=i[C+8>>2],36==r[0|I]&&(i[C+12>>2]=a,I=I+1|0,!oA(i[A>>2],a,I,UI(I),0,C+12|0,C+8|0,3)))))))){if(i[A+4>>2]=i[C+12>>2],I=i[C+8>>2],Q=iI(A))break A;Q=r[0|I]?-32:0;break A}}}}Q=-32}return s=C+16|0,Q}function RA(A,I){var g,C=0,B=0,a=0,Q=0,t=0,r=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,h=0,l=0;C=i[I+40>>2],B=i[I+4>>2],a=i[I+44>>2],Q=i[I+8>>2],t=i[I+48>>2],r=i[I+12>>2],o=i[I+52>>2],n=i[I+16>>2],c=i[I+56>>2],E=i[I+20>>2],_=i[I+60>>2],y=i[I+24>>2],s=i[(e=I- -64|0)>>2],p=i[I+28>>2],f=i[I+68>>2],h=i[I+32>>2],l=i[I+72>>2],g=i[I>>2],i[A+36>>2]=i[I+36>>2]+i[I+76>>2],i[A+32>>2]=h+l,i[A+28>>2]=p+f,i[A+24>>2]=y+s,i[A+20>>2]=E+_,i[A+16>>2]=n+c,i[A+12>>2]=r+o,i[A+8>>2]=Q+t,i[A+4>>2]=B+a,i[A>>2]=C+g,C=i[I+40>>2],B=i[I+4>>2],a=i[I+44>>2],Q=i[I+8>>2],t=i[I+48>>2],r=i[I+12>>2],o=i[I+52>>2],n=i[I+16>>2],c=i[I+56>>2],E=i[I+20>>2],_=i[I+60>>2],y=i[I+24>>2],e=i[e>>2],s=i[I+28>>2],p=i[I+68>>2],f=i[I+32>>2],h=i[I+72>>2],l=i[I>>2],i[A+76>>2]=i[I+76>>2]-i[I+36>>2],i[A+72>>2]=h-f,i[A+68>>2]=p-s,i[A- -64>>2]=e-y,i[A+60>>2]=_-E,i[A+56>>2]=c-n,i[A+52>>2]=o-r,i[A+48>>2]=t-Q,i[A+44>>2]=a-B,i[A+40>>2]=C-l,C=i[I+80>>2],B=i[I+84>>2],a=i[I+88>>2],Q=i[I+92>>2],t=i[I+96>>2],r=i[I+100>>2],o=i[I+104>>2],n=i[I+108>>2],c=i[I+116>>2],i[A+112>>2]=i[I+112>>2],i[A+116>>2]=c,i[A+104>>2]=o,i[A+108>>2]=n,i[A+96>>2]=t,i[A+100>>2]=r,i[A+88>>2]=a,i[A+92>>2]=Q,i[A+80>>2]=C,i[A+84>>2]=B,b(A+120|0,I+120|0,1696)}function LA(A,I,g){var C,B=0;return s=C=s-160|0,t[0|A]=r[0|I],t[A+1|0]=r[I+1|0],t[A+2|0]=r[I+2|0],t[A+3|0]=r[I+3|0],t[A+4|0]=r[I+4|0],t[A+5|0]=r[I+5|0],t[A+6|0]=r[I+6|0],t[A+7|0]=r[I+7|0],t[A+8|0]=r[I+8|0],t[A+9|0]=r[I+9|0],t[A+10|0]=r[I+10|0],t[A+11|0]=r[I+11|0],t[A+12|0]=r[I+12|0],t[A+13|0]=r[I+13|0],t[A+14|0]=r[I+14|0],t[A+15|0]=r[I+15|0],t[A+16|0]=r[I+16|0],t[A+17|0]=r[I+17|0],t[A+18|0]=r[I+18|0],t[A+19|0]=r[I+19|0],t[A+20|0]=r[I+20|0],t[A+21|0]=r[I+21|0],t[A+22|0]=r[I+22|0],t[A+23|0]=r[I+23|0],t[A+24|0]=r[I+24|0],t[A+25|0]=r[I+25|0],t[A+26|0]=r[I+26|0],t[A+27|0]=r[I+27|0],t[A+28|0]=r[I+28|0],t[A+29|0]=r[I+29|0],t[A+30|0]=r[I+30|0],B=r[I+31|0],g&&(t[0|A]=248&r[0|A],B|=64),t[A+31|0]=127&B,rA(C,A),$I(A,C),g=-1,(127&r[A+31|0]|r[A+30|0]|r[A+29|0]|r[A+28|0]|r[A+27|0]|r[A+26|0]|r[A+25|0]|r[A+24|0]|r[A+23|0]|r[A+22|0]|r[A+21|0]|r[A+20|0]|r[A+19|0]|r[A+18|0]|r[A+17|0]|r[A+16|0]|r[A+15|0]|r[A+14|0]|r[A+13|0]|r[A+12|0]|r[A+11|0]|r[A+10|0]|r[A+9|0]|r[A+8|0]|r[A+7|0]|r[A+6|0]|r[A+5|0]|r[A+4|0]|r[A+3|0]|r[A+2|0]|r[A+1|0]|1^r[0|A])-1&256||(g=EI(I,32)?-1:0),s=C+160|0,g}function PA(A,I){var g,C,B,a,Q,r=0,o=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0;(c=i[A+56>>2])|(r=i[A+60>>2])&&(t[c+(o=A- -64|0)|0]=1,!((f=c+1|0)?r:r+1|0)&f>>>0<=15&&yg(65+(A+c|0)|0,0,15-c|0),t[A+80|0]=1,gA(A,o,16,0)),f=i[A+52>>2],s=i[A+48>>2],o=i[A+44>>2],c=i[A+24>>2],E=i[A+28>>2]+(c>>>26|0)|0,e=i[A+32>>2]+(E>>>26|0)|0,g=i[A+36>>2]+(e>>>26|0)|0,r=(y=(c=(c=(67108863&c)+((_=i[A+20>>2]+n(g>>>26|0,5)|0)>>>26|0)|0)&(E=(e=(Q=(67108863&g)+((a=(C=67108863&e)+((B=(p=67108863&E)+((_=c+((r=5+(y=67108863&_)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)-67108864|0)>>31)|_&(e=67108863&(_=(e>>>31|0)-1|0)))<<26|r&e|E&y)+i[A+40>>2]|0,t[0|I]=r,t[I+1|0]=r>>>8,t[I+2|0]=r>>>16,t[I+3|0]=r>>>24,y=r>>>0>>0,r=(p=E&p|e&B)<<20|c>>>6,c=0,r=(o=r+o|0)>>>0>>0?1:c,r=(c=o+y|0)>>>0>>0?r+1|0:r,t[(o=I)+4|0]=c,t[o+5|0]=c>>>8,t[o+6|0]=c>>>16,t[o+7|0]=c>>>24,c=0,o=(o=(e=E&C|e&a)<<14|p>>>12)>>>0>(s=o+s|0)>>>0?1:c,c=s,s=r,c=(r=c+r|0)>>>0>>0?o+1|0:o,t[(o=I)+8|0]=r,t[o+9|0]=r>>>8,t[o+10|0]=r>>>16,t[o+11|0]=r>>>24,r=o=(_&Q|E&g)<<8|e>>>18,r=(r=c)+(o=o+f|0)|0,t[I+12|0]=r,t[I+13|0]=r>>>8,t[I+14|0]=r>>>16,t[I+15|0]=r>>>24,NC(A,88)}function qA(A,I,g,C,B){var a=0,Q=0,t=0,r=0,o=0,n=0,c=0;A:{if(1==(0|C)|C>>>0>1)i[9129]=22;else{s=C=s-128|0,i[C+56>>2]=0,i[C+48>>2]=0,i[C+52>>2]=0,i[C+40>>2]=0,i[C+44>>2]=0,i[C+32>>2]=0,i[C+36>>2]=0,i[C+24>>2]=0,i[C+28>>2]=0,i[C+16>>2]=0,i[C+20>>2]=0,i[C+8>>2]=0,i[C+12>>2]=0,a=UI(A),i[C+20>>2]=a,i[C+36>>2]=a,i[C+4>>2]=a,Q=S(a),i[C+32>>2]=Q,t=S(a),i[C+16>>2]=t,r=S(a),i[C>>2]=r;I:if(!r|!Q|!t||!(o=S(a)))j(Q),j(t),j(r),Q=-22;else{if(Q=vA(C,A,B)){j(i[C+32>>2]),j(i[C+16>>2]),j(i[C>>2]),j(o);break I}Q=i[C+20>>2],r=i[C+16>>2],t=i[C+52>>2],n=i[C+44>>2],c=i[C+40>>2],ZI(o,a=i[C+4>>2]);g:{C:{if(A=S(a)){if(i[C+96>>2]=0,i[C+100>>2]=0,i[C+88>>2]=0,i[C+92>>2]=0,i[C+84>>2]=Q,i[C+80>>2]=r,i[C+76>>2]=g,i[C+72>>2]=I,i[C+68>>2]=a,i[C+64>>2]=A,Q=0,i[C+120>>2]=0,i[C+116>>2]=t,i[C+112>>2]=t,i[C+108>>2]=n,i[C+104>>2]=c,!J(C- -64|0,B)){if(I=ng(o,A,a),NC(A,a),j(A),j(i[C+32>>2]),j(i[C+16>>2]),sI(I,i[C>>2],i[C+4>>2]))break C;break g}NC(A,a),j(A)}j(i[C+32>>2]),j(i[C+16>>2])}Q=-35}j(o),j(i[C>>2])}if(s=C+128|0,I=Q,!Q)break A;-35==(0|I)&&(i[9129]=28)}I=-1}return I}function jA(A,I,g){A|=0,I|=0,g|=0;var C,B=0;return s=C=s-16|0,t[C+15|0]=0,B=-1,0|IB[i[8930]](A,I,g)||(t[C+15|0]=r[0|A]|r[C+15|0],t[C+15|0]=r[A+1|0]|r[C+15|0],t[C+15|0]=r[A+2|0]|r[C+15|0],t[C+15|0]=r[A+3|0]|r[C+15|0],t[C+15|0]=r[A+4|0]|r[C+15|0],t[C+15|0]=r[A+5|0]|r[C+15|0],t[C+15|0]=r[A+6|0]|r[C+15|0],t[C+15|0]=r[A+7|0]|r[C+15|0],t[C+15|0]=r[A+8|0]|r[C+15|0],t[C+15|0]=r[A+9|0]|r[C+15|0],t[C+15|0]=r[A+10|0]|r[C+15|0],t[C+15|0]=r[A+11|0]|r[C+15|0],t[C+15|0]=r[A+12|0]|r[C+15|0],t[C+15|0]=r[A+13|0]|r[C+15|0],t[C+15|0]=r[A+14|0]|r[C+15|0],t[C+15|0]=r[A+15|0]|r[C+15|0],t[C+15|0]=r[A+16|0]|r[C+15|0],t[C+15|0]=r[A+17|0]|r[C+15|0],t[C+15|0]=r[A+18|0]|r[C+15|0],t[C+15|0]=r[A+19|0]|r[C+15|0],t[C+15|0]=r[A+20|0]|r[C+15|0],t[C+15|0]=r[A+21|0]|r[C+15|0],t[C+15|0]=r[A+22|0]|r[C+15|0],t[C+15|0]=r[A+23|0]|r[C+15|0],t[C+15|0]=r[A+24|0]|r[C+15|0],t[C+15|0]=r[A+25|0]|r[C+15|0],t[C+15|0]=r[A+26|0]|r[C+15|0],t[C+15|0]=r[A+27|0]|r[C+15|0],t[C+15|0]=r[A+28|0]|r[C+15|0],t[C+15|0]=r[A+29|0]|r[C+15|0],t[C+15|0]=r[A+30|0]|r[C+15|0],t[C+15|0]=r[A+31|0]|r[C+15|0],B=(r[C+15|0]<<23)-8388608>>31),s=C+16|0,0|B}function zA(A,I){var g,C,B,a,Q,r,o,c=0,e=0;C=i[I+32>>2],B=i[I+28>>2],a=i[I+24>>2],Q=i[I+20>>2],r=i[I+16>>2],o=i[I+12>>2],c=i[I+4>>2],e=i[I>>2],g=i[I+36>>2],I=i[I+8>>2],e=n((C+(B+(a+(Q+(r+(o+((c+(e+(n(g,19)+16777216>>>25|0)>>26)>>25)+I>>26)>>25)>>26)>>25)>>26)>>25)>>26)+g>>25,19)+e|0,t[0|A]=e,t[A+2|0]=e>>>16,t[A+1|0]=e>>>8,c=c+(e>>26)|0,t[A+5|0]=c>>>14,t[A+4|0]=c>>>6,t[A+3|0]=e>>>24&3|c<<2,I=I+(c>>25)|0,t[A+8|0]=I>>>13,t[A+7|0]=I>>>5,t[A+6|0]=I<<3|(29360128&c)>>>22,e=(I>>26)+o|0,t[A+11|0]=e>>>11,t[A+10|0]=e>>>3,t[A+9|0]=e<<5|(65011712&I)>>>21,c=(e>>25)+r|0,t[A+15|0]=c>>>18,t[A+14|0]=c>>>10,t[A+13|0]=c>>>2,I=(c>>26)+Q|0,t[A+16|0]=I,t[A+12|0]=c<<6|(33030144&e)>>>19,t[A+18|0]=I>>>16,t[A+17|0]=I>>>8,c=(I>>25)+a|0,t[A+21|0]=c>>>15,t[A+20|0]=c>>>7,t[A+19|0]=I>>>24&1|c<<1,I=(c>>26)+B|0,t[A+24|0]=I>>>13,t[A+23|0]=I>>>5,t[A+22|0]=I<<3|(58720256&c)>>>23,c=(I>>25)+C|0,t[A+27|0]=c>>>12,t[A+26|0]=c>>>4,t[A+25|0]=c<<4|(31457280&I)>>>21,I=g+(c>>26)|0,t[A+30|0]=I>>>10,t[A+29|0]=I>>>2,t[A+31|0]=(33292288&I)>>>18,t[A+28|0]=I<<6|(66060288&c)>>>20}function XA(A,I,g){A|=0,I|=0;var C,B=0,a=0,Q=0,i=0,o=0,n=0,c=0;if(s=C=s-192|0,(g|=0)>>>0>=129&&(_I(A),cA(A,I,g,0),K(A,C),g=64,I=C),_I(A),yg(C- -64|0,54,128),g){if(g>>>0>=4)for(c=252&g;t[0|(B=(Q=C- -64|0)+a|0)]=r[0|B]^r[I+a|0],t[0|(i=(B=1|a)+Q|0)]=r[0|i]^r[I+B|0],t[0|(i=(B=2|a)+Q|0)]=r[0|i]^r[I+B|0],t[0|(B=(B=Q)+(Q=3|a)|0)]=r[0|B]^r[I+Q|0],a=a+4|0,(0|c)!=(0|(o=o+4|0)););if(o=3&g)for(;t[0|(Q=(C- -64|0)+a|0)]=r[0|Q]^r[I+a|0],a=a+1|0,(0|o)!=(0|(n=n+1|0)););}if(cA(A,a=C- -64|0,128,0),_I(Q=A+208|0),yg(a,92,128),g){if(n=0,a=0,g>>>0>=4)for(c=252&g,o=0;t[0|(B=(A=C- -64|0)+a|0)]=r[0|B]^r[I+a|0],t[0|(i=(B=1|a)+A|0)]=r[0|i]^r[I+B|0],t[0|(i=(B=2|a)+A|0)]=r[0|i]^r[I+B|0],t[0|(B=(B=A)+(A=3|a)|0)]=r[0|B]^r[A+I|0],a=a+4|0,(0|c)!=(0|(o=o+4|0)););if(A=3&g)for(;t[0|(g=(C- -64|0)+a|0)]=r[0|g]^r[I+a|0],a=a+1|0,(0|A)!=(0|(n=n+1|0)););}return cA(Q,A=C- -64|0,128,0),NC(A,128),NC(C,64),s=C+192|0,0}function VA(A,I){var g,C=0,B=0;s=g=s-48|0,C=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,B=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,t[A+24|0]=B,t[A+25|0]=B>>>8,t[A+26|0]=B>>>16,t[A+27|0]=B>>>24,t[A+28|0]=C,t[A+29|0]=C>>>8,t[A+30|0]=C>>>16,t[A+31|0]=C>>>24,C=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24,B=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24,t[0|A]=B,t[A+1|0]=B>>>8,t[A+2|0]=B>>>16,t[A+3|0]=B>>>24,t[A+4|0]=C,t[A+5|0]=C>>>8,t[A+6|0]=C>>>16,t[A+7|0]=C>>>24,C=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,B=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,t[A+16|0]=B,t[A+17|0]=B>>>8,t[A+18|0]=B>>>16,t[A+19|0]=B>>>24,t[A+20|0]=C,t[A+21|0]=C>>>8,t[A+22|0]=C>>>16,t[A+23|0]=C>>>24,C=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,I=r[I+8|0]|r[I+9|0]<<8|r[I+10|0]<<16|r[I+11|0]<<24,t[A+8|0]=I,t[A+9|0]=I>>>8,t[A+10|0]=I>>>16,t[A+11|0]=I>>>24,t[A+12|0]=C,t[A+13|0]=C>>>8,t[A+14|0]=C>>>16,t[A+15|0]=C>>>24,I=r[A+31|0],t[A+31|0]=127&I,iA(g,A),N(A,g,128&I),s=g+48|0}function WA(A,I){var g;return A|=0,I|=0,i[12+(g=s-16|0)>>2]=A,i[g+8>>2]=I,i[g+4>>2]=0,i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]]^r[i[g+8>>2]],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+1|0]^r[i[g+8>>2]+1|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+2|0]^r[i[g+8>>2]+2|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+3|0]^r[i[g+8>>2]+3|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+4|0]^r[i[g+8>>2]+4|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+5|0]^r[i[g+8>>2]+5|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+6|0]^r[i[g+8>>2]+6|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+7|0]^r[i[g+8>>2]+7|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+8|0]^r[i[g+8>>2]+8|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+9|0]^r[i[g+8>>2]+9|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+10|0]^r[i[g+8>>2]+10|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+11|0]^r[i[g+8>>2]+11|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+12|0]^r[i[g+8>>2]+12|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+13|0]^r[i[g+8>>2]+13|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+14|0]^r[i[g+8>>2]+14|0],i[g+4>>2]=i[g+4>>2]|r[i[g+12>>2]+15|0]^r[i[g+8>>2]+15|0],(i[g+4>>2]-1>>>8&1)-1|0}function ZA(A,I,g){var C=0,B=0,a=0,Q=0,t=0,i=0,r=0,o=0,e=0;A:{I:{g:{C:{B:{a:{Q:{t:{i:{if(I){if(!g)break i;break t}return p=(I=A)-n(A=(A>>>0)/(g>>>0)|0,g)|0,f=0,h=0,A}if(!A)break Q;break a}if(!((C=g-1|0)&g))break B;a=0-(Q=(c(g)+33|0)-c(I)|0)|0;break g}return p=0,f=I-n(A=(I>>>0)/0|0,0)|0,h=0,A}if((C=32-c(I)|0)>>>0<31)break C;break I}if(p=A&C,f=0,1==(0|g))break A;return g=31&(C=iC(g)),(63&C)>>>0>=32?A=I>>>g|0:(B=I>>>g|0,A=((1<>>g),h=B,A}Q=C+1|0,a=63-C|0}if(C=31&(B=63&Q),B>>>0>=32?(B=0,t=I>>>C|0):(B=I>>>C|0,t=((1<>>C),C=31&(a&=63),a>>>0>=32?(I=A<>>32-C|I<>>31,t=(B=t<<1|I>>>31)-(r=g&(a=o-(i+(B>>>0>C>>>0)|0)>>31))|0,B=i-(B>>>0>>0)|0,I=I<<1|A>>>31,A=e|A<<1,e=i=1&a,Q=Q-1|0;);return p=t,f=B,h=I<<1|A>>>31,i|A<<1}p=A,f=I,A=0,I=0}return h=I,A}function OA(A,I,g,C,B){var a;return A|=0,I|=0,g|=0,C|=0,s=a=s-480|0,XA(a,B|=0,32),_C(a,I,g,C),Qg(a,a+416|0),I=i[a+444>>2],g=i[a+440>>2],t[A+24|0]=g,t[A+25|0]=g>>>8,t[A+26|0]=g>>>16,t[A+27|0]=g>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[a+436>>2],g=i[a+432>>2],t[A+16|0]=g,t[A+17|0]=g>>>8,t[A+18|0]=g>>>16,t[A+19|0]=g>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[a+428>>2],g=i[a+424>>2],t[A+8|0]=g,t[A+9|0]=g>>>8,t[A+10|0]=g>>>16,t[A+11|0]=g>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[a+420>>2],g=i[a+416>>2],t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,s=a+480|0,0}function TA(A,I,g){A|=0,I|=0;var C,B=0;return s=C=s+-64|0,cI(C,g|=0,32,0),g=i[C+28>>2],B=i[C+24>>2],t[I+24|0]=B,t[I+25|0]=B>>>8,t[I+26|0]=B>>>16,t[I+27|0]=B>>>24,t[I+28|0]=g,t[I+29|0]=g>>>8,t[I+30|0]=g>>>16,t[I+31|0]=g>>>24,g=i[C+20>>2],B=i[C+16>>2],t[I+16|0]=B,t[I+17|0]=B>>>8,t[I+18|0]=B>>>16,t[I+19|0]=B>>>24,t[I+20|0]=g,t[I+21|0]=g>>>8,t[I+22|0]=g>>>16,t[I+23|0]=g>>>24,g=i[C+12>>2],B=i[C+8>>2],t[I+8|0]=B,t[I+9|0]=B>>>8,t[I+10|0]=B>>>16,t[I+11|0]=B>>>24,t[I+12|0]=g,t[I+13|0]=g>>>8,t[I+14|0]=g>>>16,t[I+15|0]=g>>>24,g=i[C+4>>2],B=i[C>>2],t[0|I]=B,t[I+1|0]=B>>>8,t[I+2|0]=B>>>16,t[I+3|0]=B>>>24,t[I+4|0]=g,t[I+5|0]=g>>>8,t[I+6|0]=g>>>16,t[I+7|0]=g>>>24,NC(C,64),A=IC(A,I),s=C- -64|0,0|A}function $A(A,I){var g=0,C=0,B=0,a=0,Q=0,t=0;if(I>>>0>4294967168)A=48;else{if(I>>>0>=4294967168?(i[9129]=48,g=0):(g=0,(I=S(76+(a=I>>>0<11?16:I+11&-8)|0))&&(g=I-8|0,63&I?(B=(-8&(t=i[(Q=I-4|0)>>2]))-(C=(I=((I=(I+63&-64)-8|0)-g>>>0<=15?64:0)+I|0)-g|0)|0,3&t?(i[I+4>>2]=B|1&i[I+4>>2]|2,i[4+(B=I+B|0)>>2]=1|i[B+4>>2],i[Q>>2]=C|1&i[Q>>2]|2,i[4+(B=g+C|0)>>2]=1|i[B+4>>2],W(g,C)):(g=i[g>>2],i[I+4>>2]=B,i[I>>2]=g+C)):I=g,3&(g=i[I+4>>2])&&((C=-8&g)>>>0<=a+16>>>0||(i[I+4>>2]=a|1&g|2,g=I+a|0,a=C-a|0,i[g+4>>2]=3|a,i[4+(C=I+C|0)>>2]=1|i[C+4>>2],W(g,a))),g=I+8|0)),!g)return 48;i[A>>2]=g,A=0}return A}function AI(A,I,g,C,B,a,Q,t,r,o,n){var c;if(c=yg(A,0,I),1==(0|g)|g>>>0>1)return i[9129]=22,-1;if(!(!g&I>>>0<=15)){if(!(!(a|r)&o>>>0<2147483649))return i[9129]=22,-1;if(!(!((!r&t>>>0>=3|0!=(0|r))&o>>>0>8191)|(0|C)==(0|c)))return 1==(0|n)?(a=o>>>10|0,s=A=s+-64|0,c&&ZI(c,I),(g=S(I))?(i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+20>>2]=16,i[A+16>>2]=Q,i[A+12>>2]=B,i[A+8>>2]=C,i[A+4>>2]=I,i[A>>2]=g,i[A+56>>2]=0,i[A+52>>2]=1,i[A+48>>2]=1,i[A+44>>2]=a,i[A+40>>2]=t,(C=J(A,1))|!c||ng(c,g,I),NC(g,I),j(g)):C=-22,s=A- -64|0,C?-1:0):(i[9129]=28,-1)}return i[9129]=28,-1}function II(A,I,g,C,B,a,Q){var t,r,o,n,c,e=0;return s=t=s-352|0,BA(t,a,Q,0),!((!B&C>>>0>A-g>>>0|0!=(0|B))&A>>>0>g>>>0)&(!B&C>>>0<=g-A>>>0|A>>>0>=g>>>0)||(g=Ag(A,g,C)),i[t+56>>2]=0,i[t+60>>2]=0,i[t+48>>2]=0,i[t+52>>2]=0,i[t+40>>2]=0,i[t+44>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,Q=(e=!B&C>>>0>=32|0!=(0|B))?32:C,c=e=e?0:B,(o=!(Q|e))||ng(t- -64|0,g,Q),Dg(r=t+32|0,r,n=Q+32|0,e=n>>>0<32?e+1|0:e,a=a+16|0,t),BC(t+96|0,r),o||ng(A,t- -64|0,Q),NC(t+32|0,64),!B&C>>>0>=33|B&&hg(A+Q|0,g+Q|0,C-Q|0,B-(c+(C>>>0>>0)|0)|0,a,1,0,t),NC(t,32),rC(g=t+96|0,A,C,B),QC(g,I),NC(g,256),s=t+352|0,0}function gI(A,I,g,C,B,a,Q){var t,r,o,n,c,e=0;return s=t=s-352|0,nA(t,a,Q,0),!((!B&C>>>0>A-g>>>0|0!=(0|B))&A>>>0>g>>>0)&(!B&C>>>0<=g-A>>>0|A>>>0>=g>>>0)||(g=Ag(A,g,C)),i[t+56>>2]=0,i[t+60>>2]=0,i[t+48>>2]=0,i[t+52>>2]=0,i[t+40>>2]=0,i[t+44>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,Q=(e=!B&C>>>0>=32|0!=(0|B))?32:C,c=e=e?0:B,(o=!(Q|e))||ng(t- -64|0,g,Q),Vg(r=t+32|0,r,n=Q+32|0,e=n>>>0<32?e+1|0:e,a=a+16|0,t),BC(t+96|0,r),o||ng(A,t- -64|0,Q),NC(t+32|0,64),!B&C>>>0>=33|B&&Lg(A+Q|0,g+Q|0,C-Q|0,B-(c+(C>>>0>>0)|0)|0,a,1,0,t),NC(t,32),rC(g=t+96|0,A,C,B),QC(g,I),NC(g,256),s=t+352|0,0}function CI(A,I,g,C,B,a,Q,t,r,o,n){var c;if(c=yg(A,0,I),1==(0|g)|g>>>0>1)return i[9129]=22,-1;if(!(!g&I>>>0<=15)){if(!(!(a|r)&o>>>0<2147483649))return i[9129]=22,-1;if(!(!(!!(t|r)&o>>>0>8191)|(0|C)==(0|c)))return 2==(0|n)?(a=o>>>10|0,s=A=s+-64|0,c&&ZI(c,I),(g=S(I))?(i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+20>>2]=16,i[A+16>>2]=Q,i[A+12>>2]=B,i[A+8>>2]=C,i[A+4>>2]=I,i[A>>2]=g,i[A+56>>2]=0,i[A+52>>2]=1,i[A+48>>2]=1,i[A+44>>2]=a,i[A+40>>2]=t,(C=J(A,2))|!c||ng(c,g,I),NC(g,I),j(g)):C=-22,s=A- -64|0,C?-1:0):(i[9129]=28,-1)}return i[9129]=28,-1}function BI(A,I,g,C,B,a,Q,t,o,n){var c,e;return s=c=s-400|0,i[c+4>>2]=0,BA(e=c+16|0,o,n,0),n=r[o+20|0]|r[o+21|0]<<8|r[o+22|0]<<16|r[o+23|0]<<24,i[c+8>>2]=r[o+16|0]|r[o+17|0]<<8|r[o+18|0]<<16|r[o+19|0]<<24,i[c+12>>2]=n,Mg(n=c+80|0,64,0,c+4|0,e),BC(o=c+144|0,n),NC(n,64),rC(o,a,Q,t),rC(o,35312,0-Q&15,0),rC(o,I,g,C),rC(o,35312,0-g&15,0),i[c+72>>2]=Q,i[c+76>>2]=t,rC(o,a=c+72|0,8,0),i[c+72>>2]=g,i[c+76>>2]=C,rC(o,a,8,0),QC(o,a=c+48|0),NC(o,256),o=WA(a,B),NC(a,16),A&&(o?(yg(A,0,g),o=-1):(Hg(A,I,g,C,c+4|0,c+16|0),o=0)),NC(c+16|0,32),s=c+400|0,o}function aI(A,I,g,C,B,a,Q){var t,i,r=0,o=0;s=t=s-96|0,nA(t,a,Q,0),CC(Q=t+32|0,32,0,i=a+16|0,t),a=-1;A:{if(!aC(g,I,C,B,Q)){if(a=0,!A)break A;!((!B&C>>>0>I-A>>>0|0!=(0|B))&A>>>0>>0)&(!B&C>>>0<=A-I>>>0|A>>>0<=I>>>0)||(I=Ag(A,I,C)),(Q=(g=!B&C>>>0>=32|0!=(0|B))?32:C)|(g=g?0:B)?(o=ng(t- -64|0,I,Q),Vg(a=t+32|0,a,r=Q+32|0,r>>>0<32?g+1|0:g,i,t),ng(A,o,Q)):Vg(a=t+32|0,a,r=Q+32|0,r>>>0<32?g+1|0:g,i,t),NC(t+32|0,64),a=0,!B&C>>>0<33||Lg(A+Q|0,I+Q|0,C-Q|0,B-(g+(C>>>0>>0)|0)|0,i,1,0,t)}NC(t,32)}return s=t+96|0,a}function QI(A,I,g,C,B,a,Q){var t,i,r=0,o=0;s=t=s-96|0,BA(t,a,Q,0),bg(Q=t+32|0,32,0,i=a+16|0,t),a=-1;A:{if(!aC(g,I,C,B,Q)){if(a=0,!A)break A;!((!B&C>>>0>I-A>>>0|0!=(0|B))&A>>>0>>0)&(!B&C>>>0<=A-I>>>0|A>>>0<=I>>>0)||(I=Ag(A,I,C)),(Q=(g=!B&C>>>0>=32|0!=(0|B))?32:C)|(g=g?0:B)?(o=ng(t- -64|0,I,Q),Dg(a=t+32|0,a,r=Q+32|0,r>>>0<32?g+1|0:g,i,t),ng(A,o,Q)):Dg(a=t+32|0,a,r=Q+32|0,r>>>0<32?g+1|0:g,i,t),a=0,!B&C>>>0<33||hg(A+Q|0,I+Q|0,C-Q|0,B-(g+(C>>>0>>0)|0)|0,i,1,0,t)}NC(t,32)}return s=t+96|0,a}function tI(A,I,g,C,B,a){var Q,r;if(s=Q=s-496|0,wA(r=Q+288|0,A,I),yC(r,g,C,0),a)for(A=0,I=0;g=(I=I+1|0)<<24|(65280&I)<<8|I>>>8&65280|I>>>24,t[Q+76|0]=g,t[Q+77|0]=g>>>8,t[Q+78|0]=g>>>16,t[Q+79|0]=g>>>24,ng(g=Q+80|0,Q+288|0,208),yC(g,Q+76|0,4,0),og(g,Q+32|0),g=i[Q+60>>2],i[Q+24>>2]=i[Q+56>>2],i[Q+28>>2]=g,g=i[Q+52>>2],i[Q+16>>2]=i[Q+48>>2],i[Q+20>>2]=g,g=i[Q+44>>2],i[Q+8>>2]=i[Q+40>>2],i[Q+12>>2]=g,g=i[Q+36>>2],i[Q>>2]=i[Q+32>>2],i[Q+4>>2]=g,ng(g=A+B|0,Q,(A=a-A|0)>>>0>=32?32:A),a>>>0>(A=I<<5)>>>0;);NC(Q+288|0,208),s=Q+496|0}function iI(A){var I=0,g=0,C=0;if(!A)return-25;if(!i[A>>2])return-1;if(I=-2,!(o[A+4>>2]<16)&&(i[A+8>>2]||(I=-18,!i[A+12>>2]))){if(g=i[A+20>>2],!i[A+16>>2])return g?-19:-6;if(I=-6,!(g>>>0<8)&&(i[A+24>>2]||(I=-20,!i[A+28>>2]))&&(i[A+32>>2]||(I=-21,!i[A+36>>2]))){if(!(g=i[A+48>>2]))return-16;if(I=-17,!(g>>>0>16777215||(I=-14,(C=i[A+44>>2])>>>0<8||(I=-15,C>>>0>2097152||(I=-14,g<<3>>>0>C>>>0))))){if(!i[A+40>>2])return-12;if(!(A=i[A+52>>2]))return-28;I=A>>>0>16777215?-29:0}}}return I}function rI(A,I,g,C,B,a){var Q,i=0;return s=Q=s-32|0,i=-1,!C&g>>>0<32||(_g(Q,32,0,B,a),aC(I+16|0,I+32|0,g-32|0,C-(g>>>0<32)|0,Q)||(cg(A,I,g,C,B,a),t[A+24|0]=0,t[A+25|0]=0,t[A+26|0]=0,t[A+27|0]=0,t[A+28|0]=0,t[A+29|0]=0,t[A+30|0]=0,t[A+31|0]=0,t[A+16|0]=0,t[A+17|0]=0,t[A+18|0]=0,t[A+19|0]=0,t[A+20|0]=0,t[A+21|0]=0,t[A+22|0]=0,t[A+23|0]=0,t[A+8|0]=0,t[A+9|0]=0,t[A+10|0]=0,t[A+11|0]=0,t[A+12|0]=0,t[A+13|0]=0,t[A+14|0]=0,t[A+15|0]=0,t[0|A]=0,t[A+1|0]=0,t[A+2|0]=0,t[A+3|0]=0,t[A+4|0]=0,t[A+5|0]=0,t[A+6|0]=0,t[A+7|0]=0,i=0)),s=Q+32|0,i}function oI(A,I,g,C,B,a,Q,t,o,n,c){var e,E,_;return s=e=s-384|0,i[e+4>>2]=0,BA(E=e+16|0,n,c,0),c=r[n+20|0]|r[n+21|0]<<8|r[n+22|0]<<16|r[n+23|0]<<24,i[e+8>>2]=r[n+16|0]|r[n+17|0]<<8|r[n+18|0]<<16|r[n+19|0]<<24,i[e+12>>2]=c,Mg(c=e- -64|0,64,0,_=e+4|0,E),BC(n=e+128|0,c),NC(c,64),rC(n,Q,t,o),rC(n,35312,0-t&15,0),Hg(A,C,B,a,_,E),rC(n,A,B,a),rC(n,35312,0-B&15,0),i[e+56>>2]=t,i[e+60>>2]=o,rC(n,A=e+56|0,8,0),i[e+56>>2]=B,i[e+60>>2]=a,rC(n,A,8,0),QC(n,I),NC(n,256),g&&(i[g>>2]=16,i[g+4>>2]=0),NC(e+16|0,32),s=e+384|0,0}function nI(A,I,g,C,B){var a,Q,t=0;return s=a=s+-64|0,!g&(Q=UI(A))>>>0<128?(i[a+56>>2]=0,i[a+48>>2]=0,i[a+52>>2]=0,i[a+40>>2]=0,i[a+44>>2]=0,g=0,Q&&(g=Q,(1|Q)>>>0<65536||(g=Q)),!(t=S(g))|!(3&r[t-4|0])||yg(t,0,g),t?(i[a+32>>2]=0,i[a+36>>2]=0,i[a+8>>2]=t,i[a+16>>2]=t,i[a+20>>2]=Q,i[a>>2]=t,i[a+12>>2]=Q,i[a+24>>2]=0,i[a+28>>2]=0,i[a+4>>2]=Q,vA(a,A,B)?(i[9129]=28,A=-1):A=i[a+40>>2]!=(0|I)|i[a+44>>2]!=(C>>>10|0),j(t)):A=-1):(i[9129]=28,A=-1),s=a- -64|0,A}function cI(A,I,g,C){var B,a=0;return s=B=s-208|0,i[B+72>>2]=0,i[B+76>>2]=0,a=i[8603],i[B+8>>2]=i[8602],i[B+12>>2]=a,a=i[8605],i[B+16>>2]=i[8604],i[B+20>>2]=a,a=i[8607],i[B+24>>2]=i[8606],i[B+28>>2]=a,a=i[8609],i[B+32>>2]=i[8608],i[B+36>>2]=a,a=i[8611],i[B+40>>2]=i[8610],i[B+44>>2]=a,a=i[8613],i[B+48>>2]=i[8612],i[B+52>>2]=a,a=i[8615],i[B+56>>2]=i[8614],i[B+60>>2]=a,i[B+64>>2]=0,i[B+68>>2]=0,a=i[8601],i[B>>2]=i[8600],i[B+4>>2]=a,cA(B,I,g,C),K(B,A),s=B+208|0,0}function eI(A,I){var g=0,C=0;A:if(C=255&I){if(3&A)for(;;){if(!(g=r[0|A])|(0|g)==(255&I))break A;if(!(3&(A=A+1|0)))break}I:if(!((-1^(g=i[A>>2]))&g-16843009&-2139062144))for(C=n(C,16843009);;){if((-1^(g^=C))&g-16843009&-2139062144)break I;if(g=i[A+4>>2],A=A+4|0,g-16843009&(-1^g)&-2139062144)break}for(;g=A,(C=r[0|A])&&(A=g+1|0,(0|C)!=(255&I)););A=g}else A=UI(A)+A|0;return r[0|A]==(255&I)?A:0}function EI(A,I){var g,C=0,B=0,a=0;if(t[15+(g=s-16|0)|0]=0,I){if(B=3&I,I>>>0>=4)for(a=-4&I,I=0;t[g+15|0]=r[A+C|0]|r[g+15|0],t[g+15|0]=r[(1|C)+A|0]|r[g+15|0],t[g+15|0]=r[(2|C)+A|0]|r[g+15|0],t[g+15|0]=r[(3|C)+A|0]|r[g+15|0],C=C+4|0,(0|a)!=(0|(I=I+4|0)););if(B)for(I=0;t[g+15|0]=r[A+C|0]|r[g+15|0],C=C+1|0,(0|B)!=(0|(I=I+1|0)););}return r[g+15|0]-1>>>8&1}function _I(A){var I=0;return i[64+(A|=0)>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,I=i[8601],i[A>>2]=i[8600],i[A+4>>2]=I,I=i[8603],i[A+8>>2]=i[8602],i[A+12>>2]=I,I=i[8605],i[A+16>>2]=i[8604],i[A+20>>2]=I,I=i[8607],i[A+24>>2]=i[8606],i[A+28>>2]=I,I=i[8609],i[A+32>>2]=i[8608],i[A+36>>2]=I,I=i[8611],i[A+40>>2]=i[8610],i[A+44>>2]=I,I=i[8613],i[A+48>>2]=i[8612],i[A+52>>2]=I,I=i[8615],i[A+56>>2]=i[8614],i[A+60>>2]=I,0}function yI(A){return((127&(-1^r[A+31|0])|r[A+1|0]&r[A+2|0]&r[A+3|0]&r[A+4|0]&r[A+5|0]&r[A+6|0]&r[A+7|0]&r[A+8|0]&r[A+9|0]&r[A+10|0]&r[A+11|0]&r[A+12|0]&r[A+13|0]&r[A+14|0]&r[A+15|0]&r[A+16|0]&r[A+17|0]&r[A+18|0]&r[A+19|0]&r[A+20|0]&r[A+21|0]&r[A+22|0]&r[A+23|0]&r[A+24|0]&r[A+25|0]&r[A+26|0]&r[A+27|0]&r[A+28|0]&r[A+30|0]&r[A+29|0]^255)-1&236-r[0|A]^-1)>>>8&1}function sI(A,I,g){var C,B=0,a=0;if(i[12+(C=s-16|0)>>2]=A,i[C+8>>2]=I,A=0,t[C+7|0]=0,g){if(I=1&g,1!=(0|g))for(a=-2&g,g=0;t[C+7|0]=r[C+7|0]|r[i[C+12>>2]+A|0]^r[i[C+8>>2]+A|0],B=1|A,t[C+7|0]=r[C+7|0]|r[B+i[C+12>>2]|0]^r[i[C+8>>2]+B|0],A=A+2|0,(0|a)!=(0|(g=g+2|0)););I&&(t[C+7|0]=r[C+7|0]|r[i[C+12>>2]+A|0]^r[i[C+8>>2]+A|0])}return(r[C+7|0]-1>>>8&1)-1|0}function pI(A){for(var I=0,g=0,C=0,B=0,a=0,Q=0,t=0,i=0,o=0,n=0;B=(g=r[A+C|0])^r[0|(I=C+2704|0)]|B,a=g^r[I+192|0]|a,Q=g^r[I+160|0]|Q,t=g^r[I+128|0]|t,i=g^r[I+96|0]|i,o=g^r[I- -64|0]|o,n=g^r[I+32|0]|n,31!=(0|(C=C+1|0)););return((255&((I=127^(A=127&r[A+31|0]))|a))-1|(255&(I|Q))-1|(255&(I|t))-1|(255&(122^A|i))-1|(255&(5^A|o))-1|(255&(A|n))-1|(255&(A|B))-1)>>>8&1}function fI(A,I,g){var C=0,B=0,a=0,Q=0;return B=31&(a=Q=63&g),a=a>>>0>=32?-1>>>B|0:(C=-1>>>B|0)|(1<>>0>=32?(C=a<>>32-B|C<>>0>=32?(C=-1<>>32-C,A&=g,I&=C,C=31&B,B>>>0>=32?(g=0,A=I>>>C|0):(g=I>>>C|0,A=((1<>>C),h=g|a,A|Q}function hI(A,I,g,C,B,a){A|=0,I|=0,g|=0;var Q=0,t=0;A:I:{g:{if(!(!(B|=0)&(C|=0)>>>0<64||(t=1+(B=B-1|0)|0,Q=B,!(C=(B=C+-64|0)>>>0<4294967232?t:Q)&B>>>0>4294967231|C))){if(!G(Q=g,g=g- -64|0,B,C,a|=0,0))break g;A&&yg(A,0,B)}if(C=-1,!I)break I;i[I>>2]=0,i[I+4>>2]=0,C=-1;break A}I&&(i[I>>2]=B,i[I+4>>2]=C),C=0,A&&Ag(A,g,B)}return 0|C}function lI(A,I,g,C,B,a,Q,t,r,o){var n,c,e;return s=n=s-352|0,Mg(e=n+32|0,64,0,r,o),BC(c=n+96|0,e),NC(e,64),rC(c,a,Q,t),rC(c,34352,0-Q&15,0),rC(c,I,g,C),rC(c,34352,0-g&15,0),i[n+24>>2]=Q,i[n+28>>2]=t,rC(c,a=n+24|0,8,0),i[n+24>>2]=g,i[n+28>>2]=C,rC(c,a,8,0),QC(c,n),NC(c,256),a=WA(n,B),NC(n,16),A&&(a?(yg(A,0,g),a=-1):(qI(A,I,g,C,r,1,o),a=0)),s=n+352|0,a}function uI(A,I,g,C,B,a){var Q,t;return A|=0,I|=0,g|=0,C|=0,a|=0,s=Q=s-32|0,t=r[0|(B|=0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,B=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[Q+24>>2]=0,i[Q+28>>2]=0,i[Q+16>>2]=t,i[Q+20>>2]=B,i[Q+8>>2]=0,i[Q+12>>2]=0,i[Q>>2]=g,i[Q+4>>2]=C,I-65>>>0<=4294967246?(i[9129]=28,A=-1):A=V(A,I,0,0,0,a,32,Q,Q+16|0),s=Q+32|0,0|A}function DI(A,I,g,C,B){var a,Q;return A|=0,I|=0,g|=0,C|=0,s=a=s-512|0,XA(Q=a+32|0,B|=0,32),_C(Q,I,g,C),Qg(Q,a+448|0),I=i[a+476>>2],i[a+24>>2]=i[a+472>>2],i[a+28>>2]=I,I=i[a+468>>2],i[a+16>>2]=i[a+464>>2],i[a+20>>2]=I,I=i[a+460>>2],i[a+8>>2]=i[a+456>>2],i[a+12>>2]=I,I=i[a+452>>2],i[a>>2]=i[a+448>>2],i[a+4>>2]=I,I=nC(A,a),g=sI(a,A,32),s=a+512|0,g|((0|A)==(0|a)?-1:I)}function wI(A,I,g,C,B,a,Q,t,r,o){var n,c,e;return s=n=s-352|0,bg(e=n+32|0,64,0,r,o),BC(c=n+96|0,e),NC(e,64),rC(c,a,Q,t),i[n+24>>2]=Q,i[n+28>>2]=t,rC(c,a=n+24|0,8,0),rC(c,I,g,C),i[n+24>>2]=g,i[n+28>>2]=C,rC(c,a,8,0),QC(c,n),NC(c,256),a=WA(n,B),NC(n,16),A&&(a?(yg(A,0,g),a=-1):(hg(A,I,g,C,r,1,0,o),a=0)),s=n+352|0,a}function mI(A,I,g,C,B,a,Q,t,r,o,n){var c,e,E;return s=c=s-336|0,Mg(E=c+16|0,64,0,o,n),BC(e=c+80|0,E),NC(E,64),rC(e,Q,t,r),rC(e,34352,0-t&15,0),qI(A,C,B,a,o,1,n),rC(e,A,B,a),rC(e,34352,0-B&15,0),i[c+8>>2]=t,i[c+12>>2]=r,rC(e,A=c+8|0,8,0),i[c+8>>2]=B,i[c+12>>2]=a,rC(e,A,8,0),QC(e,I),NC(e,256),g&&(i[g>>2]=16,i[g+4>>2]=0),s=c+336|0,0}function kI(A,I){var g,C=0,B=0,a=0,Q=0,t=0;A:if(!(((g=r[0|A])-58&255)>>>0<246)){for(B=g,C=A;;){if(Q=C,a>>>0>429496729)break A;if((B=(255&B)-48|0)>>>0>(-1^(C=n(a,10)))>>>0)break A;if(a=C+B|0,!(((B=r[0|(C=Q+1|0)])-58&255)>>>0>245))break}48==(0|g)&(0|A)!=(0|Q)|(0|A)==(0|C)||(i[I>>2]=a,t=C)}return t}function FI(A){var I=0,g=0,C=0,B=0;I=65,g=1024;A:{I:{if(r[1024]!=(255&A))for(B=n(255&A,16843009);;){if((-1^(C=i[g>>2]^B))&C-16843009&-2139062144)break I;if(g=g+4|0,!((I=I-4|0)>>>0>3))break}if(!I)break A}for(A&=255;;){if((0|A)==r[0|g])return g;if(g=g+1|0,!(I=I-1|0))break}}return 0}function SI(A,I,g,C,B,a,Q,t,r,o,n){var c,e,E;return s=c=s-336|0,bg(E=c+16|0,64,0,o,n),BC(e=c+80|0,E),NC(E,64),rC(e,Q,t,r),i[c+8>>2]=t,i[c+12>>2]=r,rC(e,Q=c+8|0,8,0),hg(A,C,B,a,o,1,0,n),rC(e,A,B,a),i[c+8>>2]=B,i[c+12>>2]=a,rC(e,Q,8,0),QC(e,I),NC(e,256),g&&(i[g>>2]=16,i[g+4>>2]=0),s=c+336|0,0}function GI(A,I,g,C,B,a){return!C&g>>>0>=32|C?(cg(A,I,g,C,B,a),gC(A+16|0,A+32|0,g-32|0,C-(g>>>0<32)|0,A),t[A+8|0]=0,t[A+9|0]=0,t[A+10|0]=0,t[A+11|0]=0,t[A+12|0]=0,t[A+13|0]=0,t[A+14|0]=0,t[A+15|0]=0,t[0|A]=0,t[A+1|0]=0,t[A+2|0]=0,t[A+3|0]=0,t[A+4|0]=0,t[A+5|0]=0,t[A+6|0]=0,t[A+7|0]=0,A=0):A=-1,A}function NI(A,I,g,C,B,a){I|=0,B|=0,a|=0;var Q,t=0;return s=Q=s-16|0,u(A|=0,Q+8|0,Ag(A- -64|0,g|=0,C|=0),C,B,a,0),i[Q+12>>2]|64!=i[Q+8>>2]?(I&&(i[I>>2]=0,i[I+4>>2]=0),yg(A,0,C- -64|0),t=-1):I&&(i[I>>2]=C- -64,i[I+4>>2]=B-((C>>>0<4294967232)-1|0)),s=Q+16|0,0|t}function bI(A,I){var g,C=0,B=0,a=0,Q=0;return(g=FI(r[0|I]))&&(C=FI(r[I+1|0]))&&(B=FI(r[I+2|0]))&&(a=FI(r[I+3|0]))&&(Q=FI(r[I+4|0]))?(i[A>>2]=g-1024|C-1024<<6|B-1024<<12|a-1024<<18|Q-1024<<24,I+5|0):(i[A>>2]=0,0)}function MI(A,I,g){var C;for(i[12+(C=s-16|0)>>2]=A,i[C+8>>2]=I,A=0,i[C+4>>2]=0;i[C+4>>2]=i[C+4>>2]|r[i[C+12>>2]+A|0]^r[i[C+8>>2]+A|0],I=1|A,i[C+4>>2]=i[C+4>>2]|r[I+i[C+12>>2]|0]^r[I+i[C+8>>2]|0],(0|g)!=(0|(A=A+2|0)););return(i[C+4>>2]-1>>>8&1)-1|0}function HI(A,I){var g,C=0,B=0,a=0;s=g=s-896|0,iA(C=g+848|0,I),iA(B=g+800|0,I+32|0),R(a=g+320|0,C),R(I=g+160|0,B),RA(C=g+640|0,I),aA(I=g+480|0,a,C),b(g,I,C=g+600|0),b(g+40|0,B=g+520|0,a=g+560|0),b(g+80|0,a,C),b(g+120|0,I,B),x(A,g),s=g+896|0}function YI(A){var I=0,g=0,C=0,B=0;for(I=1;I=r[0|(g=A+C|0)]+I|0,t[0|g]=I,I=r[0|(g=(1|C)+A|0)]+(I>>>8|0)|0,t[0|g]=I,I=r[0|(g=(2|C)+A|0)]+(I>>>8|0)|0,t[0|g]=I,I=r[0|(g=(3|C)+A|0)]+(I>>>8|0)|0,t[0|g]=I,I=I>>>8|0,C=C+4|0,4!=(0|(B=B+4|0)););}function UI(A){var I=0,g=0,C=0;A:{if(3&(I=A))for(;;){if(!r[0|I])break A;if(!(3&(I=I+1|0)))break}for(;g=I,I=I+4|0,!((-1^(C=i[g>>2]))&C-16843009&-2139062144););for(;g=(I=g)+1|0,r[0|I];);}return I-A|0}function JI(A,I,g,C,B,a,Q){var t;return s=t=s-16|0,A=yg(A,0,128),!(C|a)&Q>>>0<2147483649?(!a&B>>>0>=3|0!=(0|a))&Q>>>0>8191?(ZI(t,16),A=Z(B,Q>>>10|0,I,g,t,A,1)?-1:0):(i[9129]=28,A=-1):(i[9129]=22,A=-1),s=t+16|0,A}function dI(A,I){var g=0;4&I&&((I=i[A>>2])&&NC(i[I+4>>2],i[A+16>>2]<<10),(I=i[A+4>>2])&&NC(I,i[A+20>>2]<<3)),j(i[A+4>>2]),i[A+4>>2]=0,(I=i[A>>2])&&(g=i[I>>2])&&j(g),j(I),i[A>>2]=0}function KI(A){var I=0,g=0,C=0,B=0,a=0,Q=0,t=0,i=0;for(I=32,g=1;i=(B=r[(C=I-2|0)+A|0])-(a=r[C+2928|0])>>8&(I=((Q=r[2928+(I=I-1|0)|0])^(t=r[A+I|0]))-1>>8&g)|255&(t-Q>>>8&g|i),g=I&(B^a)-1>>8,I=C;);return 0!=(255&i)}function xI(A,I,g){var C=0,B=0,a=0;if(!g)return 0;A:if(C=r[0|A]){for(;;){if((B=r[0|I])&&!(!(g=g-1|0)|(0|C)!=(0|B))){if(I=I+1|0,C=r[A+1|0],A=A+1|0,C)continue;break A}break}a=C}return(255&a)-r[0|I]|0}function vI(A,I,g,C,B,a,Q){var t;return s=t=s-16|0,A=yg(A,0,128),!(C|a)&Q>>>0<2147483649?!!(B|a)&Q>>>0>8191?(ZI(t,16),A=Z(B,Q>>>10|0,I,g,t,A,2)?-1:0):(i[9129]=28,A=-1):(i[9129]=22,A=-1),s=t+16|0,A}function RI(A){var I=0;return i[32+(A|=0)>>2]=0,i[A+36>>2]=0,I=i[8833],i[A>>2]=i[8832],i[A+4>>2]=I,I=i[8835],i[A+8>>2]=i[8834],i[A+12>>2]=I,I=i[8837],i[A+16>>2]=i[8836],i[A+20>>2]=I,I=i[8839],i[A+24>>2]=i[8838],i[A+28>>2]=I,0}function LI(A,I,g,C,B,a,Q){var t,i=0;return s=t=s+-64|0,i=-1,!C&g>>>0<16||jA(t+32|0,Q,a)||BA(t,35296,t+32|0,0)||(i=QI(A,I+16|0,I,g-16|0,C-(g>>>0<16)|0,B,t),NC(t,32)),s=t- -64|0,i}function PI(A,I,g,C){var B,a,Q,t,i=0,r=0;return t=n(i=g>>>16|0,r=A>>>16|0),i=(65535&(r=((Q=n(B=65535&g,a=65535&A))>>>16|0)+n(r,B)|0))+n(i,a)|0,h=(n(I,g)+t|0)+n(A,C)+(r>>>16)+(i>>>16)|0,65535&Q|i<<16}function qI(A,I,g,C,B,Q,t){var r=0,o=0;if(r=C,!(1==(((r=(o=g+63|0)>>>0<63?r+1|0:r)>>>6|0)+(0!=(0|(r=(63&r)<<26|o>>>6)))|0)&Q>>>0>(o=0-r|0)>>>0|1==(0|C)|C>>>0>1))return 0|IB[i[8937]](A,I,g,C,B,Q,t);$g(),a()}function jI(A,I,g,C,B,a,Q){var t;return A|=0,I|=0,g|=0,C|=0,B|=0,s=t=s+-64|0,jA(t+32|0,Q|=0,a|=0)?a=-1:(a=-1,nA(t,35232,t+32|0,0)||(a=GI(A,I,g,C,B,t),NC(t,32))),s=t- -64|0,0|a}function zI(A,I,g,C,B,a,Q){var t;return A|=0,I|=0,g|=0,C|=0,B|=0,s=t=s+-64|0,jA(t+32|0,Q|=0,a|=0)?a=-1:(a=-1,nA(t,35232,t+32|0,0)||(a=rI(A,I,g,C,B,t),NC(t,32))),s=t- -64|0,0|a}function XI(A,I){for(var g=0,C=0,B=0,a=0,Q=0;g=(r[0|(C=A+B|0)]-r[I+B|0]|0)+g|0,t[0|C]=g,g=(r[0|(a=(C=1|B)+A|0)]-r[I+C|0]|0)+(g<<23>>31)|0,t[0|a]=g,g=g<<23>>31,B=B+2|0,64!=(0|(Q=Q+2|0)););}function VI(A,I,g,C,B,Q,t){var i;if(s=i=s+-64|0,!C&g>>>0<4294967280)return jA(i+32|0,t,Q)?t=-1:(t=-1,BA(i,35296,i+32|0,0)||(t=II(A+16|0,A,I,g,C,B,i),NC(i,32))),s=i- -64|0,t;$g(),a()}function WI(A,I){for(var g=0,C=0,B=0,a=0,Q=0;C=A+B|0,g=r[I+B|0]+(r[0|C]+g|0)|0,t[0|C]=g,a=(C=1|B)+A|0,g=r[I+C|0]+(r[0|a]+(g>>>8|0)|0)|0,t[0|a]=g,g=g>>>8|0,B=B+2|0,32!=(0|(Q=Q+2|0)););}function ZI(A,I){A|=0;var g,C=0,B=0,a=0;if(s=g=s-16|0,I|=0)for(;t[g+15|0]=0,B=A+C|0,a=0|e(35752,g+15|0,0),t[0|B]=a,(0|(C=C+1|0))!=(0|I););s=g+16|0}function OI(A,I,g,C,B,a,Q){var t,i=0;return s=t=s-32|0,i=-1,!C&g>>>0<16||Zg(t,a,Q)||(i=aI(A,I+16|0,I,g-16|0,C-(g>>>0<16)|0,B,t),NC(t,32)),s=t+32|0,i}function TI(A){var I,g;return(A=(I=i[8924])+(g=A+7&-8)|0)>>>0<=I>>>0&&g||A>>>0>gB()<<16>>>0&&!(0|y(0|A))?(i[9129]=48,-1):(i[8924]=A,I)}function $I(A,I){var g,C,B;s=g=s-176|0,NA(C=g+96|0,I+80|0),b(B=g+48|0,I,C),b(g,I+40|0,C),zA(A,g),zA(g+144|0,B),t[A+31|0]=r[A+31|0]^r[g+144|0]<<7,s=g+176|0}function Ag(A,I,g){var C=0;if(A>>>0>>0)return ng(A,I,g);if(g)for(C=A+g|0,I=I+g|0;I=I-1|0,t[0|(C=C-1|0)]=r[0|I],g=g-1|0;);return A}function Ig(A,I,g,C,B,Q,t){var i,r=0;if(s=i=s-32|0,!C&g>>>0<4294967280)return r=-1,Zg(i,Q,t)||(r=gI(A+16|0,A,I,g,C,B,i),NC(i,32)),s=i+32|0,r;$g(),a()}function gg(A,I,g,C,B,a,Q,t,i,r){var o,n=0,c=0,e=0;return s=o=s-16|0,n=-1,Wg(o)||(c=-1,e=$(o,A,I,g,C,B,a,Q,t,i,r),n=Fg(o)?c:e),s=o+16|0,n}function Cg(A,I,g,C,B,a){return I|=0,0|(!(C|=0)&(g|=0)>>>0>=16|C?aI(A|=0,I+16|0,I,g-16|0,C-(g>>>0<16)|0,B|=0,a|=0):-1)}function Bg(A,I,g,C,B,a){return I|=0,0|(!(C|=0)&(g|=0)>>>0>=16|C?QI(A|=0,I+16|0,I,g-16|0,C-(g>>>0<16)|0,B|=0,a|=0):-1)}function ag(A,I,g){A|=0;var C,B=0;return s=C=s-32|0,B=-1,jA(C,g|=0,I|=0)||(B=nA(A,35232,C,0)),s=C+32|0,0|B}function Qg(A,I){var g;return I|=0,s=g=s+-64|0,K(A|=0,g),cA(A=A+208|0,g,64,0),K(A,I),NC(g,64),s=g- -64|0,0}function tg(A,I,g,C){var B;return I|=0,g|=0,C|=0,s=B=s+-64|0,K(A|=0,B),A=u(I,g,B,64,0,C,1),s=B- -64|0,0|A}function ig(A,I){var g,C,B;b(A,I,g=I+120|0),b(A+40|0,C=I+40|0,B=I+80|0),b(A+80|0,B,g),b(A+120|0,I,C)}function rg(A,I,g,C,B,a,Q){return 0|vI(A|=0,I|=0,(A=0)|(g|=0),C|=0,A|(B|=0),a|=0,Q|=0)}function og(A,I){var g;return I|=0,s=g=s-32|0,lA(A|=0,g),sA(A=A+104|0,g,32,0),lA(A,I),NC(g,32),s=g+32|0,0}function ng(A,I,g){var C=0;if(g)for(C=A;t[0|C]=r[0|I],C=C+1|0,I=I+1|0,g=g-1|0;);return A}function cg(A,I,g,C,B,a){var Q;return s=Q=s-32|0,nA(Q,B,a,0),A=Lg(A,I,g,C,B+16|0,0,0,Q),NC(Q,32),s=Q+32|0,A}function eg(A){for(A|=0;ZI(A,32),t[A+31|0]=31&r[A+31|0],!KI(A)||EI(A,32););}function Eg(A,I,g){var C;return I|=0,g|=0,s=C=s+-64|0,K(A|=0,C),A=G(I,C,64,0,g,1),s=C- -64|0,0|A}function _g(A,I,g,C,B){var a;return s=a=s-32|0,nA(a,C,B,0),A=CC(A,I,g,C+16|0,a),NC(a,32),s=a+32|0,A}function yg(A,I,g){var C=0;if(g)for(C=A;t[0|C]=I,C=C+1|0,g=g-1|0;);return A}function sg(A,I,g){return A|=0,I|=0,(g|=0)>>>0>=256&&(E(1349,1262,107,1123),a()),0|P(A,I,255&g)}function pg(A,I,g,C,B,a,Q){return 0|gI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)}function fg(A,I,g,C,B,a,Q){return 0|aI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)}function hg(A,I,g,C,B,Q,t,r){return 1==(0|C)|C>>>0>1&&($g(),a()),0|IB[i[8936]](A,I,g,C,B,Q,t,r)}function lg(A,I,g,C,B,a,Q){return 0|II(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)}function ug(A,I,g,C,B,a,Q){return 0|QI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)}function Dg(A,I,g,C,B,Q){return 1==(0|C)|C>>>0>1&&($g(),a()),0|IB[i[8936]](A,I,g,C,B,0,0,Q)}function wg(A,I,g,C,B,Q){return 1==(0|C)|C>>>0>1&&($g(),a()),0|IB[i[8937]](A,I,g,C,B,0,Q)}function mg(A,I,g,C,B,a){return u(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,0),0}function kg(A,I){var g=0;return(-1>>>(g=31&I)&A)<>>A}function Fg(A){var I;return(I=i[A>>2])&&j(I),i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,0}function Sg(A,I,g,C,B,a){return 0|GI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)}function Gg(A,I,g,C,B,a){return 0|rI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)}function Ng(A,I,g,C,B,a){return 0|cg(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)}function bg(A,I,g,C,B){return 1==(0|g)|g>>>0>1&&($g(),a()),0|IB[i[8934]](A,I,g,C,B)}function Mg(A,I,g,C,B){return 1==(0|g)|g>>>0>1&&($g(),a()),0|IB[i[8935]](A,I,g,C,B)}function Hg(A,I,g,C,B,Q){1==(0|C)|C>>>0>1&&($g(),a()),IB[i[8937]](A,I,g,C,B,1,Q)}function Yg(A,I,g,C,B){return 0|G(A|=0,I|=0,g|=0,C|=0,B|=0,0)}function Ug(A,I,g,C,B){return 0|gC(A|=0,I|=0,g|=0,C|=0,B|=0)}function Jg(A,I,g,C,B){return 0|aC(A|=0,I|=0,g|=0,C|=0,B|=0)}function dg(A,I,g,C,B){return 0|_g(A|=0,I|=0,g|=0,C|=0,B|=0)}function Kg(){var A;s=A=s-16|0,t[A+15|0]=0,e(35788,A+15|0,0),s=A+16|0}function xg(A,I,g,C){return z(A|=0,I|=0,g|=0,C|=0,20),0}function vg(A,I,g,C){return z(A|=0,I|=0,g|=0,C|=0,12),0}function Rg(A,I,g,C){return z(A|=0,I|=0,g|=0,C|=0,8),0}function Lg(A,I,g,C,B,a,Q,t){return 0|IB[i[8933]](A,I,g,C,B,a,Q,t)}function Pg(A,I,g,C){return 0|_C(A|=0,I|=0,g|=0,C|=0)}function qg(A,I,g,C){return 0|cI(A|=0,I|=0,g|=0,C|=0)}function jg(A,I,g,C){return 0|rC(A|=0,I|=0,g|=0,C|=0)}function zg(A,I,g,C){return 0|cA(A|=0,I|=0,g|=0,C|=0)}function Xg(A,I,g,C){return 0|CA(A|=0,I|=0,g|=0,C|=0)}function Vg(A,I,g,C,B,a){return 0|IB[i[8933]](A,I,g,C,B,0,0,a)}function Wg(A){return i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,0}function Zg(A,I,g){return 0|ag(A|=0,I|=0,g|=0)}function Og(A,I,g){return 0|jA(A|=0,I|=0,g|=0)}function Tg(A,I,g){return 0|sg(A|=0,I|=0,g|=0)}function $g(){var A;(A=i[9261])&&IB[0|A](),_(),a()}function AC(A,I){return A|=0,ZI(I|=0,32),0|IC(A,I)}function IC(A,I){return A|=0,I|=0,0|IB[i[8931]](A,I)}function gC(A,I,g,C,B){return 0|IB[i[8925]](A,I,g,C,B)}function CC(A,I,g,C,B){return 0|IB[i[8932]](A,I,g,C,B)}function BC(A,I){return A|=0,I|=0,0|IB[i[8927]](A,I)}function aC(A,I,g,C,B){return 0|IB[i[8926]](A,I,g,C,B)}function QC(A,I){return A|=0,I|=0,0|IB[i[8929]](A,I)}function tC(A,I,g,C,B,a,Q){return mA(A,I,g,C,B,a,Q)}function iC(A){return A?31-c(A-1^A)|0:32}function rC(A,I,g,C){return 0|IB[i[8928]](A,I,g,C)}function oC(A,I){return 0|MI(A|=0,I|=0,64)}function nC(A,I){return 0|MI(A|=0,I|=0,32)}function cC(A,I,g){D(A|=0,I|=0,g|=0)}function eC(A,I){return 0|IC(A|=0,I|=0)}function EC(A,I){return 0|AC(A|=0,I|=0)}function _C(A,I,g,C){return cA(A,I,g,C),0}function yC(A,I,g,C){return sA(A,I,g,C),0}function sC(A,I,g,C){return qA(A,I,g,C,1)}function pC(A,I,g,C){return nI(A,I,g,C,1)}function fC(A,I,g,C){return nI(A,I,g,C,2)}function hC(A,I,g,C){return qA(A,I,g,C,2)}function lC(A,I,g,C){return JA(A,I,g,C)}function uC(A){return _I(A|=0),0}function DC(){return-2147483648}function wC(){return 1073741824}function mC(){return 268435456}function kC(A){ZI(A|=0,32)}function FC(){return 33554432}function SC(){return 67108864}function GC(){return 16777216}function NC(A,I){yg(A,0,I)}function bC(){return 8192}function MC(){return 1559}function HC(){return 208}function YC(){return 1321}function UC(){return 384}function JC(){return 416}function dC(){return 256}function KC(){return 128}function xC(){return 64}function vC(){return 16}function RC(){return 32}function LC(){return 48}function PC(){return-17}function qC(){return 24}function jC(){return 12}function zC(){return-65}function XC(){return 4}function VC(){return 1}function WC(){return 3}function ZC(){return-1}function OC(){return 2}function TC(){return 0}function $C(){return 8}B(I=r,1024,"Li8wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egBqcwByYW5kb21ieXRlcwBiNjRfcG9zIDw9IGI2NF9sZW4AY3J5cHRvX2dlbmVyaWNoYXNoX2JsYWtlMmJfZmluYWwAJGFyZ29uMmkAJGFyZ29uMmlkAHJhbmRvbWJ5dGVzL3JhbmRvbWJ5dGVzLmMAc29kaXVtL2NvZGVjcy5jAGNyeXB0b19nZW5lcmljaGFzaC9ibGFrZTJiL3JlZi9ibGFrZTJiLXJlZi5jAGNyeXB0b19nZW5lcmljaGFzaC9ibGFrZTJiL3JlZi9nZW5lcmljaGFzaF9ibGFrZTJiLmMAeDI1NTE5Ymxha2UyYgBidWZfbGVuIDw9IFNJWkVfTUFYAG91dGxlbiA8PSBVSU5UOF9NQVgAUy0+YnVmbGVuIDw9IEJMQUtFMkJfQkxPQ0tCWVRFUwAkYXJnb24yaSR2PQAkYXJnb24yaWQkdj0ALHQ9ACxwPQAkbT0AY3VydmUyNTUxOQBlZDI1NTE5ADEuMC4xOABobWFjc2hhNTEyMjU2AGN1cnZlMjU1MTl4c2Fsc2EyMHBvbHkxMzA1AHNvZGl1bV9iaW4yYmFzZTY0AHNpcGhhc2gyNABzaGE1MTIAeHNhbHNhMjAAJGFyZ29uMmkkACRhcmdvbjJpZCQAJDckAExpYnNvZGl1bURSRw=="),B(I,1600,"tnhZ/4Vy0wC9bhX/DwpqACnAAQCY6Hn/vDyg/5lxzv8At+L+tA1I/wAAAAAAAAAAsKAO/tPJhv+eGI8Af2k1AGAMvQCn1/v/n0yA/mpl4f8e/AQAkgyu"),B(I,1696,"WfGy/grlpv973Sr+HhTUAFKAAwAw0fMAd3lA/zLjnP8AbsUBZxuQ"),B(I,1744,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/"),B(I,2736,"AQ=="),B(I,2768,"JuiVj8KyJ7BFw/SJ8u+Y8NXfrAXTxjM5sTgCiG1T/AXHF2pwPU3YT7o8C3YNEGcPKiBT+iw5zMZOx/13kqwDeuz///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f+3T9VwaYxJY1pz3ot753hQ="),B(I,2959,"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"),B(I,33980,"AQAAAHbBXwBlcAL/UPyh/vJqxv+FBrIA5N9wAN/uVf4z8xoAPiuL/stBCg=="),B(I,34032,"M03tAJGqVv82JjP/8YBl/yl5Sv/sTpsAqZdp/pwpSADCZq//zqJl/wAAAAAAAAAAGy57ARKo/f/Tr5f+w9tgADh2vv7+0fX/mWR+/uiBFf81uPL/x6Td"),B(I,34160,"AQ=="),B(I,34192,"4Ot6fDtBuK4WVuP68Z/EatoJjeucMrH9hmIFFl9JuABfnJW8o1CMJLHQsVWcg+9bBERcxFgcjobYIk7d0J8RV+z///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////fw=="),B(I,34368,"7dP1XBpjEljWnPei3vneFA=="),B(I,34399,"EAjJvPNn5glqO6fKhIWuZ7sr+JT+cvNuPPE2HV869U+l0YLmrX9SDlEfbD4rjGgFm2u9Qfur2YMfeSF+ExnN4FsirijXmC+KQs1l7yORRDdxLztN7M/7wLW824mBpdu16Ti1SPNbwlY5GdAFtvER8VmbTxmvpII/khiBbdrVXhyrQgIDo5iqB9i+b3BFAVuDEoyy5E6+hTEk4rT/1cN9DFVviXvydF2+crGWFjv+sd6ANRLHJacG3JuUJmnPdPGbwdJK8Z7BaZvk4yVPOIZHvu+11YyLxp3BD2WcrHfMoQwkdQIrWW8s6S2D5KZuqoR0StT7Qb3cqbBctVMRg9qI+Xar32buUlE+mBAytC1txjGoPyH7mMgnA7DkDu++x39Zv8KPqD3zC+DGJacKk0eRp9VvggPgUWPKBnBuDgpnKSkU/C/SRoUKtycmySZcOCEbLu0qxFr8bSxN37OVnRMNOFPeY6+LVHMKZaiydzy7Cmp25q7tRy7JwoE7NYIUhSxykmQD8Uyh6L+iATBCvEtmGqiRl/jQcItLwjC+VAajUWzHGFLv1hnoktEQqWVVJAaZ1iogcVeFNQ70uNG7MnCgahDI0NK4FsGkGVOrQVEIbDcemeuO30x3SCeoSJvhtbywNGNaycWzDBw5y4pB40qq2E5z42N3T8qcW6O4stbzby5o/LLvXe6Cj3RgLxdDb2OleHKr8KEUeMiE7DlkGggCx4woHmMj+v++kOm9gt7rbFCkFXnGsvej+b4rU3Lj8nhxxpxhJurOPifKB8LAIce4htEe6+DN1n3a6njRbu5/T331um8Xcqpn8AammMiixX1jCq4N+b4EmD8RG0ccEzULcRuEfQQj9XfbKJMkx0B7q8oyvL7JFQq+njxMDRCcxGcdQ7ZCPsu+1MVMKn5l/Jwpf1ns+tY6q2/LXxdYR0qMGURsgA=="),B(I,35248,"U2lnRWQyNTUxOSBubyBFZDI1NTE5IGNvbGxpc2lvbnMB"),B(I,35328,"Z+YJaoWuZ7ty8248OvVPpX9SDlGMaAWbq9mDHxnN4FuYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGgA=="),B(I,35696,"wJABAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0=");var AB,IB=(AB=[null,function(A,I,g,C,B){var a,Q,o;return A|=0,I|=0,g|=0,C|=0,B|=0,s=a=(Q=s)-128&-64,i[a>>2]=67108863&(r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),i[a+4>>2]=(r[B+3|0]|r[B+4|0]<<8|r[B+5|0]<<16|r[B+6|0]<<24)>>>2&67108611,i[a+8>>2]=(r[B+6|0]|r[B+7|0]<<8|r[B+8|0]<<16|r[B+9|0]<<24)>>>4&67092735,i[a+12>>2]=(r[B+9|0]|r[B+10|0]<<8|r[B+11|0]<<16|r[B+12|0]<<24)>>>6&66076671,o=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+20>>2]=0,i[a+24>>2]=0,i[a+28>>2]=0,i[a+32>>2]=0,i[a+36>>2]=0,i[a+16>>2]=o>>>8&1048575,i[a+40>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+44>>2]=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+48>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,B=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,t[a+80|0]=0,i[a+56>>2]=0,i[a+60>>2]=0,i[a+52>>2]=B,FA(a,I,g,C),PA(a,A),s=Q,0},function(A,I,g,C,B){var a,Q,o;return A|=0,I|=0,g|=0,C|=0,B|=0,s=a=(Q=s)-192&-64,i[a+64>>2]=67108863&(r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),i[a+68>>2]=(r[B+3|0]|r[B+4|0]<<8|r[B+5|0]<<16|r[B+6|0]<<24)>>>2&67108611,i[a+72>>2]=(r[B+6|0]|r[B+7|0]<<8|r[B+8|0]<<16|r[B+9|0]<<24)>>>4&67092735,i[a+76>>2]=(r[B+9|0]|r[B+10|0]<<8|r[B+11|0]<<16|r[B+12|0]<<24)>>>6&66076671,o=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+84>>2]=0,i[a+88>>2]=0,i[a+92>>2]=0,i[a+96>>2]=0,i[a+100>>2]=0,i[a+80>>2]=o>>>8&1048575,i[a+104>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+108>>2]=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+112>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,B=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,t[a+144|0]=0,i[a+120>>2]=0,i[a+124>>2]=0,i[a+116>>2]=B,FA(B=a- -64|0,I,g,C),PA(B,I=a+48|0),A=WA(A,I),s=Q,0|A},function(A,I){var g;return I|=0,i[(A|=0)>>2]=67108863&(r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24),i[A+4>>2]=(r[I+3|0]|r[I+4|0]<<8|r[I+5|0]<<16|r[I+6|0]<<24)>>>2&67108611,i[A+8>>2]=(r[I+6|0]|r[I+7|0]<<8|r[I+8|0]<<16|r[I+9|0]<<24)>>>4&67092735,i[A+12>>2]=(r[I+9|0]|r[I+10|0]<<8|r[I+11|0]<<16|r[I+12|0]<<24)>>>6&66076671,g=r[I+12|0]|r[I+13|0]<<8|r[I+14|0]<<16|r[I+15|0]<<24,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+16>>2]=g>>>8&1048575,i[A+40>>2]=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,i[A+44>>2]=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,i[A+48>>2]=r[I+24|0]|r[I+25|0]<<8|r[I+26|0]<<16|r[I+27|0]<<24,I=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,t[A+80|0]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+52>>2]=I,0},function(A,I,g,C){return FA(A|=0,I|=0,g|=0,C|=0),0},function(A,I){return PA(A|=0,I|=0),0},function(A,I,g){A|=0,I|=0,g|=0;var C,B=0,a=0,Q=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,M=0,H=0,Y=0,J=0,d=0,K=0,x=0,v=0,R=0,L=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0,QA=0,tA=0,rA=0,oA=0,nA=0,cA=0,eA=0,EA=0,_A=0,yA=0,sA=0,pA=0,fA=0,hA=0,lA=0,uA=0;for(s=C=s-368|0;p=(Q=r[g+B|0])^r[0|(n=B+34128|0)]|p,_=Q^r[n+192|0]|_,y=Q^r[n+160|0]|y,E=Q^r[n+128|0]|E,o=Q^r[n+96|0]|o,c=Q^r[n- -64|0]|c,a=Q^r[n+32|0]|a,31!=(0|(B=B+1|0)););if(B=-1,!(256&((255&((Q=127^(n=127&r[g+31|0]))|_))-1|(255&(Q|y))-1|(255&(Q|E))-1|(255&(87^n|o))-1|(255&(c|n))-1|(255&(a|n))-1|(255&(n|p))-1))){for(B=I,I=r[I+28|0]|r[I+29|0]<<8|r[I+30|0]<<16|r[I+31|0]<<24,i[C+360>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,i[C+364>>2]=I,I=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[C+352>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[C+356>>2]=I,a=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,I=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[C+336>>2]=I,i[C+340>>2]=a,a=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[C+344>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[C+348>>2]=a,t[C+336|0]=248&I,t[C+367|0]=63&r[C+367|0]|64,iA(C+288|0,g),i[C+260>>2]=0,i[C+264>>2]=0,i[C+268>>2]=0,i[C+272>>2]=0,i[C+276>>2]=0,i[C+208>>2]=0,i[C+212>>2]=0,i[C+216>>2]=0,i[C+220>>2]=0,i[C+224>>2]=0,i[C+228>>2]=0,i[C+244>>2]=0,i[C+248>>2]=0,i[C+240>>2]=1,i[C+252>>2]=0,i[C+256>>2]=0,i[C+192>>2]=0,i[C+196>>2]=0,i[C+200>>2]=0,i[C+204>>2]=0,I=i[C+316>>2],i[C+168>>2]=i[C+312>>2],i[C+172>>2]=I,I=i[C+308>>2],i[C+160>>2]=i[C+304>>2],i[C+164>>2]=I,I=i[C+300>>2],i[C+152>>2]=i[C+296>>2],i[C+156>>2]=I,I=i[C+292>>2],i[C+144>>2]=i[C+288>>2],i[C+148>>2]=I,I=i[C+324>>2],i[C+176>>2]=i[C+320>>2],i[C+180>>2]=I,i[C+116>>2]=0,i[C+120>>2]=0,i[C+124>>2]=0,i[C+128>>2]=0,i[C+132>>2]=0,i[C+100>>2]=0,i[C+104>>2]=0,i[C+96>>2]=1,i[C+108>>2]=0,i[C+112>>2]=0,g=254;W=i[C+276>>2],Q=i[C+180>>2],Z=i[C+96>>2],O=i[C+192>>2],T=i[C+144>>2],$=i[C+240>>2],AA=i[C+100>>2],IA=i[C+196>>2],gA=i[C+148>>2],CA=i[C+244>>2],G=i[C+104>>2],BA=i[C+200>>2],N=i[C+152>>2],aA=i[C+248>>2],J=i[C+108>>2],QA=i[C+204>>2],M=i[C+156>>2],tA=i[C+252>>2],H=i[C+112>>2],rA=i[C+208>>2],F=i[C+160>>2],oA=i[C+256>>2],p=i[C+116>>2],nA=i[C+212>>2],e=i[C+164>>2],cA=i[C+260>>2],_=i[C+120>>2],eA=i[C+216>>2],y=i[C+168>>2],EA=i[C+264>>2],E=i[C+124>>2],_A=i[C+220>>2],o=i[C+172>>2],yA=i[C+268>>2],c=i[C+128>>2],sA=i[C+224>>2],a=i[C+176>>2],pA=i[C+272>>2],fA=g,S=(m=(I=0-((I=V)^(V=r[C+336+(g>>>3)|0]>>>(7&g)&1))|0)&((B=i[C+132>>2])^(q=i[C+228>>2])))^B,i[C+132>>2]=S,j=Q^(l=I&(Q^W)),i[C+84>>2]=j-S,Y=c^(u=I&(c^sA)),i[C+128>>2]=Y,z=(k=I&(a^pA))^a,i[C+80>>2]=z-Y,K=E^(D=I&(E^_A)),i[C+124>>2]=K,hA=o^(w=I&(o^yA)),i[C+76>>2]=hA-K,x=_^(f=I&(_^eA)),i[C+120>>2]=x,lA=y^(n=I&(y^EA)),i[C+72>>2]=lA-x,v=p^(Q=I&(p^nA)),i[C+116>>2]=v,uA=e^(p=I&(e^cA)),i[C+68>>2]=uA-v,R=H^(_=I&(H^rA)),i[C+112>>2]=R,d=F^(y=I&(F^oA)),i[C+64>>2]=d-R,L=J^(E=I&(J^QA)),i[C+108>>2]=L,X=M^(o=I&(M^tA)),i[C+60>>2]=X-L,P=G^(c=I&(G^BA)),i[C+104>>2]=P,J=N^(a=I&(N^aA)),i[C+56>>2]=J-P,G=AA^(B=I&(AA^IA)),i[C+100>>2]=G,M=gA^(g=I&(gA^CA)),i[C+52>>2]=M-G,N=Z^(H=I&(Z^O)),i[C+96>>2]=N,F=(I&=T^$)^T,i[C+48>>2]=F-N,e=l^W,m^=q,i[C+36>>2]=e-m,l=k^pA,u^=sA,i[C+32>>2]=l-u,k=w^yA,D^=_A,i[C+28>>2]=k-D,w=n^EA,f^=eA,i[C+24>>2]=w-f,n=p^cA,Q^=nA,i[C+20>>2]=n-Q,p=y^oA,_^=rA,i[C+16>>2]=p-_,y=o^tA,E^=QA,i[C+12>>2]=y-E,o=a^aA,c^=BA,i[C+8>>2]=o-c,a=g^CA,B^=IA,i[C+4>>2]=a-B,g=I^$,I=H^O,i[C>>2]=g-I,i[C+276>>2]=e+m,i[C+272>>2]=l+u,i[C+268>>2]=D+k,i[C+264>>2]=f+w,i[C+260>>2]=Q+n,i[C+256>>2]=_+p,i[C+248>>2]=o+c,i[C+244>>2]=B+a,i[C+240>>2]=I+g,i[C+252>>2]=E+y,i[C+228>>2]=S+j,i[C+224>>2]=Y+z,i[C+220>>2]=K+hA,i[C+216>>2]=x+lA,i[C+212>>2]=v+uA,i[C+208>>2]=d+R,i[C+204>>2]=L+X,i[C+200>>2]=J+P,i[C+196>>2]=G+M,i[C+192>>2]=F+N,b(j=C+96|0,Y=C+48|0,F=C+240|0),b(S=C+192|0,S,C),U(Y,C),U(C,F),e=i[C+192>>2],m=i[C+96>>2],l=i[C+196>>2],u=i[C+100>>2],k=i[C+200>>2],D=i[C+104>>2],w=i[C+204>>2],f=i[C+108>>2],n=i[C+208>>2],Q=i[C+112>>2],p=i[C+212>>2],_=i[C+116>>2],y=i[C+216>>2],E=i[C+120>>2],o=i[C+220>>2],c=i[C+124>>2],a=i[C+224>>2],B=i[C+128>>2],g=i[C+228>>2],I=i[C+132>>2],i[C+180>>2]=g+I,i[C+176>>2]=B+a,i[C+172>>2]=o+c,i[C+168>>2]=E+y,i[C+164>>2]=_+p,i[C+160>>2]=Q+n,i[C+156>>2]=f+w,i[C+152>>2]=D+k,i[C+148>>2]=l+u,i[C+144>>2]=e+m,i[C+228>>2]=I-g,i[C+224>>2]=B-a,i[C+220>>2]=c-o,i[C+216>>2]=E-y,i[C+212>>2]=_-p,i[C+208>>2]=Q-n,i[C+204>>2]=f-w,i[C+200>>2]=D-k,i[C+196>>2]=u-l,i[C+192>>2]=m-e,b(F,C,Y),K=i[C+52>>2],f=i[C+4>>2],x=i[C+56>>2],n=i[C+8>>2],v=i[C+64>>2],Q=i[C+16>>2],R=i[C+60>>2],E=i[C+12>>2],L=i[C+72>>2],o=i[C+24>>2],P=i[C+68>>2],c=i[C+20>>2],G=i[C+80>>2],B=i[C+32>>2],N=i[C+76>>2],g=i[C+28>>2],q=i[C+84>>2],I=i[C+36>>2],z=i[C+48>>2],a=i[C>>2]-z|0,i[C>>2]=a,I=I-q|0,i[C+36>>2]=I,H=g-N|0,i[C+28>>2]=H,F=B-G|0,i[C+32>>2]=F,p=c-P|0,i[C+20>>2]=p,_=o-L|0,i[C+24>>2]=_,y=E-R|0,i[C+12>>2]=y,E=Q-v|0,i[C+16>>2]=E,o=n-x|0,i[C+8>>2]=o,B=f-K|0,i[C+4>>2]=B,U(S,S),I=PI(I,I>>31,121666,0),g=h,X=I,I=PI((33554431&(g=(e=I+16777216|0)>>>0<16777216?g+1|0:g))<<7|e>>>25,g>>25,19,0),c=h,g=I,I=PI(a,a>>31,121666,0),d=h+c|0,I=I>>>0>(g=g+I|0)>>>0?d+1|0:d,I=(c=g+33554432|0)>>>0<33554432?I+1|0:I,m=g-(-67108864&c)|0,i[C+96>>2]=m,a=PI(B,B>>31,121666,0),g=h,g=(B=a+16777216|0)>>>0<16777216?g+1|0:g,l=(I=(67108863&I)<<6|c>>>26)+(a-(-33554432&B)|0)|0,i[C+100>>2]=l,d=g>>25,B=(33554431&g)<<7|B>>>25,g=PI(o,o>>31,121666,0)+B|0,I=d+h|0,I=g>>>0>>0?I+1|0:I,c=(u=g+33554432|0)>>>0<33554432?I+1|0:I,k=g-(-67108864&u)|0,i[C+104>>2]=k,B=PI(E,E>>31,121666,0),a=h,g=PI(y,y>>31,121666,0),I=h,M=B,J=g,B=(33554431&(I=(D=g+16777216|0)>>>0<16777216?I+1|0:I))<<7|D>>>25,I=(I>>25)+a|0,I=(g=M+B|0)>>>0>>0?I+1|0:I,a=(w=g+33554432|0)>>>0<33554432?I+1|0:I,f=g-(-67108864&w)|0,i[C+112>>2]=f,B=PI(_,_>>31,121666,0),o=h,g=PI(p,p>>31,121666,0),I=h,M=g,g=(33554431&(I=(n=g+16777216|0)>>>0<16777216?I+1|0:I))<<7|n>>>25,I=(I>>25)+o|0,I=g>>>0>(B=g+B|0)>>>0?I+1|0:I,g=(Q=B+33554432|0)>>>0<33554432?I+1|0:I,p=B-(-67108864&Q)|0,i[C+120>>2]=p,o=PI(F,F>>31,121666,0),E=h,B=PI(H,H>>31,121666,0),I=h,F=B,B=(33554431&(I=(_=B+16777216|0)>>>0<16777216?I+1|0:I))<<7|_>>>25,I=(I>>25)+E|0,I=B>>>0>(o=B+o|0)>>>0?I+1|0:I,B=(y=o+33554432|0)>>>0<33554432?I+1|0:I,E=o-(-67108864&y)|0,i[C+128>>2]=E,o=(c=J+((67108863&c)<<6|u>>>26)|0)-(-33554432&D)|0,i[C+108>>2]=o,c=(a=M+((67108863&a)<<6|w>>>26)|0)-(-33554432&n)|0,i[C+116>>2]=c,a=(I=F+((67108863&g)<<6|Q>>>26)|0)-(-33554432&_)|0,i[C+124>>2]=a,g=(B=X+((67108863&B)<<6|y>>>26)|0)-(-33554432&e)|0,i[C+132>>2]=g,U(I=C+144|0,I),i[C+84>>2]=g+q,i[C+80>>2]=E+G,i[C+76>>2]=a+N,i[C+72>>2]=p+L,i[C+68>>2]=c+P,i[C+64>>2]=f+v,i[C+60>>2]=o+R,i[C+56>>2]=k+x,i[C+52>>2]=l+K,i[C+48>>2]=m+z,g=fA-1|0,b(j,C+288|0,S),b(S,C,Y),fA;);p=i[C+144>>2],m=i[C+240>>2],_=i[C+148>>2],l=i[C+244>>2],y=i[C+152>>2],u=i[C+248>>2],E=i[C+156>>2],k=i[C+252>>2],o=i[C+160>>2],D=i[C+256>>2],c=i[C+164>>2],w=i[C+260>>2],a=i[C+168>>2],f=i[C+264>>2],B=i[C+172>>2],n=i[C+268>>2],g=i[C+176>>2],Q=i[C+272>>2],e=0-V|0,I=i[C+276>>2],i[C+276>>2]=e&(I^i[C+180>>2])^I,i[C+272>>2]=Q^e&(g^Q),i[C+268>>2]=n^e&(B^n),i[C+264>>2]=f^e&(a^f),i[C+260>>2]=w^e&(c^w),i[C+256>>2]=D^e&(o^D),i[C+252>>2]=k^e&(E^k),i[C+248>>2]=u^e&(y^u),i[C+244>>2]=l^e&(_^l),i[C+240>>2]=m^e&(p^m),m=i[C+192>>2],p=i[C+96>>2],l=i[C+196>>2],_=i[C+100>>2],u=i[C+200>>2],y=i[C+104>>2],k=i[C+204>>2],E=i[C+108>>2],D=i[C+208>>2],o=i[C+112>>2],w=i[C+212>>2],c=i[C+116>>2],f=i[C+216>>2],a=i[C+120>>2],n=i[C+220>>2],B=i[C+124>>2],Q=i[C+224>>2],g=i[C+128>>2],I=i[C+228>>2],i[C+228>>2]=e&(I^i[C+132>>2])^I,i[C+224>>2]=Q^e&(g^Q),i[C+220>>2]=n^e&(B^n),i[C+216>>2]=f^e&(a^f),i[C+212>>2]=w^e&(c^w),i[C+208>>2]=D^e&(o^D),i[C+204>>2]=k^e&(E^k),i[C+200>>2]=u^e&(y^u),i[C+196>>2]=l^e&(_^l),i[C+192>>2]=m^e&(p^m),NA(g=C+192|0,g),b(I=C+240|0,I,g),zA(A,I),NC(C+336|0,32),B=0}return s=C+368|0,0|B},function(A,I){var g,C,B,a,Q,o,n,c,e,E,_,y,p,f,h,l,u,D,w,m;return I|=0,s=g=s-304|0,t[0|(A|=0)]=r[0|I],t[A+1|0]=r[I+1|0],t[A+2|0]=r[I+2|0],t[A+3|0]=r[I+3|0],t[A+4|0]=r[I+4|0],t[A+5|0]=r[I+5|0],t[A+6|0]=r[I+6|0],t[A+7|0]=r[I+7|0],t[A+8|0]=r[I+8|0],t[A+9|0]=r[I+9|0],t[A+10|0]=r[I+10|0],t[A+11|0]=r[I+11|0],t[A+12|0]=r[I+12|0],t[A+13|0]=r[I+13|0],t[A+14|0]=r[I+14|0],t[A+15|0]=r[I+15|0],t[A+16|0]=r[I+16|0],t[A+17|0]=r[I+17|0],t[A+18|0]=r[I+18|0],t[A+19|0]=r[I+19|0],t[A+20|0]=r[I+20|0],t[A+21|0]=r[I+21|0],t[A+22|0]=r[I+22|0],t[A+23|0]=r[I+23|0],t[A+24|0]=r[I+24|0],t[A+25|0]=r[I+25|0],t[A+26|0]=r[I+26|0],t[A+27|0]=r[I+27|0],t[A+28|0]=r[I+28|0],t[A+29|0]=r[I+29|0],t[A+30|0]=r[I+30|0],I=r[I+31|0],t[0|A]=248&r[0|A],t[A+31|0]=63&I|64,rA(g+48|0,A),I=i[g+132>>2],C=i[g+92>>2],B=i[g+136>>2],a=i[g+96>>2],Q=i[g+140>>2],o=i[g+100>>2],n=i[g+144>>2],c=i[g+104>>2],e=i[g+148>>2],E=i[g+108>>2],_=i[g+152>>2],y=i[g+112>>2],p=i[g+156>>2],f=i[g+116>>2],h=i[g+160>>2],l=i[g+120>>2],u=i[g+128>>2],D=i[g+88>>2],w=i[g+124>>2],m=i[g+164>>2],i[g+292>>2]=w+m,i[g+288>>2]=h+l,i[g+284>>2]=p+f,i[g+280>>2]=_+y,i[g+276>>2]=e+E,i[g+272>>2]=n+c,i[g+268>>2]=Q+o,i[g+264>>2]=B+a,i[g+260>>2]=I+C,i[g+256>>2]=u+D,i[g+244>>2]=m-w,i[g+240>>2]=h-l,i[g+236>>2]=p-f,i[g+232>>2]=_-y,i[g+228>>2]=e-E,i[g+224>>2]=n-c,i[g+220>>2]=Q-o,i[g+216>>2]=B-a,i[g+212>>2]=I-C,i[g+208>>2]=u-D,NA(I=g+208|0,I),b(g,g+256|0,I),zA(A,g),s=g+304|0,0},function(A,I,g,C,B){A|=0,C|=0,B|=0;var a,Q=0,o=0,n=0,c=0;if(s=a=s-112|0,(I|=0)|(g|=0)){Q=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,i[a+24>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,i[a+28>>2]=Q,Q=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+16>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+20>>2]=Q,Q=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[a>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[a+4>>2]=Q,Q=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+8>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[a+12>>2]=Q,B=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,C=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,i[a+104>>2]=0,i[a+108>>2]=0,i[a+96>>2]=B,i[a+100>>2]=C;A:{if(!g&I>>>0>=64|g){for(;xg(A,a+96|0,a,0),C=r[a+104|0]+1|0,t[a+104|0]=C,C=r[a+105|0]+(C>>>8|0)|0,t[a+105|0]=C,C=r[a+106|0]+(C>>>8|0)|0,t[a+106|0]=C,C=r[a+107|0]+(C>>>8|0)|0,t[a+107|0]=C,C=r[a+108|0]+(C>>>8|0)|0,t[a+108|0]=C,C=r[a+109|0]+(C>>>8|0)|0,t[a+109|0]=C,C=r[a+110|0]+(C>>>8|0)|0,t[a+110|0]=C,t[a+111|0]=r[a+111|0]+(C>>>8|0),A=A- -64|0,g=g-1|0,!(g=(I=I+-64|0)>>>0<4294967232?g+1|0:g)&I>>>0>63|g;);if(!(I|g))break A}if(C=0,xg(a+32|0,a+96|0,a,0),g=3&I,B=0,I-1>>>0>=3)for(Q=-4&I,I=0;o=n=a+32|0,t[A+B|0]=r[o+B|0],t[(c=1|B)+A|0]=r[o+c|0],t[(o=2|B)+A|0]=r[o+n|0],t[(o=3|B)+A|0]=r[o+(a+32|0)|0],B=B+4|0,(0|Q)!=(0|(I=I+4|0)););if(g)for(;t[A+B|0]=r[(a+32|0)+B|0],B=B+1|0,(0|g)!=(0|(C=C+1|0)););}NC(a+32|0,64),NC(a,32)}return s=a+112|0,0},function(A,I,g,C,B,a,Q,o){A|=0,I|=0,B|=0,a|=0,Q|=0,o|=0;var n,c=0;if(s=n=s-112|0,(g|=0)|(C|=0)){c=r[o+28|0]|r[o+29|0]<<8|r[o+30|0]<<16|r[o+31|0]<<24,i[n+24>>2]=r[o+24|0]|r[o+25|0]<<8|r[o+26|0]<<16|r[o+27|0]<<24,i[n+28>>2]=c,c=r[o+20|0]|r[o+21|0]<<8|r[o+22|0]<<16|r[o+23|0]<<24,i[n+16>>2]=r[o+16|0]|r[o+17|0]<<8|r[o+18|0]<<16|r[o+19|0]<<24,i[n+20>>2]=c,c=r[o+4|0]|r[o+5|0]<<8|r[o+6|0]<<16|r[o+7|0]<<24,i[n>>2]=r[0|o]|r[o+1|0]<<8|r[o+2|0]<<16|r[o+3|0]<<24,i[n+4>>2]=c,c=r[o+12|0]|r[o+13|0]<<8|r[o+14|0]<<16|r[o+15|0]<<24,i[n+8>>2]=r[o+8|0]|r[o+9|0]<<8|r[o+10|0]<<16|r[o+11|0]<<24,i[n+12>>2]=c,o=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[n+96>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[n+100>>2]=o,t[n+104|0]=a,t[n+111|0]=Q>>>24,t[n+110|0]=Q>>>16,t[n+109|0]=Q>>>8,t[n+108|0]=Q,t[n+107|0]=(16777215&Q)<<8|a>>>24,t[n+106|0]=(65535&Q)<<16|a>>>16,t[n+105|0]=(255&Q)<<24|a>>>8;A:{if(!C&g>>>0>=64|C){for(;;){for(o=0,xg(n+32|0,n+96|0,n,0);a=n+32|0,t[A+o|0]=r[a+o|0]^r[I+o|0],t[(B=1|o)+A|0]=r[B+a|0]^r[I+B|0],64!=(0|(o=o+2|0)););if(B=r[n+104|0]+1|0,t[n+104|0]=B,B=r[n+105|0]+(B>>>8|0)|0,t[n+105|0]=B,B=r[n+106|0]+(B>>>8|0)|0,t[n+106|0]=B,B=r[n+107|0]+(B>>>8|0)|0,t[n+107|0]=B,B=r[n+108|0]+(B>>>8|0)|0,t[n+108|0]=B,B=r[n+109|0]+(B>>>8|0)|0,t[n+109|0]=B,B=r[n+110|0]+(B>>>8|0)|0,t[n+110|0]=B,t[n+111|0]=r[n+111|0]+(B>>>8|0),I=I- -64|0,A=A- -64|0,C=C-1|0,!(!(C=(g=g+-64|0)>>>0<4294967232?C+1|0:C)&g>>>0>63|C))break}if(!(g|C))break A}if(o=0,xg(n+32|0,n+96|0,n,0),C=1&g,1!=(0|g))for(a=-2&g,B=0;Q=n+32|0,t[A+o|0]=r[Q+o|0]^r[I+o|0],t[(g=1|o)+A|0]=r[g+Q|0]^r[I+g|0],o=o+2|0,(0|a)!=(0|(B=B+2|0)););C&&(t[A+o|0]=r[(n+32|0)+o|0]^r[I+o|0])}NC(n+32|0,64),NC(n,32)}return s=n+112|0,0},function(A,I,g,C,B){var a;return A|=0,C|=0,B|=0,s=a=s+-64|0,(I|=0)|(g|=0)&&(i[a+8>>2]=2036477234,i[a+12>>2]=1797285236,i[a>>2]=1634760805,i[a+4>>2]=857760878,i[a+16>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[a+20>>2]=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[a+24>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[a+28>>2]=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+32>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+36>>2]=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+40>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,B=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,i[a+48>>2]=0,i[a+52>>2]=0,i[a+44>>2]=B,i[a+56>>2]=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,i[a+60>>2]=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,d(a,A=yg(A,0,I),A,I,g),NC(a,64)),s=a- -64|0,0},function(A,I,g,C,B){var a;return A|=0,C|=0,B|=0,s=a=s+-64|0,(I|=0)|(g|=0)&&(i[a+8>>2]=2036477234,i[a+12>>2]=1797285236,i[a>>2]=1634760805,i[a+4>>2]=857760878,i[a+16>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[a+20>>2]=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[a+24>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[a+28>>2]=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+32>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+36>>2]=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+40>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,B=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,i[a+48>>2]=0,i[a+44>>2]=B,i[a+52>>2]=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,i[a+56>>2]=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,i[a+60>>2]=r[C+8|0]|r[C+9|0]<<8|r[C+10|0]<<16|r[C+11|0]<<24,d(a,A=yg(A,0,I),A,I,g),NC(a,64)),s=a- -64|0,0},function(A,I,g,C,B,a,Q,t){var o;return A|=0,I|=0,B|=0,a|=0,Q|=0,t|=0,s=o=s+-64|0,(g|=0)|(C|=0)&&(i[o+8>>2]=2036477234,i[o+12>>2]=1797285236,i[o>>2]=1634760805,i[o+4>>2]=857760878,i[o+16>>2]=r[0|t]|r[t+1|0]<<8|r[t+2|0]<<16|r[t+3|0]<<24,i[o+20>>2]=r[t+4|0]|r[t+5|0]<<8|r[t+6|0]<<16|r[t+7|0]<<24,i[o+24>>2]=r[t+8|0]|r[t+9|0]<<8|r[t+10|0]<<16|r[t+11|0]<<24,i[o+28>>2]=r[t+12|0]|r[t+13|0]<<8|r[t+14|0]<<16|r[t+15|0]<<24,i[o+32>>2]=r[t+16|0]|r[t+17|0]<<8|r[t+18|0]<<16|r[t+19|0]<<24,i[o+36>>2]=r[t+20|0]|r[t+21|0]<<8|r[t+22|0]<<16|r[t+23|0]<<24,i[o+40>>2]=r[t+24|0]|r[t+25|0]<<8|r[t+26|0]<<16|r[t+27|0]<<24,i[o+44>>2]=r[t+28|0]|r[t+29|0]<<8|r[t+30|0]<<16|r[t+31|0]<<24,i[o+48>>2]=a,i[o+52>>2]=Q,i[o+56>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[o+60>>2]=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,d(o,I,A,g,C),NC(o,64)),s=o- -64|0,0},function(A,I,g,C,B,a,Q){var t;return A|=0,I|=0,B|=0,a|=0,Q|=0,s=t=s+-64|0,(g|=0)|(C|=0)&&(i[t+8>>2]=2036477234,i[t+12>>2]=1797285236,i[t>>2]=1634760805,i[t+4>>2]=857760878,i[t+16>>2]=r[0|Q]|r[Q+1|0]<<8|r[Q+2|0]<<16|r[Q+3|0]<<24,i[t+20>>2]=r[Q+4|0]|r[Q+5|0]<<8|r[Q+6|0]<<16|r[Q+7|0]<<24,i[t+24>>2]=r[Q+8|0]|r[Q+9|0]<<8|r[Q+10|0]<<16|r[Q+11|0]<<24,i[t+28>>2]=r[Q+12|0]|r[Q+13|0]<<8|r[Q+14|0]<<16|r[Q+15|0]<<24,i[t+32>>2]=r[Q+16|0]|r[Q+17|0]<<8|r[Q+18|0]<<16|r[Q+19|0]<<24,i[t+36>>2]=r[Q+20|0]|r[Q+21|0]<<8|r[Q+22|0]<<16|r[Q+23|0]<<24,i[t+40>>2]=r[Q+24|0]|r[Q+25|0]<<8|r[Q+26|0]<<16|r[Q+27|0]<<24,Q=r[Q+28|0]|r[Q+29|0]<<8|r[Q+30|0]<<16|r[Q+31|0]<<24,i[t+48>>2]=a,i[t+44>>2]=Q,i[t+52>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[t+56>>2]=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[t+60>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,d(t,I,A,g,C),NC(t,64)),s=t- -64|0,0}],AB.grow=function(A){var I=this.length;return this.length=this.length+A,I},AB.set=function(A,I){this[A]=I},AB.get=function(A){return this[A]},AB);function gB(){return Q.byteLength/65536|0}return{f:function(){},g:function(A,I,g,C,B,a,Q,t,i,r,o,n){return 0|SI(A|=0,I|=0,g|=0,C|=0,(A=0)|(B|=0),a|=0,Q|=0,A|(t|=0),i|=0,o|=0,n|=0)},h:function(A,I,g,C,B,Q,t,r,o,n,c){return A|=0,I|=0,o|=0,o=C|=0,!(C=B|=0)&(B=0|o)>>>0<4294967280?(SI(A,A+B|0,0,g|=0,B,C,Q|=0,t|=0,r|=0,n|=0,c|=0),I&&(C=(A=B+16|0)>>>0<16?C+1|0:C,i[I>>2]=A,i[I+4>>2]=C)):($g(),a()),0},i:function(A,I,g,C,B,a,Q,t,i,r,o,n){return 0|mI(A|=0,I|=0,g|=0,C|=0,(A=0)|(B|=0),a|=0,Q|=0,A|(t|=0),i|=0,o|=0,n|=0)},j:function(A,I,g,C,B,Q,t,r,o,n,c){return A|=0,I|=0,o|=0,o=C|=0,!(C=B|=0)&(B=0|o)>>>0<4294967280?(mI(A,A+B|0,0,g|=0,B,C,Q|=0,t|=0,r|=0,n|=0,c|=0),I&&(C=(A=B+16|0)>>>0<16?C+1|0:C,i[I>>2]=A,i[I+4>>2]=C)):($g(),a()),0},k:function(A,I,g,C,B,a,Q,t,i,r,o){return 0|wI(A|=0,g|=0,(A=0)|(C|=0),B|=0,a|=0,Q|=0,A|(t|=0),i|=0,r|=0,o|=0)},l:function(A,I,g,C,B,a,Q,t,r,o,n){return I|=0,g|=0,C|=0,B|=0,t|=0,t|=0,g=-1,!(a|=0)&(B|=0)>>>0>=16|a&&(g=wI(A|=0,C,B-16|0,a-(B>>>0<16)|0,(C+B|0)-16|0,Q|=0,t,r|=0,o|=0,n|=0)),I&&(i[I>>2]=g?0:B-16|0,i[I+4>>2]=g?0:a-(B>>>0<16)|0),0|g},m:function(A,I,g,C,B,a,Q,t,i,r,o){return 0|lI(A|=0,g|=0,(A=0)|(C|=0),B|=0,a|=0,Q|=0,A|(t|=0),i|=0,r|=0,o|=0)},n:function(A,I,g,C,B,a,Q,t,r,o,n){return I|=0,g|=0,C|=0,B|=0,t|=0,t|=0,g=-1,!(a|=0)&(B|=0)>>>0>=16|a&&(g=lI(A|=0,C,B-16|0,a-(B>>>0<16)|0,(C+B|0)-16|0,Q|=0,t,r|=0,o|=0,n|=0)),I&&(i[I>>2]=g?0:B-16|0,i[I+4>>2]=g?0:a-(B>>>0<16)|0),0|g},o:RC,p:jC,q:TC,r:vC,s:PC,t:kC,u:RC,v:$C,w:TC,x:vC,y:PC,z:kC,A:function(A,I,g,C,B,a,Q,t,i,r,o,n){return 0|oI(A|=0,I|=0,g|=0,C|=0,(A=0)|(B|=0),a|=0,Q|=0,A|(t|=0),i|=0,o|=0,n|=0)},B:function(A,I,g,C,B,Q,t,r,o,n,c){return A|=0,I|=0,o|=0,o=C|=0,!(C=B|=0)&(B=0|o)>>>0<4294967280?(oI(A,A+B|0,0,g|=0,B,C,Q|=0,t|=0,r|=0,n|=0,c|=0),I&&(C=(A=B+16|0)>>>0<16?C+1|0:C,i[I>>2]=A,i[I+4>>2]=C)):($g(),a()),0},C:function(A,I,g,C,B,a,Q,t,i,r,o){return 0|BI(A|=0,g|=0,(A=0)|(C|=0),B|=0,a|=0,Q|=0,A|(t|=0),i|=0,r|=0,o|=0)},D:function(A,I,g,C,B,a,Q,t,r,o,n){return I|=0,g|=0,C|=0,B|=0,t|=0,t|=0,g=-1,!(a|=0)&(B|=0)>>>0>=16|a&&(g=BI(A|=0,C,B-16|0,a-(B>>>0<16)|0,(C+B|0)-16|0,Q|=0,t,r|=0,o|=0,n|=0)),I&&(i[I>>2]=g?0:B-16|0,i[I+4>>2]=g?0:a-(B>>>0<16)|0),0|g},E:RC,F:qC,G:TC,H:vC,I:PC,J:kC,K:RC,L:RC,M:function(){return 1464},N:OA,O:DI,P:kC,Q:RC,R:RC,S:HC,T:kC,U:wA,V:function(A,I,g,C){return 0|yC(A|=0,I|=0,g|=0,C|=0)},W:og,X:function(A,I,g,C,B){var a;return A|=0,I|=0,g|=0,C|=0,s=a=s-240|0,wA(a,B|=0,32),sA(a,I,g,C),lA(a,I=a+208|0),sA(g=a+104|0,I,32,0),lA(g,A),NC(I,32),s=a+240|0,0},Y:function(A,I,g,C,B){var a,Q;return A|=0,I|=0,g|=0,C|=0,s=a=s-272|0,wA(Q=a+32|0,B|=0,32),sA(Q,I,g,C),lA(Q,I=a+240|0),sA(g=a+136|0,I,32,0),lA(g,a),NC(I,32),I=nC(A,a),g=sI(a,A,32),s=a+272|0,g|((0|A)==(0|a)?-1:I)},Z:xC,_:RC,$:JC,aa:kC,ba:XA,ca:Pg,da:Qg,ea:function(A,I,g,C,B){var a;return A|=0,I|=0,g|=0,C|=0,s=a=s-480|0,XA(a,B|=0,32),cA(a,I,g,C),K(a,I=a+416|0),cA(g=a+208|0,I,64,0),K(g,A),NC(I,64),s=a+480|0,0},fa:function(A,I,g,C,B){var a,Q;return A|=0,I|=0,g|=0,C|=0,s=a=s-544|0,XA(Q=a- -64|0,B|=0,32),cA(Q,I,g,C),K(Q,I=a+480|0),cA(g=a+272|0,I,64,0),K(g,a),NC(I,64),I=oC(A,a),g=sI(a,A,64),s=a+544|0,g|((0|A)==(0|a)?-1:I)},ga:RC,ha:RC,ia:JC,ja:kC,ka:function(A,I,g){return 0|XA(A|=0,I|=0,g|=0)},la:Pg,ma:function(A,I){I|=0;var g,C=0;return s=g=s+-64|0,Qg(A|=0,g),C=i[g+28>>2],A=i[g+24>>2],t[I+24|0]=A,t[I+25|0]=A>>>8,t[I+26|0]=A>>>16,t[I+27|0]=A>>>24,t[I+28|0]=C,t[I+29|0]=C>>>8,t[I+30|0]=C>>>16,t[I+31|0]=C>>>24,C=i[g+20>>2],A=i[g+16>>2],t[I+16|0]=A,t[I+17|0]=A>>>8,t[I+18|0]=A>>>16,t[I+19|0]=A>>>24,t[I+20|0]=C,t[I+21|0]=C>>>8,t[I+22|0]=C>>>16,t[I+23|0]=C>>>24,C=i[g+12>>2],A=i[g+8>>2],t[I+8|0]=A,t[I+9|0]=A>>>8,t[I+10|0]=A>>>16,t[I+11|0]=A>>>24,t[I+12|0]=C,t[I+13|0]=C>>>8,t[I+14|0]=C>>>16,t[I+15|0]=C>>>24,C=i[g+4>>2],A=i[g>>2],t[0|I]=A,t[I+1|0]=A>>>8,t[I+2|0]=A>>>16,t[I+3|0]=A>>>24,t[I+4|0]=C,t[I+5|0]=C>>>8,t[I+6|0]=C>>>16,t[I+7|0]=C>>>24,s=g- -64|0,0},na:OA,oa:DI,pa:RC,qa:RC,ra:RC,sa:RC,ta:qC,ua:RC,va:vC,wa:vC,xa:PC,ya:function(){return 1478},za:function(A,I,g){return 0|TA(A|=0,I|=0,g|=0)},Aa:EC,Ba:Zg,Ca:Sg,Da:Gg,Ea:jI,Fa:zI,Ga:pg,Ha:function(A,I,g,C,B,a,Q,t){var i,r;return A|=0,I|=0,g|=0,a|=0,r=C|=0,C=B|=0,s=i=s-32|0,B=-1,Zg(i,Q|=0,t|=0)||(B=gI(A,I,g,r,C,a,i),NC(i,32)),s=i+32|0,0|B},Ia:function(A,I,g,C,B,Q){return A|=0,I|=0,B|=0,Q|=0,!(C|=0)&(g|=0)>>>0>=4294967280|C&&($g(),a()),0|gI(A+16|0,A,I,g,C,B,Q)},Ja:function(A,I,g,C,B,a,Q){return 0|Ig(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},Ka:fg,La:function(A,I,g,C,B,a,Q,t){var i,r;return A|=0,I|=0,g|=0,a|=0,r=C|=0,C=B|=0,s=i=s-32|0,B=-1,Zg(i,Q|=0,t|=0)||(B=aI(A,I,g,r,C,a,i),NC(i,32)),s=i+32|0,0|B},Ma:Cg,Na:function(A,I,g,C,B,a,Q){return 0|OI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},Oa:function(A,I,g,C,B){A|=0,I|=0,B|=0;var a,Q,r,o=0,n=0;return Q=g|=0,g=C|=0,r=C=s,s=a=C-512&-64,C=-1,EC(a- -64|0,a+32|0)||(Xg(C=a+128|0,0,0,24),lC(C,n=a- -64|0,32,0),lC(C,B,32,0),Tg(C,o=a+96|0,24),C=Ig(A+32|0,I,Q,g,o,C=B,B=a+32|0),I=i[a+92>>2],g=i[a+88>>2],t[A+24|0]=g,t[A+25|0]=g>>>8,t[A+26|0]=g>>>16,t[A+27|0]=g>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[a+84>>2],g=i[a+80>>2],t[A+16|0]=g,t[A+17|0]=g>>>8,t[A+18|0]=g>>>16,t[A+19|0]=g>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[a+76>>2],g=i[a+72>>2],t[A+8|0]=g,t[A+9|0]=g>>>8,t[A+10|0]=g>>>16,t[A+11|0]=g>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[a+68>>2],g=i[a+64>>2],t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,NC(B,32),NC(n,32),NC(o,24)),s=r,0|C},Pa:function(A,I,g,C,B,a){A|=0,I|=0,B|=0,a|=0;var Q,t,i=0,r=0;return Q=i=s,s=i=i-448&-64,r=-1,t=C|=0,!C&(g|=0)>>>0>=48|C&&(Xg(C=i- -64|0,0,0,24),lC(C,I,32,0),lC(C,B,32,0),Tg(B=C,C=i+32|0,24),r=OI(A,I+32|0,g-32|0,t-(g>>>0<32)|0,C,I,a)),s=Q,0|r},Qa:LC,Ra:TA,Sa:AC,Ta:ag,Ua:Sg,Va:Gg,Wa:jI,Xa:zI,Ya:RC,Za:RC,_a:RC,$a:RC,ab:qC,bb:RC,cb:vC,db:vC,eb:PC,fb:BA,gb:RC,hb:vC,ib:RC,jb:vC,kb:nA,lb:RC,mb:vC,nb:RC,ob:vC,pb:xg,qb:xC,rb:vC,sb:RC,tb:vC,ub:vg,vb:xC,wb:vC,xb:RC,yb:vC,zb:Rg,Ab:xC,Bb:vC,Cb:RC,Db:vC,Eb:vC,Fb:xC,Gb:RC,Hb:vC,Ib:xC,Jb:RC,Kb:YC,Lb:UC,Mb:function(A,I,g,C,B,a,Q){return 0|tC(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},Nb:Xg,Ob:function(A,I,g,C){return 0|lC(A|=0,I|=0,g|=0,C|=0)},Pb:Tg,Qb:kC,Rb:vC,Sb:xC,Tb:RC,Ub:vC,Vb:xC,Wb:RC,Xb:vC,Yb:vC,Zb:UC,_b:kC,$b:tC,ac:function(A,I,g,C,B,a,Q,t,i){return 0|V(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0,t|=0,i|=0)},bc:CA,cc:function(A,I,g,C,B,Q){A|=0,I|=0,B|=0,Q|=0;var i=0,o=0,n=0,c=0,e=0,E=0,_=0;if(i=-1,!((C|=0)-65>>>0<4294967232|(g|=0)>>>0>64)){A:{if(!g||!I){if(((c=255&C)-65&255)>>>0>191){B?(o=725511199^(r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24),g=-1694144372^(r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24),I=-1377402159^(r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),B=1359893119^(r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24)):(o=725511199,g=-1694144372,I=-1377402159,B=1359893119),Q?(n=327033209^(r[Q+8|0]|r[Q+9|0]<<8|r[Q+10|0]<<16|r[Q+11|0]<<24),C=1541459225^(r[Q+12|0]|r[Q+13|0]<<8|r[Q+14|0]<<16|r[Q+15|0]<<24),i=-79577749^(r[0|Q]|r[Q+1|0]<<8|r[Q+2|0]<<16|r[Q+3|0]<<24),Q=528734635^(r[Q+4|0]|r[Q+5|0]<<8|r[Q+6|0]<<16|r[Q+7|0]<<24)):(n=327033209,C=1541459225,i=-79577749,Q=528734635),yg(A- -64|0,0,293),t[A+56|0]=n,t[A+57|0]=n>>>8,t[A+58|0]=n>>>16,t[A+59|0]=n>>>24,t[A+60|0]=C,t[A+61|0]=C>>>8,t[A+62|0]=C>>>16,t[A+63|0]=C>>>24,t[A+48|0]=i,t[A+49|0]=i>>>8,t[A+50|0]=i>>>16,t[A+51|0]=i>>>24,t[A+52|0]=Q,t[A+53|0]=Q>>>8,t[A+54|0]=Q>>>16,t[A+55|0]=Q>>>24,t[A+40|0]=o,t[A+41|0]=o>>>8,t[A+42|0]=o>>>16,t[A+43|0]=o>>>24,t[A+44|0]=g,t[A+45|0]=g>>>8,t[A+46|0]=g>>>16,t[A+47|0]=g>>>24,t[A+32|0]=I,t[A+33|0]=I>>>8,t[A+34|0]=I>>>16,t[A+35|0]=I>>>24,t[A+36|0]=B,t[A+37|0]=B>>>8,t[A+38|0]=B>>>16,t[A+39|0]=B>>>24,t[A+24|0]=241,t[A+25|0]=54,t[A+26|0]=29,t[A+27|0]=95,t[A+28|0]=58,t[A+29|0]=245,t[A+30|0]=79,t[A+31|0]=165,t[A+16|0]=43,t[A+17|0]=248,t[A+18|0]=148,t[A+19|0]=254,t[A+20|0]=114,t[A+21|0]=243,t[A+22|0]=110,t[A+23|0]=60,t[A+8|0]=59,t[A+9|0]=167,t[A+10|0]=202,t[A+11|0]=132,t[A+12|0]=133,t[A+13|0]=174,t[A+14|0]=103,t[A+15|0]=187,I=-222443256^c,t[0|A]=I,t[A+1|0]=I>>>8,t[A+2|0]=I>>>16,t[A+3|0]=I>>>24,t[A+4|0]=103,t[A+5|0]=230,t[A+6|0]=9,t[A+7|0]=106;break A}$g(),a()}s=E=s-128|0,!I|((_=255&C)-65&255)>>>0<=191|((i=255&g)-65&255)>>>0<=191?($g(),a()):(B?(o=725511199^(r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24),g=-1694144372^(r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24),c=-1377402159^(r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),B=1359893119^(r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24)):(o=725511199,g=-1694144372,c=-1377402159,B=1359893119),Q?(n=327033209^(r[Q+8|0]|r[Q+9|0]<<8|r[Q+10|0]<<16|r[Q+11|0]<<24),C=1541459225^(r[Q+12|0]|r[Q+13|0]<<8|r[Q+14|0]<<16|r[Q+15|0]<<24),e=-79577749^(r[0|Q]|r[Q+1|0]<<8|r[Q+2|0]<<16|r[Q+3|0]<<24),Q=528734635^(r[Q+4|0]|r[Q+5|0]<<8|r[Q+6|0]<<16|r[Q+7|0]<<24)):(n=327033209,C=1541459225,e=-79577749,Q=528734635),yg(A- -64|0,0,293),t[A+56|0]=n,t[A+57|0]=n>>>8,t[A+58|0]=n>>>16,t[A+59|0]=n>>>24,t[A+60|0]=C,t[A+61|0]=C>>>8,t[A+62|0]=C>>>16,t[A+63|0]=C>>>24,t[A+48|0]=e,t[A+49|0]=e>>>8,t[A+50|0]=e>>>16,t[A+51|0]=e>>>24,t[A+52|0]=Q,t[A+53|0]=Q>>>8,t[A+54|0]=Q>>>16,t[A+55|0]=Q>>>24,t[A+40|0]=o,t[A+41|0]=o>>>8,t[A+42|0]=o>>>16,t[A+43|0]=o>>>24,t[A+44|0]=g,t[A+45|0]=g>>>8,t[A+46|0]=g>>>16,t[A+47|0]=g>>>24,t[A+32|0]=c,t[A+33|0]=c>>>8,t[A+34|0]=c>>>16,t[A+35|0]=c>>>24,t[A+36|0]=B,t[A+37|0]=B>>>8,t[A+38|0]=B>>>16,t[A+39|0]=B>>>24,t[A+24|0]=241,t[A+25|0]=54,t[A+26|0]=29,t[A+27|0]=95,t[A+28|0]=58,t[A+29|0]=245,t[A+30|0]=79,t[A+31|0]=165,t[A+16|0]=43,t[A+17|0]=248,t[A+18|0]=148,t[A+19|0]=254,t[A+20|0]=114,t[A+21|0]=243,t[A+22|0]=110,t[A+23|0]=60,t[A+8|0]=59,t[A+9|0]=167,t[A+10|0]=202,t[A+11|0]=132,t[A+12|0]=133,t[A+13|0]=174,t[A+14|0]=103,t[A+15|0]=187,g=-222443256^(i<<8|_),t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,g=i>>>24^1779033703,t[A+4|0]=g,t[A+5|0]=g>>>8,t[A+6|0]=g>>>16,t[A+7|0]=g>>>24,yg(i+E|0,0,i<<24>>24>=0?128-i|0:0),g=ng(E,I,i),ng(A+96|0,g,128),I=128+(r[A+352|0]|r[A+353|0]<<8|r[A+354|0]<<16|r[A+355|0]<<24)|0,t[A+352|0]=I,t[A+353|0]=I>>>8,t[A+354|0]=I>>>16,t[A+355|0]=I>>>24,NC(g,128),s=g+128|0)}i=0}return 0|i},dc:lC,ec:sg,fc:xC,gc:qg,hc:function(){return 1533},ic:RC,jc:function(){return 104},kc:RI,lc:function(A,I,g,C){return 0|sA(A|=0,I|=0,g|=0,C|=0)},mc:lA,nc:function(A,I,g,C){A|=0,I|=0,g|=0,C|=0;var B,a=0;return s=B=s-112|0,a=i[8835],i[B+16>>2]=i[8834],i[B+20>>2]=a,a=i[8837],i[B+24>>2]=i[8836],i[B+28>>2]=a,a=i[8839],i[B+32>>2]=i[8838],i[B+36>>2]=a,i[B+40>>2]=0,i[B+44>>2]=0,a=i[8833],i[B+8>>2]=i[8832],i[B+12>>2]=a,sA(a=B+8|0,I,g,C),lA(a,A),s=B+112|0,0},oc:xC,pc:HC,qc:_I,rc:zg,sc:K,tc:qg,uc:vC,vc:xC,wc:$C,xc:RC,yc:uI,zc:YC,Ac:vC,Bc:xC,Cc:$C,Dc:RC,Ec:uI,Fc:kC,Gc:function(A,I,g){return A|=0,tC(I|=0,32,g|=0,32,0,0,0),0|eC(A,I)},Hc:function(A,I){return A|=0,ZI(I|=0,32),0|eC(A,I)},Ic:function(A,I,g,C,B){I|=0,g|=0,C|=0,B|=0;var Q,i,o=0,n=0;if(i=o=s,s=o=o-512&-64,Q=(A|=0)||I){if(n=-1,!Og(o+96|0,C,B)){for(C=I||A,A=0,Xg(I=o+128|0,0,0,64),lC(I,n=o+96|0,32,0),NC(n,32),lC(I,g,32,0),lC(I,B,32,0),Tg(I,o+32|0,64),NC(I,384);I=(B=o+32|0)+A|0,t[A+Q|0]=r[0|I],t[A+C|0]=r[I+32|0],t[(g=1|A)+Q|0]=r[g+B|0],t[g+C|0]=r[I+33|0],32!=(0|(A=A+2|0)););NC(o+32|0,64),n=0}return s=i,0|n}$g(),a()},Jc:function(A,I,g,C,B){I|=0,g|=0,C|=0,B|=0;var Q,i,o=0,n=0;if(i=o=s,s=o=o-512&-64,Q=(A|=0)||I){if(n=-1,!Og(o+96|0,C,B)){for(C=I||A,A=0,Xg(I=o+128|0,0,0,64),lC(I,n=o+96|0,32,0),NC(n,32),lC(I,B,32,0),lC(I,g,32,0),Tg(I,o+32|0,64),NC(I,384);I=(B=o+32|0)+A|0,t[A+C|0]=r[0|I],t[A+Q|0]=r[I+32|0],t[(g=1|A)+C|0]=r[g+B|0],t[g+Q|0]=r[I+33|0],32!=(0|(A=A+2|0)););NC(o+32|0,64),n=0}return s=i,0|n}$g(),a()},Kc:RC,Lc:RC,Mc:RC,Nc:RC,Oc:function(){return 1315},Pc:dC,Qc:vC,Rc:RC,Sc:Ug,Tc:Jg,Uc:function(A,I){return 0|BC(A|=0,I|=0)},Vc:jg,Wc:function(A,I){return 0|QC(A|=0,I|=0)},Xc:function(){return 1496},Yc:kC,Zc:Ug,_c:Jg,$c:BC,ad:jg,bd:QC,cd:vC,dd:RC,ed:dC,fd:kC,gd:VC,hd:vC,id:ZC,jd:TC,kd:ZC,ld:vC,md:KC,nd:function(){return 1549},od:WC,pd:ZC,qd:bC,rd:DC,sd:XC,td:FC,ud:function(){return 6},vd:function(){return 134217728},wd:$C,xd:function(){return 536870912},yd:function(A,I,g,C,B,a,Q,t,i,r,o){return 0|AI(A|=0,(A=0)|(I|=0),g|=0,C|=0,A|(B|=0),a|=0,Q|=0,A|(t|=0),i|=0,r|=0,o|=0)},zd:function(A,I,g,C,B,a,Q){return 0|JI(A|=0,I|=0,(A=0)|(g|=0),C|=0,A|(B|=0),a|=0,Q|=0)},Ad:function(A,I,g,C){return 0|sC(A|=0,I|=0,g|=0,C|=0)},Bd:function(A,I,g,C){return 0|pC(A|=0,I|=0,g|=0,C|=0)},Cd:function(A,I,g,C){return 0|fC(A|=0,I|=0,g|=0,C|=0)},Dd:OC,Ed:vC,Fd:ZC,Gd:TC,Hd:ZC,Id:vC,Jd:KC,Kd:MC,Ld:VC,Md:ZC,Nd:bC,Od:DC,Pd:OC,Qd:SC,Rd:WC,Sd:mC,Td:XC,Ud:wC,Vd:function(A,I,g,C,B,a,Q,t,i,r,o){return 0|CI(A|=0,(A=0)|(I|=0),g|=0,C|=0,A|(B|=0),a|=0,Q|=0,A|(t|=0),i|=0,r|=0,o|=0)},Wd:rg,Xd:function(A,I,g,C){return 0|hC(A|=0,I|=0,g|=0,C|=0)},Yd:VC,Zd:OC,_d:OC,$d:vC,ae:ZC,be:TC,ce:ZC,de:vC,ee:KC,fe:MC,ge:VC,he:ZC,ie:bC,je:DC,ke:OC,le:SC,me:WC,ne:mC,oe:XC,pe:wC,qe:function(A,I,g,C,B,a,Q,t,r,o,n){A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0,t|=0,r|=0,o|=0,I|=0,B|=0,t|=0;A:{switch((n|=0)-1|0){case 0:A=AI(A,I,g,C,B,a,Q,t,r,o,1);break A;case 1:A=CI(A,I,g,C,B,a,Q,t,r,o,2);break A}i[9129]=28,A=-1}return 0|A},re:rg,se:function(A,I,g,C,B,Q,t,i){A|=0,I|=0,g|=0,C|=0,B|=0,Q|=0,t|=0,g|=0,B|=0;A:{switch((i|=0)-1|0){case 1:A=vI(A,I,g,C,B,Q,t);break A;default:$g(),a();case 0:}A=JI(A,I,g,C,B,Q,t)}return 0|A},te:function(A,I,g,C){return I|=0,g|=0,C|=0,xI(A|=0,1559,10)?xI(A,1549,9)?(i[9129]=28,A=-1):A=sC(A,I,g,C):A=hC(A,I,g,C),0|A},ue:function(A,I,g,C){return I|=0,g|=0,C|=0,xI(A|=0,1559,10)?xI(A,1549,9)?(i[9129]=28,A=-1):A=pC(A,I,g,C):A=fC(A,I,g,C),0|A},ve:function(){return 1157},we:function(){return 1438},xe:eC,ye:Og,ze:RC,Ae:RC,Be:jA,Ce:IC,De:RC,Ee:RC,Fe:RC,Ge:qC,He:RC,Ie:vC,Je:vC,Ke:PC,Le:function(){return 1488},Me:Sg,Ne:Gg,Oe:kC,Pe:pg,Qe:function(A,I,g,C,B,Q){return A|=0,I|=0,B|=0,Q|=0,!(C|=0)&(g|=0)>>>0>=4294967280|C&&($g(),a()),gI(A+16|0,A,I,g,C,B,Q),0},Re:fg,Se:Cg,Te:Sg,Ue:Gg,Ve:RC,We:qC,Xe:RC,Ye:vC,Ze:vC,_e:PC,$e:kC,af:kC,bf:function(A,I,g){return A|=0,g|=0,ZI(I|=0,24),BA(A,I,g,0),t[A+32|0]=1,t[A+33|0]=0,t[A+34|0]=0,t[A+35|0]=0,g=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,I=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,t[A+44|0]=0,t[A+45|0]=0,t[A+46|0]=0,t[A+47|0]=0,t[A+48|0]=0,t[A+49|0]=0,t[A+50|0]=0,t[A+51|0]=0,t[A+36|0]=g,t[A+37|0]=g>>>8,t[A+38|0]=g>>>16,t[A+39|0]=g>>>24,t[A+40|0]=I,t[A+41|0]=I>>>8,t[A+42|0]=I>>>16,t[A+43|0]=I>>>24,0},cf:function(A,I,g){return BA(A|=0,I|=0,g|=0,0),t[A+32|0]=1,t[A+33|0]=0,t[A+34|0]=0,t[A+35|0]=0,g=r[I+16|0]|r[I+17|0]<<8|r[I+18|0]<<16|r[I+19|0]<<24,I=r[I+20|0]|r[I+21|0]<<8|r[I+22|0]<<16|r[I+23|0]<<24,t[A+44|0]=0,t[A+45|0]=0,t[A+46|0]=0,t[A+47|0]=0,t[A+48|0]=0,t[A+49|0]=0,t[A+50|0]=0,t[A+51|0]=0,t[A+36|0]=g,t[A+37|0]=g>>>8,t[A+38|0]=g>>>16,t[A+39|0]=g>>>24,t[A+40|0]=I,t[A+41|0]=I>>>8,t[A+42|0]=I>>>16,t[A+43|0]=I>>>24,0},df:function(A){var I,g=0,C=0;s=I=s-48|0,g=r[28+(A|=0)|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24,i[I+24>>2]=r[A+24|0]|r[A+25|0]<<8|r[A+26|0]<<16|r[A+27|0]<<24,i[I+28>>2]=g,g=r[A+20|0]|r[A+21|0]<<8|r[A+22|0]<<16|r[A+23|0]<<24,i[I+16>>2]=r[A+16|0]|r[A+17|0]<<8|r[A+18|0]<<16|r[A+19|0]<<24,i[I+20>>2]=g,g=r[A+4|0]|r[A+5|0]<<8|r[A+6|0]<<16|r[A+7|0]<<24,i[I>>2]=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,i[I+4>>2]=g,g=r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24,i[I+8>>2]=r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24,i[I+12>>2]=g,g=r[A+40|0]|r[A+41|0]<<8|r[A+42|0]<<16|r[A+43|0]<<24,i[I+32>>2]=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24,i[I+36>>2]=g,wg(I,I,40,0,A+32|0,A),g=i[I+28>>2],C=i[I+24>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=g,t[A+29|0]=g>>>8,t[A+30|0]=g>>>16,t[A+31|0]=g>>>24,g=i[I+20>>2],C=i[I+16>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=g,t[A+21|0]=g>>>8,t[A+22|0]=g>>>16,t[A+23|0]=g>>>24,g=i[I+12>>2],C=i[I+8>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=g,t[A+13|0]=g>>>8,t[A+14|0]=g>>>16,t[A+15|0]=g>>>24,g=i[I+4>>2],C=i[I>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=g,t[A+5|0]=g>>>8,t[A+6|0]=g>>>16,t[A+7|0]=g>>>24,C=i[I+36>>2],g=i[I+32>>2],t[A+32|0]=1,t[A+33|0]=0,t[A+34|0]=0,t[A+35|0]=0,t[A+36|0]=g,t[A+37|0]=g>>>8,t[A+38|0]=g>>>16,t[A+39|0]=g>>>24,t[A+40|0]=C,t[A+41|0]=C>>>8,t[A+42|0]=C>>>16,t[A+43|0]=C>>>24,s=I+48|0},ef:function(A,I,g,C,B,Q,o,n,c,e){A|=0,I|=0,C|=0,o|=0,c|=0,e|=0;var E,_=0,y=0,p=0;return _=B|=0,B=Q|=0,_|=Q=0,E=Q|(n|=0),s=Q=s-384|0,(g|=0)&&(i[g>>2]=0,i[g+4>>2]=0),!B&_>>>0<4294967279?(Mg(y=Q+16|0,64,0,p=A+32|0,A),BC(n=Q+80|0,y),NC(y,64),rC(n,o,E,c),rC(n,35680,0-E&15,0),i[Q+72>>2]=0,i[Q+76>>2]=0,i[(o=Q- -64|0)>>2]=0,i[o+4>>2]=0,i[Q+56>>2]=0,i[Q+60>>2]=0,i[Q+48>>2]=0,i[Q+52>>2]=0,i[Q+40>>2]=0,i[Q+44>>2]=0,i[Q+32>>2]=0,i[Q+36>>2]=0,i[Q+16>>2]=0,i[Q+20>>2]=0,i[Q+24>>2]=0,i[Q+28>>2]=0,t[Q+16|0]=e,qI(y,y,64,0,p,1,A),rC(n,y,64,0),t[0|I]=r[Q+16|0],qI(I=I+1|0,C,_,B,p,2,A),rC(n,I,_,B),rC(n,35680,15&_,0),i[Q+8>>2]=E,i[Q+12>>2]=c,rC(n,C=Q+8|0,8,0),i[Q+8>>2]=_- -64,i[Q+12>>2]=B-((_>>>0<4294967232)-1|0),rC(n,C,8,0),QC(n,I=I+_|0),NC(n,256),t[A+36|0]=r[A+36|0]^r[0|I],t[A+37|0]=r[A+37|0]^r[I+1|0],t[A+38|0]=r[A+38|0]^r[I+2|0],t[A+39|0]=r[A+39|0]^r[I+3|0],t[A+40|0]=r[A+40|0]^r[I+4|0],t[A+41|0]=r[A+41|0]^r[I+5|0],t[A+42|0]=r[A+42|0]^r[I+6|0],t[A+43|0]=r[A+43|0]^r[I+7|0],YI(p),(2&e||EI(p,4))&&(I=r[A+28|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24,i[Q+360>>2]=r[A+24|0]|r[A+25|0]<<8|r[A+26|0]<<16|r[A+27|0]<<24,i[Q+364>>2]=I,I=r[A+20|0]|r[A+21|0]<<8|r[A+22|0]<<16|r[A+23|0]<<24,i[Q+352>>2]=r[A+16|0]|r[A+17|0]<<8|r[A+18|0]<<16|r[A+19|0]<<24,i[Q+356>>2]=I,I=r[A+4|0]|r[A+5|0]<<8|r[A+6|0]<<16|r[A+7|0]<<24,i[Q+336>>2]=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,i[Q+340>>2]=I,I=r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24,i[Q+344>>2]=r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24,i[Q+348>>2]=I,I=r[A+40|0]|r[A+41|0]<<8|r[A+42|0]<<16|r[A+43|0]<<24,i[Q+368>>2]=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24,i[Q+372>>2]=I,wg(I=Q+336|0,I,40,0,p,A),I=i[Q+364>>2],C=i[Q+360>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[Q+356>>2],C=i[Q+352>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[Q+348>>2],C=i[Q+344>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[Q+340>>2],C=i[Q+336>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,I=i[Q+368>>2],C=i[Q+372>>2],t[A+32|0]=1,t[A+33|0]=0,t[A+34|0]=0,t[A+35|0]=0,t[A+36|0]=I,t[A+37|0]=I>>>8,t[A+38|0]=I>>>16,t[A+39|0]=I>>>24,t[A+40|0]=C,t[A+41|0]=C>>>8,t[A+42|0]=C>>>16,t[A+43|0]=C>>>24),g&&(B=(A=_+17|0)>>>0<17?B+1|0:B,i[g>>2]=A,i[g+4>>2]=B),s=Q+384|0):($g(),a()),0},ff:function(A,I,g,C,B,Q,o,n,c,e){A|=0,I|=0,C|=0,B|=0,n|=0,e|=0;var E,_=0,y=0,p=0,f=0,h=0,l=0;_=Q|=0,Q=o|=0,y=0|_,E=c|=0,s=o=s-400|0,(g|=0)&&(i[g>>2]=0,i[g+4>>2]=0),C&&(t[0|C]=255),l=-1;A:{I:{if(!(!Q&y>>>0<17)){if(h=_=Q-(y>>>0<17)|0,!_&(c=y-17|0)>>>0>=4294967279|_)break I;Mg(p=o+32|0,64,0,f=A+32|0,A),BC(_=o+96|0,p),NC(p,64),rC(_,n,E,e),rC(_,35680,0-E&15,0),i[o+88>>2]=0,i[o+92>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+72>>2]=0,i[o+76>>2]=0,i[(n=o- -64|0)>>2]=0,i[n+4>>2]=0,i[o+56>>2]=0,i[o+60>>2]=0,i[o+48>>2]=0,i[o+52>>2]=0,i[o+40>>2]=0,i[o+44>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0,t[o+32|0]=r[0|B],qI(p,p,64,0,f,1,A),n=r[o+32|0],t[o+32|0]=r[0|B],rC(_,p,64,0),rC(_,B=B+1|0,c,h),rC(_,35680,y-1&15,0),i[o+24>>2]=E,i[o+28>>2]=e,rC(_,e=o+24|0,8,0),Q=(y=y+47|0)>>>0<47?Q+1|0:Q,i[o+24>>2]=y,i[o+28>>2]=Q,rC(_,e,8,0),QC(_,o),NC(_,256),sI(o,B+c|0,16)?NC(o,16):(qI(I,B,c,h,f,2,A),t[A+36|0]=r[A+36|0]^r[0|o],t[A+37|0]=r[A+37|0]^r[o+1|0],t[A+38|0]=r[A+38|0]^r[o+2|0],t[A+39|0]=r[A+39|0]^r[o+3|0],t[A+40|0]=r[A+40|0]^r[o+4|0],t[A+41|0]=r[A+41|0]^r[o+5|0],t[A+42|0]=r[A+42|0]^r[o+6|0],t[A+43|0]=r[A+43|0]^r[o+7|0],YI(f),(2&n||EI(f,4))&&(I=r[A+28|0]|r[A+29|0]<<8|r[A+30|0]<<16|r[A+31|0]<<24,i[o+376>>2]=r[A+24|0]|r[A+25|0]<<8|r[A+26|0]<<16|r[A+27|0]<<24,i[o+380>>2]=I,I=r[A+20|0]|r[A+21|0]<<8|r[A+22|0]<<16|r[A+23|0]<<24,i[o+368>>2]=r[A+16|0]|r[A+17|0]<<8|r[A+18|0]<<16|r[A+19|0]<<24,i[o+372>>2]=I,I=r[A+4|0]|r[A+5|0]<<8|r[A+6|0]<<16|r[A+7|0]<<24,i[o+352>>2]=r[0|A]|r[A+1|0]<<8|r[A+2|0]<<16|r[A+3|0]<<24,i[o+356>>2]=I,I=r[A+12|0]|r[A+13|0]<<8|r[A+14|0]<<16|r[A+15|0]<<24,i[o+360>>2]=r[A+8|0]|r[A+9|0]<<8|r[A+10|0]<<16|r[A+11|0]<<24,i[o+364>>2]=I,I=r[A+40|0]|r[A+41|0]<<8|r[A+42|0]<<16|r[A+43|0]<<24,i[o+384>>2]=r[A+36|0]|r[A+37|0]<<8|r[A+38|0]<<16|r[A+39|0]<<24,i[o+388>>2]=I,wg(I=o+352|0,I,40,0,f,A),I=i[o+380>>2],B=i[o+376>>2],t[A+24|0]=B,t[A+25|0]=B>>>8,t[A+26|0]=B>>>16,t[A+27|0]=B>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[o+372>>2],B=i[o+368>>2],t[A+16|0]=B,t[A+17|0]=B>>>8,t[A+18|0]=B>>>16,t[A+19|0]=B>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[o+364>>2],B=i[o+360>>2],t[A+8|0]=B,t[A+9|0]=B>>>8,t[A+10|0]=B>>>16,t[A+11|0]=B>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[o+356>>2],B=i[o+352>>2],t[0|A]=B,t[A+1|0]=B>>>8,t[A+2|0]=B>>>16,t[A+3|0]=B>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,I=i[o+384>>2],B=i[o+388>>2],t[A+32|0]=1,t[A+33|0]=0,t[A+34|0]=0,t[A+35|0]=0,t[A+36|0]=I,t[A+37|0]=I>>>8,t[A+38|0]=I>>>16,t[A+39|0]=I>>>24,t[A+40|0]=B,t[A+41|0]=B>>>8,t[A+42|0]=B>>>16,t[A+43|0]=B>>>24),g&&(i[g>>2]=c,i[g+4>>2]=h),l=0,C&&(t[0|C]=n))}s=o+400|0;break A}$g(),a()}return 0|l},gf:function(){return 52},hf:function(){return 17},jf:qC,kf:RC,lf:function(){return-18},mf:TC,nf:VC,of:OC,pf:WC,qf:$C,rf:vC,sf:function(){return 1523},tf:v,uf:function(A){ZI(A|=0,16)},vf:$C,wf:vC,xf:v,yf:HC,zf:xC,Af:RC,Bf:RC,Cf:xC,Df:zC,Ef:function(){return 1449},Ff:function(A,I,g){return 0|EA(A|=0,I|=0,g|=0)},Gf:function(A,I){return 0|uA(A|=0,I|=0)},Hf:NI,If:hI,Jf:mg,Kf:Yg,Lf:function(A){return 0|uC(A|=0)},Mf:zg,Nf:function(A,I,g,C){return 0|tg(A|=0,I|=0,g|=0,C|=0)},Of:function(A,I,g){return 0|Eg(A|=0,I|=0,g|=0)},Pf:HC,Qf:xC,Rf:RC,Sf:RC,Tf:xC,Uf:zC,Vf:function(A,I){A|=0;var g,C,B,a,Q,i,o=0;return g=r[8+(o=I|=0)|0]|r[o+9|0]<<8|r[o+10|0]<<16|r[o+11|0]<<24,C=r[o+12|0]|r[o+13|0]<<8|r[o+14|0]<<16|r[o+15|0]<<24,B=r[o+16|0]|r[o+17|0]<<8|r[o+18|0]<<16|r[o+19|0]<<24,a=r[o+20|0]|r[o+21|0]<<8|r[o+22|0]<<16|r[o+23|0]<<24,Q=r[0|o]|r[o+1|0]<<8|r[o+2|0]<<16|r[o+3|0]<<24,I=r[o+4|0]|r[o+5|0]<<8|r[o+6|0]<<16|r[o+7|0]<<24,i=r[o+28|0]|r[o+29|0]<<8|r[o+30|0]<<16|r[o+31|0]<<24,o=r[o+24|0]|r[o+25|0]<<8|r[o+26|0]<<16|r[o+27|0]<<24,t[A+24|0]=o,t[A+25|0]=o>>>8,t[A+26|0]=o>>>16,t[A+27|0]=o>>>24,t[A+28|0]=i,t[A+29|0]=i>>>8,t[A+30|0]=i>>>16,t[A+31|0]=i>>>24,t[A+16|0]=B,t[A+17|0]=B>>>8,t[A+18|0]=B>>>16,t[A+19|0]=B>>>24,t[A+20|0]=a,t[A+21|0]=a>>>8,t[A+22|0]=a>>>16,t[A+23|0]=a>>>24,t[A+8|0]=g,t[A+9|0]=g>>>8,t[A+10|0]=g>>>16,t[A+11|0]=g>>>24,t[A+12|0]=C,t[A+13|0]=C>>>8,t[A+14|0]=C>>>16,t[A+15|0]=C>>>24,t[0|A]=Q,t[A+1|0]=Q>>>8,t[A+2|0]=Q>>>16,t[A+3|0]=Q>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,0},Wf:function(A,I){A|=0;var g,C,B,a,Q,i,o=0;return g=r[32+(o=I|=0)|0]|r[o+33|0]<<8|r[o+34|0]<<16|r[o+35|0]<<24,C=r[o+36|0]|r[o+37|0]<<8|r[o+38|0]<<16|r[o+39|0]<<24,B=r[o+40|0]|r[o+41|0]<<8|r[o+42|0]<<16|r[o+43|0]<<24,a=r[o+44|0]|r[o+45|0]<<8|r[o+46|0]<<16|r[o+47|0]<<24,Q=r[o+48|0]|r[o+49|0]<<8|r[o+50|0]<<16|r[o+51|0]<<24,I=r[o+52|0]|r[o+53|0]<<8|r[o+54|0]<<16|r[o+55|0]<<24,i=r[o+60|0]|r[o+61|0]<<8|r[o+62|0]<<16|r[o+63|0]<<24,o=r[o+56|0]|r[o+57|0]<<8|r[o+58|0]<<16|r[o+59|0]<<24,t[A+24|0]=o,t[A+25|0]=o>>>8,t[A+26|0]=o>>>16,t[A+27|0]=o>>>24,t[A+28|0]=i,t[A+29|0]=i>>>8,t[A+30|0]=i>>>16,t[A+31|0]=i>>>24,t[A+16|0]=Q,t[A+17|0]=Q>>>8,t[A+18|0]=Q>>>16,t[A+19|0]=Q>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,t[A+8|0]=B,t[A+9|0]=B>>>8,t[A+10|0]=B>>>16,t[A+11|0]=B>>>24,t[A+12|0]=a,t[A+13|0]=a>>>8,t[A+14|0]=a>>>16,t[A+15|0]=a>>>24,t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,t[A+4|0]=C,t[A+5|0]=C>>>8,t[A+6|0]=C>>>16,t[A+7|0]=C>>>24,0},Xf:uC,Yf:zg,Zf:tg,_f:Eg,$f:EA,ag:uA,bg:function(A,I){A|=0;var g,C=0,B=0,a=0,Q=0,t=0,r=0,o=0,c=0,e=0,E=0,_=0,y=0,p=0,f=0,l=0,u=0,D=0,w=0,m=0,k=0,F=0,S=0,G=0,N=0,b=0,M=0,H=0,Y=0,U=0,J=0,d=0,K=0,x=0,v=0,R=0,P=0,q=0,j=0,z=0,X=0,V=0,W=0,Z=0,O=0,T=0,$=0,AA=0,IA=0,gA=0,CA=0,BA=0,aA=0,QA=0,tA=0,iA=0,rA=0,oA=0,nA=0,cA=0,eA=0,EA=0,_A=0,yA=0,sA=0,pA=0,fA=0,hA=0,lA=0,uA=0,DA=0,wA=0,mA=0,kA=0,FA=0,SA=0,GA=0,bA=0,MA=0,YA=0,UA=0;return s=g=s-256|0,mA=-1,pI(I|=0)||HA(g+96|0,I)||L(g+96|0)&&(a=i[g+136>>2],i[g>>2]=1-a,mA=0,K=i[g+172>>2],i[g+36>>2]=0-K,l=i[g+168>>2],i[g+32>>2]=0-l,x=i[g+164>>2],i[g+28>>2]=0-x,u=i[g+160>>2],i[g+24>>2]=0-u,v=i[g+156>>2],i[g+20>>2]=0-v,D=i[g+152>>2],i[g+16>>2]=0-D,R=i[g+148>>2],i[g+12>>2]=0-R,w=i[g+144>>2],i[g+8>>2]=0-w,P=i[g+140>>2],i[g+4>>2]=0-P,NA(g,g),I=PI(m=i[g+4>>2],U=m>>31,k=v<<1,gA=k>>31),C=h,B=PI(f=i[g>>2],S=f>>31,u,G=u>>31),C=h+C|0,C=(I=B+I|0)>>>0>>0?C+1|0:C,B=(Q=PI(N=i[g+8>>2],q=N>>31,D,b=D>>31))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(J=i[g+12>>2],X=J>>31,Z=R<<1,CA=Z>>31),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=PI(j=i[g+16>>2],O=j>>31,w,M=w>>31),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,fA=Q=i[g+20>>2],y=PI(Q,BA=Q>>31,T=P<<1,aA=T>>31),B=h+I|0,B=(C=y+C|0)>>>0>>0?B+1|0:B,hA=e=i[g+24>>2],I=(a=PI(e,yA=e>>31,y=a+1|0,H=y>>31))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,QA=i[g+28>>2],B=(a=PI(r=n(QA,19),V=r>>31,$=K<<1,tA=$>>31))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,kA=i[g+32>>2],B=PI(p=n(kA,19),z=p>>31,l,Y=l>>31),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,FA=i[g+36>>2],B=PI(_=n(FA,19),d=_>>31,AA=x<<1,iA=AA>>31),I=h+I|0,o=C=B+C|0,a=C>>>0>>0?I+1|0:I,I=PI(D,b,m,U),C=h,t=PI(f,S,v,rA=v>>31),B=h+C|0,B=(I=t+I|0)>>>0>>0?B+1|0:B,t=PI(N,q,R,oA=R>>31),C=h+B|0,C=(I=t+I|0)>>>0>>0?C+1|0:C,B=(t=PI(w,M,J,X))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(j,O,P,nA=P>>31),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=PI(y,H,Q,BA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,t=PI(e=n(e,19),IA=e>>31,K,cA=K>>31),B=h+I|0,B=(C=t+C|0)>>>0>>0?B+1|0:B,I=(t=PI(l,Y,r,V))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,B=(t=PI(p,z,x,eA=x>>31))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(_,d,u,G),I=h+I|0,lA=C=C+B|0,W=C>>>0>>0?I+1|0:I,I=PI(m,U,Z,CA),B=h,C=(t=PI(f,S,D,b))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,t=PI(w,M,N,q),B=h+I|0,B=(C=t+C|0)>>>0>>0?B+1|0:B,I=(t=PI(J,X,T,aA))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,B=(t=PI(y,H,j,O))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(t=n(Q,19),EA=t>>31,$,tA),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=PI(l,Y,e,IA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,Q=PI(r,V,AA,iA),B=h+I|0,B=(C=Q+C|0)>>>0>>0?B+1|0:B,I=(Q=PI(p,z,u,G))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,B=(Q=PI(_,d,k,gA))+I|0,I=h+C|0,SA=B,GA=I=B>>>0>>0?I+1|0:I,bA=B=B+33554432|0,MA=I=B>>>0<33554432?I+1|0:I,B=(67108863&I)<<6|B>>>26,I=(I>>26)+W|0,lA=Q=B+lA|0,B=I=B>>>0>Q>>>0?I+1|0:I,YA=I=Q+16777216|0,Q=(33554431&(B=I>>>0<16777216?B+1|0:B))<<7|I>>>25,I=(C=B>>25)+a|0,I=(B=Q+o|0)>>>0>>0?I+1|0:I,uA=C=B+33554432|0,Q=I=C>>>0<33554432?I+1|0:I,i[g+72>>2]=B-(-67108864&C),I=PI(m,U,T,aA),C=h,a=PI(f,S,w,M),B=h+C|0,B=(I=a+I|0)>>>0>>0?B+1|0:B,C=(a=PI(y,H,N,q))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,B=PI(a=n(J,19),_A=a>>31,$,tA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=(o=PI(W=n(j,19),sA=W>>31,l,Y))+C|0,C=h+I|0,C=B>>>0>>0?C+1|0:C,o=PI(AA,iA,t,EA),I=h+C|0,I=(B=o+B|0)>>>0>>0?I+1|0:I,C=(o=PI(u,G,e,IA))+B|0,B=h+I|0,B=C>>>0>>0?B+1|0:B,o=PI(r,V,k,gA),I=h+B|0,I=(C=o+C|0)>>>0>>0?I+1|0:I,B=PI(p,z,D,b),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=(o=PI(_,d,Z,CA))+C|0,C=h+I|0,E=B,DA=B>>>0>>0?C+1|0:C,I=PI(y,H,m,U),C=h,B=(o=PI(f,S,P,nA))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,o=C=n(N,19),C=(c=PI(C,pA=C>>31,K,cA))+B|0,B=h+I|0,B=C>>>0>>0?B+1|0:B,c=PI(l,Y,a,_A),I=h+B|0,I=(C=c+C|0)>>>0>>0?I+1|0:I,B=PI(W,sA,x,eA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=(c=PI(u,G,t,EA))+C|0,C=h+I|0,C=B>>>0>>0?C+1|0:C,c=PI(e,IA,v,rA),I=h+C|0,I=(B=c+B|0)>>>0>>0?I+1|0:I,C=(c=PI(D,b,r,V))+B|0,B=h+I|0,B=C>>>0>>0?B+1|0:B,c=PI(p,z,R,oA),I=h+B|0,I=(C=c+C|0)>>>0>>0?I+1|0:I,B=PI(_,d,w,M),I=h+I|0,wA=C=B+C|0,c=C>>>0>>0?I+1|0:I,I=PI(I=n(m,19),I>>31,$,tA),C=h,B=PI(f,S,y,H),C=h+C|0,C=(I=B+I|0)>>>0>>0?C+1|0:C,B=(o=PI(l,Y,o,pA))+I|0,I=h+C|0,C=(a=PI(a,_A,AA,iA))+B|0,B=h+(B>>>0>>0?I+1|0:I)|0,B=C>>>0>>0?B+1|0:B,a=PI(u,G,W,sA),I=h+B|0,I=(C=a+C|0)>>>0>>0?I+1|0:I,B=PI(k,gA,t,EA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=(a=PI(D,b,e,IA))+C|0,C=h+I|0,C=B>>>0>>0?C+1|0:C,a=PI(r,V,Z,CA),I=h+C|0,I=(B=a+B|0)>>>0>>0?I+1|0:I,C=(a=PI(p,z,w,M))+B|0,B=h+I|0,B=C>>>0>>0?B+1|0:B,a=PI(_,d,T,aA),I=h+B|0,o=C=a+C|0,_A=I=C>>>0>>0?I+1|0:I,pA=C=C+33554432|0,UA=I=C>>>0<33554432?I+1|0:I,B=I>>26,I=(67108863&I)<<6|C>>>26,C=B+c|0,c=a=I+wA|0,I=C=I>>>0>a>>>0?C+1|0:C,wA=C=a+16777216|0,a=(33554431&(I=C>>>0<16777216?I+1|0:I))<<7|C>>>25,I=(I>>25)+DA|0,I=(C=a+E|0)>>>0>>0?I+1|0:I,B=C,DA=C=C+33554432|0,a=I=C>>>0<33554432?I+1|0:I,i[g+56>>2]=B-(-67108864&C),I=PI(u,G,m,U),B=h,C=(E=PI(f,S,x,eA))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,B=PI(N,q,v,rA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=PI(D,b,J,X),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,E=PI(j,O,R,oA),B=h+I|0,B=(C=E+C|0)>>>0>>0?B+1|0:B,I=(E=PI(w,M,fA,BA))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,B=(E=PI(P,nA,hA,yA))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(QA,E=QA>>31,y,H),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=PI(p,z,K,cA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,F=(B=C)+(C=PI(_,d,l,Y))|0,B=h+I|0,C=(I=Q>>26)+(C=C>>>0>F>>>0?B+1|0:B)|0,I=(B=(Q=(67108863&Q)<<6|uA>>>26)+F|0)>>>0>>0?C+1|0:C,uA=C=B+16777216|0,Q=I=C>>>0<16777216?I+1|0:I,i[g+76>>2]=B-(-33554432&C),I=PI(w,M,m,U),C=h,F=PI(f,S,R,oA),B=h+C|0,B=(I=F+I|0)>>>0>>0?B+1|0:B,F=PI(N,q,P,nA),C=h+B|0,C=(I=F+I|0)>>>0>>0?C+1|0:C,B=(F=PI(y,H,J,X))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(W,sA,K,cA),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=PI(l,Y,t,EA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,C=(e=PI(e,IA,x,eA))+C|0,B=h+I|0,I=(r=PI(u,G,r,V))+C|0,C=h+(C>>>0>>0?B+1|0:B)|0,B=(p=PI(p,z,v,rA))+I|0,I=h+(I>>>0>>0?C+1|0:C)|0,I=B>>>0

>>0?I+1|0:I,C=B,B=PI(_,d,D,b),I=h+I|0,r=C=C+B|0,I=(I=C>>>0>>0?I+1|0:I)+(C=a>>26)|0,B=(C=a=r+(B=(67108863&a)<<6|DA>>>26)|0)>>>0>>0?I+1|0:I,p=I=C+16777216|0,a=B=I>>>0<16777216?B+1|0:B,i[g+60>>2]=C-(-33554432&I),I=PI(m,U,AA,iA),B=h,C=(r=PI(f,S,l,Y))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,B=PI(u,G,N,q),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,r=PI(J,X,k,gA),B=h+I|0,B=(C=r+C|0)>>>0>>0?B+1|0:B,I=(r=PI(D,b,j,O))+C|0,C=h+B|0,C=I>>>0>>0?C+1|0:C,B=(r=PI(Z,CA,fA,BA))+I|0,I=h+C|0,I=B>>>0>>0?I+1|0:I,C=B,B=PI(w,M,hA,yA),I=h+I|0,I=(C=C+B|0)>>>0>>0?I+1|0:I,B=C,C=PI(QA,E,T,aA),I=h+I|0,I=C>>>0>(B=B+C|0)>>>0?I+1|0:I,r=C=kA,C=(k=PI(C,e=C>>31,y,H))+B|0,B=h+I|0,I=(_=PI(_,d,$,tA))+C|0,C=h+(C>>>0>>0?B+1|0:B)|0,B=I>>>0<_>>>0?C+1|0:C,C=I,I=(I=Q>>25)+B|0,I=(C=C+(Q=(33554431&Q)<<7|uA>>>25)|0)>>>0>>0?I+1|0:I,B=C,_=C=C+33554432|0,Q=I=C>>>0<33554432?I+1|0:I,i[g+80>>2]=B-(-67108864&C),C=a>>25,B=(a=(33554431&a)<<7|p>>>25)+(SA-(I=-67108864&bA)|0)|0,I=C+(GA-((I>>>0>SA>>>0)+MA|0)|0)|0,I=B>>>0>>0?I+1|0:I,a=I=(67108863&(I=(C=B+33554432|0)>>>0<33554432?I+1|0:I))<<6|C>>>26,I=I+(k=lA-(-33554432&YA)|0)|0,i[g+68>>2]=I,i[g+64>>2]=B-(-67108864&C),I=PI(l,Y,m,U),B=h,C=(a=PI(f,S,K,cA))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,B=(a=PI(N,q,x,eA))+C|0,C=h+I|0,C=B>>>0>>0?C+1|0:C,I=(a=PI(u,G,J,X))+B|0,B=h+C|0,B=I>>>0>>0?B+1|0:B,C=(a=PI(j,O,v,rA))+I|0,I=h+B|0,I=C>>>0>>0?I+1|0:I,B=PI(D,b,fA,BA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=PI(R,oA,hA,yA),I=h+I|0,I=(C=B+C|0)>>>0>>0?I+1|0:I,B=(a=PI(w,M,QA,E))+C|0,C=h+I|0,C=B>>>0>>0?C+1|0:C,a=(I=PI(r,e,P,nA))+B|0,B=h+C|0,B=I>>>0>a>>>0?B+1|0:B,C=a,a=PI(I=FA,I>>31,y,H),I=h+B|0,B=C=C+a|0,I=(I=C>>>0>>0?I+1|0:I)+(C=Q>>26)|0,I=(B=B+(Q=(67108863&Q)<<6|_>>>26)|0)>>>0>>0?I+1|0:I,I=(C=B+16777216|0)>>>0<16777216?I+1|0:I,i[g+84>>2]=B-(-33554432&C),Q=c-(-33554432&wA)|0,a=o-(B=-67108864&pA)|0,f=_A-((B>>>0>o>>>0)+UA|0)|0,I=PI((33554431&(B=I))<<7|C>>>25,I>>=25,19,0),C=h+f|0,I=I>>>0>(B=I+a|0)>>>0?C+1|0:C,a=I=(67108863&(I=(C=B+33554432|0)>>>0<33554432?I+1|0:I))<<6|C>>>26,I=I+Q|0,i[g+52>>2]=I,i[g+48>>2]=B-(-67108864&C),zA(A,g+48|0)),s=g+256|0,0|mA},cg:function(A,I){A|=0;var g,C=0;return s=g=s+-64|0,cI(g,I|=0,32,0),t[0|g]=248&r[0|g],t[g+31|0]=63&r[g+31|0]|64,I=i[g+20>>2],C=i[g+16>>2],t[A+16|0]=C,t[A+17|0]=C>>>8,t[A+18|0]=C>>>16,t[A+19|0]=C>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[g+12>>2],C=i[g+8>>2],t[A+8|0]=C,t[A+9|0]=C>>>8,t[A+10|0]=C>>>16,t[A+11|0]=C>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[g+4>>2],C=i[g>>2],t[0|A]=C,t[A+1|0]=C>>>8,t[A+2|0]=C>>>16,t[A+3|0]=C>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,I=i[g+28>>2],C=i[g+24>>2],t[A+24|0]=C,t[A+25|0]=C>>>8,t[A+26|0]=C>>>16,t[A+27|0]=C>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,NC(g,64),s=g- -64|0,0},dg:Yg,eg:hI,fg:mg,gg:NI,hg:RC,ig:$C,jg:ZC,kg:RC,lg:jC,mg:ZC,ng:function(A,I,g,C,B){return 0|bg(A|=0,I|=0,g|=0,C|=0,B|=0)},og:function(A,I,g,C,B,a,Q,t){return 0|hg(A|=0,I|=0,(A=0)|(g|=0),C|=0,B|=0,A|(a|=0),Q|=0,t|=0)},pg:function(A,I,g,C,B,a){return 0|Dg(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)},qg:function(A,I,g,C,B){return 0|Mg(A|=0,I|=0,g|=0,C|=0,B|=0)},rg:function(A,I,g,C,B,a,Q){return 0|qI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},sg:function(A,I,g,C,B,a){return 0|wg(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)},tg:kC,ug:kC,vg:RC,wg:qC,xg:ZC,yg:function(){return 1540},zg:dg,Ag:Ng,Bg:kC,Cg:RC,Dg:$C,Eg:ZC,Fg:function(A,I,g,C,B){return 0|CC(A|=0,I|=0,g|=0,C|=0,B|=0)},Gg:function(A,I,g,C,B,a,Q,t){return 0|Lg(A|=0,I|=0,(A=0)|(g|=0),C|=0,B|=0,A|(a|=0),Q|=0,t|=0)},Hg:function(A,I,g,C,B,a){return 0|Vg(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0)},Ig:kC,Jg:dg,Kg:function(A,I,g,C,B,a,Q,t){var i;return A|=0,I|=0,g|=0,C|=0,a|=0,Q|=0,s=i=s-32|0,nA(i,B|=0,t|=0,0),A=Lg(t=A,I,(A=0)|g,C,B+16|0,A|a,Q,i),NC(i,32),s=i+32|0,0|A},Lg:Ng,Mg:RC,Ng:qC,Og:ZC,Pg:kC,Qg:vC,Rg:RC,Sg:xC,Tg:WA,Ug:nC,Vg:oC,Wg:function(){return 1089},Xg:function(){var A,I;return s=A=s-16|0,t[A+15|0]=0,I=0|e(35752,A+15|0,0),s=A+16|0,0|I},Yg:Kg,Zg:function(A){var I,g=0,C=0;if(s=I=s-16|0,(A|=0)>>>0>=2){for(g=(0-A>>>0)%(A>>>0)|0;t[I+15|0]=0,g>>>0>(C=0|e(35752,I+15|0,0))>>>0;);g=(C>>>0)%(A>>>0)|0}return s=I+16|0,0|g},_g:ZI,$g:function(A,I,g){Mg(A|=0,I|=0,0,1574,g|=0)},ah:RC,bh:function(){var A=0,I=0;return(A=i[9128])&&(A=i[A+20>>2])&&(I=0|IB[0|A]()),0|I},ch:function(A,I,g){A|=0,I|=0;var C,B=0,Q=0,i=0;if(s=C=s-16|0,g|=0)E(1329,1175,197,1092),a();else{if(I)for(;t[C+15|0]=0,Q=A+B|0,i=0|e(35752,C+15|0,0),t[0|Q]=i,(0|I)!=(0|(B=B+1|0)););s=C+16|0}},dh:function(A,I,g,C){A|=0,g|=0;var B=0,Q=0,i=0;if(!((C|=0)>>>0>2147483646|C<<1>>>0>=(I|=0)>>>0)){if(I=0,C){for(;B=(I<<1)+A|0,Q=15&(i=r[I+g|0]),t[B+1|0]=22272+((Q<<8)+(Q+65526&55552)|0)>>>8,Q=B,B=i>>>4|0,t[0|Q]=87+((B+65526>>>8&217)+B|0),(0|C)!=(0|(I=I+1|0)););I=C<<1}else I=0;return t[I+A|0]=0,0|A}$g(),a()},eh:function(A,I,g,C,B,a,Q){A|=0,I|=0,g|=0,B|=0,a|=0,Q|=0;var o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0;A:if(C|=0){I:{g:{C:{B:{if(!B){for(n=1,B=0;;){if(!(255&((y=(65526+(c=(223&(E=r[g+o|0]))-55&255)^c+65520)>>>8|0)|(s=65526+(E^=48)>>>8|0))))break C;if(I>>>0<=_>>>0)break B;if(c=c&y|E&s,255&e?(t[A+_|0]=B|c,_=_+1|0):B=c<<4,e^=-1,(0|(o=o+1|0))==(0|C))break}o=C;break C}for(;;){a:{Q:{t:{i:{r:{if(!(255&((E=(65526+(c=(223&(n=r[g+o|0]))-55&255)^c+65520)>>>8|0)|(s=65526+(y=48^n)>>>8|0)))){if(255&e)break g;if(!eI(B,n))break A;if((o=e=o+1|0)>>>0>>0)break r;break A}if(I>>>0<=_>>>0)break B;if(n=c&E|y&s,!(255&e))break i;t[A+_|0]=n|f,_=_+1|0;break a}for(;;){if(!(255&((E=(65526+(c=(223&(n=r[g+o|0]))-55&255)^c+65520)>>>8|0)|(s=65526+(y=48^n)>>>8|0)))){if(!eI(B,n))break A;if((o=o+1|0)>>>0>>0)continue;break t}break}if(I>>>0<=_>>>0)break Q;n=c&E|y&s}f=n<<4,e=0;break a}o=C>>>0>e>>>0?C:e;break A}e=0;break B}if(e^=-1,n=1,!((o=o+1|0)>>>0>>0))break}break C}i[9129]=68,n=0}if(!(255&e))break I}i[9129]=28,p=-1,o=o-1|0,_=0;break A}n||(_=0,p=-1)}return Q?i[Q>>2]=g+o:(0|C)!=(0|o)&&(i[9129]=28,p=-1),a&&(i[a>>2]=_),0|p},fh:function(A,I){A|=0;var g=0;return 1!=(-7&(I|=0))&&($g(),a()),1+((3&(g=(g=A)+n(A=(A>>>0)/3|0,-3)|0)?2&I?g+1|0:4:0)+(A<<2)|0)|0},gh:bA,hh:oA,ih:function(){var A=0;return i[9260]?A=1:(Kg(),ZI(37024,16),i[9260]=1,A=0),0|A},jh:function(A,I,g,C,B){A|=0,I|=0,g|=0,B|=0;var Q,o=0,n=0,c=0;s=Q=s-16|0;A:{if(C|=0){if(c=-1,(o=(o=C-1|0)-(n=o&C?(g>>>0)%(C>>>0)|0:g&o)|0)>>>0>=(-1^g)>>>0)break A;if(!((g=g+o|0)>>>0>=B>>>0))for(A&&(i[A>>2]=g+1),A=I+g|0,c=0,t[Q+15|0]=0,g=0;B=I=A-g|0,n=r[0|I]&r[Q+15|0],I=(g^o)-1>>>24|0,t[0|B]=n|128&I,t[Q+15|0]=I|r[Q+15|0],(0|C)!=(0|(g=g+1|0)););}else c=-1;return s=Q+16|0,0|c}$g(),a()},kh:function(A,I,g,C){A|=0,I|=0,g|=0,C|=0;var B,a=0,Q=0,t=0,o=0,n=0;if(i[12+(B=s-16|0)>>2]=0,C-1>>>0>>0){for(n=(Q=g-1|0)+I|0,g=0,I=0;I&=255,o=(128^(t=r[n-a|0]))-1&i[B+12>>2]-1&I-1,i[B+12>>2]=i[B+12>>2]|o<<23>>31&a,I|=t,g|=o>>>8&1,(0|(a=a+1|0))!=(0|C););i[A>>2]=Q-i[B+12>>2],A=(255&g)-1|0}else A=-1;return 0|A},lh:function(){return 1457},mh:function(){return 10},nh:WC,oh:TC,ph:TA,qh:AC,rh:function(A,I,g){A|=0;var C,B=0;return s=C=s-32|0,B=-1,jA(C,g|=0,I|=0)||(B=BA(A,35296,C,0)),s=C+32|0,0|B},sh:lg,th:function(A,I,g,C,B,a,Q,t){var i,r;return A|=0,I|=0,g|=0,a|=0,r=C|=0,C=B|=0,s=i=s+-64|0,jA(i+32|0,t|=0,Q|=0)?B=-1:(B=-1,BA(i,35296,i+32|0,0)||(B=II(A,I,g,r,C,a,i),NC(i,32))),s=i- -64|0,0|B},uh:function(A,I,g,C,B,Q){return A|=0,I|=0,B|=0,Q|=0,!(C|=0)&(g|=0)>>>0>=4294967280|C&&($g(),a()),0|II(A+16|0,A,I,g,C,B,Q)},vh:function(A,I,g,C,B,a,Q){return 0|VI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},wh:ug,xh:function(A,I,g,C,B,a,Q,t){var i,r;return A|=0,I|=0,g|=0,a|=0,r=C|=0,C=B|=0,s=i=s+-64|0,jA(i+32|0,t|=0,Q|=0)?B=-1:(B=-1,BA(i,35296,i+32|0,0)||(B=QI(A,I,g,r,C,a,i),NC(i,32))),s=i- -64|0,0|B},yh:Bg,zh:function(A,I,g,C,B,a,Q){return 0|LI(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0)},Ah:RC,Bh:RC,Ch:RC,Dh:RC,Eh:qC,Fh:vC,Gh:PC,Hh:function(A,I,g,C,B){A|=0,I|=0,B|=0;var a,Q,r,o=0,n=0;return Q=g|=0,g=C|=0,r=C=s,s=a=C-512&-64,C=-1,AC(a- -64|0,a+32|0)||(Xg(C=a+128|0,0,0,24),lC(C,n=a- -64|0,32,0),lC(C,B,32,0),Tg(C,o=a+96|0,24),C=VI(A+32|0,I,Q,g,o,C=B,B=a+32|0),I=i[a+92>>2],g=i[a+88>>2],t[A+24|0]=g,t[A+25|0]=g>>>8,t[A+26|0]=g>>>16,t[A+27|0]=g>>>24,t[A+28|0]=I,t[A+29|0]=I>>>8,t[A+30|0]=I>>>16,t[A+31|0]=I>>>24,I=i[a+84>>2],g=i[a+80>>2],t[A+16|0]=g,t[A+17|0]=g>>>8,t[A+18|0]=g>>>16,t[A+19|0]=g>>>24,t[A+20|0]=I,t[A+21|0]=I>>>8,t[A+22|0]=I>>>16,t[A+23|0]=I>>>24,I=i[a+76>>2],g=i[a+72>>2],t[A+8|0]=g,t[A+9|0]=g>>>8,t[A+10|0]=g>>>16,t[A+11|0]=g>>>24,t[A+12|0]=I,t[A+13|0]=I>>>8,t[A+14|0]=I>>>16,t[A+15|0]=I>>>24,I=i[a+68>>2],g=i[a+64>>2],t[0|A]=g,t[A+1|0]=g>>>8,t[A+2|0]=g>>>16,t[A+3|0]=g>>>24,t[A+4|0]=I,t[A+5|0]=I>>>8,t[A+6|0]=I>>>16,t[A+7|0]=I>>>24,NC(B,32),NC(n,32),NC(o,24)),s=r,0|C},Ih:function(A,I,g,C,B,a){A|=0,I|=0,B|=0,a|=0;var Q,t,i=0,r=0;return Q=i=s,s=i=i-448&-64,r=-1,t=C|=0,!C&(g|=0)>>>0>=48|C&&(Xg(C=i- -64|0,0,0,24),lC(C,I,32,0),lC(C,B,32,0),Tg(B=C,C=i+32|0,24),r=LI(A,I+32|0,g-32|0,t-(g>>>0<32)|0,C,I,a)),s=Q,0|r},Jh:LC,Kh:function(A){var I,g=0;return s=I=s-160|0,yI(A|=0)&&(pI(A)||pA(I,A)||UA(I)&&(g=0!=(0|L(I)))),s=I+160|0,0|g},Lh:function(A,I,g){A|=0,g|=0;var C,B=0;return s=C=s-800|0,B=-1,pA(C+640|0,I|=0)||UA(C+640|0)&&(pA(C+480|0,g)||UA(C+480|0)&&(RA(C,C+480|0),aA(I=C+160|0,C+640|0,C),ig(g=C+320|0,I),$I(A,g),B=0)),s=C+800|0,0|B},Mh:function(A,I,g){A|=0,g|=0;var C,B=0;return s=C=s-800|0,B=-1,pA(C+640|0,I|=0)||UA(C+640|0)&&(pA(C+480|0,g)||UA(C+480|0)&&(RA(C,C+480|0),QA(I=C+160|0,C+640|0,C),ig(g=C+320|0,I),$I(A,g),B=0)),s=C+800|0,0|B},Nh:function(A,I){return VA(A|=0,I|=0),0},Oh:function(A,I){A|=0;var g,C,B,a,Q,o,c,e=0,E=0,_=0,y=0,p=0;for(s=g=s-160|0,c=r[0|(I|=0)];_=I-e|0,t[(E=g+128|0)+e|0]=r[_+63|0],t[(y=g+96|0)+e|0]=r[_+31|0],t[(p=E)+(E=1|e)|0]=r[_+62|0],t[E+y|0]=r[_+30|0],32!=(0|(e=e+2|0)););return t[g+159|0]=127&r[g+159|0],t[g+127|0]=127&r[g+127|0],iA(_=g+48|0,g+128|0),iA(g,g+96|0),p=i[g+80>>2]+n(i[g+32>>2],38)|0,C=i[g+76>>2]+n(i[g+28>>2],38)|0,B=i[g+72>>2]+n(i[g+24>>2],38)|0,a=i[g+68>>2]+n(i[g+20>>2],38)|0,Q=i[g+64>>2]+n(i[g+16>>2],38)|0,o=i[g+60>>2]+n(i[g+12>>2],38)|0,y=i[g+56>>2]+n(i[g+8>>2],38)|0,E=i[g+52>>2]+n(i[g+4>>2],38)|0,I=(i[g+48>>2]+(t[I+32|0]>>31&19)|0)+n(i[g>>2],38)|0,e=i[g+84>>2]+n(i[g+36>>2],38)|0,I=n((p+(C+(B+(a+(Q+(o+(y+(E+(I+(n(e,19)+16777216>>>25|0)>>26)>>25)>>26)>>25)>>26)>>25)>>26)>>25)>>26)+e>>25,19)+I|0,i[g+48>>2]=67108863&I,I=E+(I>>26)|0,i[g+52>>2]=33554431&I,I=y+(I>>25)|0,i[g+56>>2]=67108863&I,I=o+(I>>26)|0,i[g+60>>2]=33554431&I,I=Q+(I>>25)|0,i[g+64>>2]=67108863&I,I=a+(I>>26)|0,i[g+68>>2]=33554431&I,I=B+(I>>25)|0,i[g+72>>2]=67108863&I,I=C+(I>>26)|0,i[g+76>>2]=33554431&I,I=p+(I>>25)|0,i[g+80>>2]=67108863&I,i[g+84>>2]=e+(I>>26)&33554431,N(A,_,128&c),s=g+160|0,0},Ph:function(A){var I;A|=0,s=I=s-32|0,ZI(I,32),VA(A,I),s=I+32|0},Qh:eg,Rh:eA,Sh:SA,Th:kA,Uh:AA,Vh:DA,Wh:q,Xh:cC,Yh:RC,Zh:xC,_h:RC,$h:xC,ai:RC,bi:function(A){var I;return s=I=s-160|0,A=T(I,A|=0),s=I+160|0,0|!A},ci:function(A,I,g){A|=0,g|=0;var C,B=0;return s=C=s-800|0,B=-1,T(C+640|0,I|=0)||T(C+480|0,g)||(RA(C,C+480|0),aA(I=C+160|0,C+640|0,C),ig(g=C+320|0,I),x(A,g),B=0),s=C+800|0,0|B},di:function(A,I,g){A|=0,g|=0;var C,B=0;return s=C=s-800|0,B=-1,T(C+640|0,I|=0)||T(C+480|0,g)||(RA(C,C+480|0),QA(I=C+160|0,C+640|0,C),ig(g=C+320|0,I),x(A,g),B=0),s=C+800|0,0|B},ei:function(A,I){return HI(A|=0,I|=0),0},fi:function(A){var I;A|=0,s=I=s+-64|0,ZI(I,64),HI(A,I),s=I- -64|0},gi:function(A){eg(A|=0)},hi:function(A,I){return 0|eA(A|=0,I|=0)},ii:function(A,I){SA(A|=0,I|=0)},ji:function(A,I){kA(A|=0,I|=0)},ki:function(A,I,g){AA(A|=0,I|=0,g|=0)},li:function(A,I,g){q(A|=0,I|=0,g|=0)},mi:cC,ni:function(A,I){DA(A|=0,I|=0)},oi:RC,pi:xC,qi:xC,ri:RC,si:function(A,I,g,C,B,a,Q,t,i,r){return 0|gg(A|=0,I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0,t|=0,i|=0,r|=0)},ti:vC,ui:ZC,vi:TC,wi:ZC,xi:RC,yi:function(){return 102},zi:function(){return 1570},Ai:function(){return 32768},Bi:ZC,Ci:GC,Di:ZC,Ei:function(){return 524288},Fi:GC,Gi:FC,Hi:wC,Ii:function(A,I,g,C,B,a,Q,t,r,o){var n,c,e;I|=0,g|=0,C|=0,B|=0,a|=0,Q|=0,r|=0,o|=0,c=0|(t|=0),s=t=s-16|0,e=I|=0,n=yg(A|=0,0,I),A=0|B;A:if(1==(0|(B=g|a))|B>>>0>1)i[9129]=22,A=-1;else if(!g&I>>>0>=16|g){if(X(c,r,o,t+12|0,t+8|0,t+4|0),(0|C)==(0|n)){i[9129]=28,A=-1;break A}B=A,A=31&(I=i[t+12>>2]),(63&I)>>>0>=32?(I=1<>>32-A,A=gg(C,B,Q,32,g,I,i[t+4>>2],i[t+8>>2],n,e)}else i[9129]=28,A=-1;return s=t+16|0,0|A},Ji:function(A,I,g,C,B,a,Q){I|=0,g|=0,C|=0,a|=0,Q|=0;var o,n,c,e=0,E=0,_=0,y=0,p=0,f=0,l=0;e=B|=0,e|=B=0,s=o=s-128|0,n=yg(A|=0,0,102),p=22,c=g|B;A:{if(!C){X(e,a,Q,o+12|0,o+8|0,o+4|0),ZI(_=o+96|0,32),p=28,g=o+32|0,a=i[o+12>>2],Q=PI(A=i[o+8>>2],0,C=i[o+4>>2],0);I:if(!(!(e=h)&Q>>>0>1073741823|e|a>>>0>63)&&(t[0|g]=36,t[g+1|0]=55,t[g+2|0]=36,t[g+3|0]=r[a+1024|0],t[g+4|0]=r[1024+(63&C)|0],t[g+5|0]=r[1024+(C>>>6&63)|0],t[g+6|0]=r[1024+(C>>>12&63)|0],t[g+7|0]=r[1024+(C>>>18&63)|0],t[g+8|0]=r[1024+(C>>>24&63)|0],(C=g+9|0)&&(0|C)!=(0|(y=g+58|0))&&(t[0|C]=r[1024+(63&A)|0],(C=(-1^C)+y|0)&&(t[g+10|0]=r[1024+(A>>>6&63)|0],1!=(0|C)&&(t[g+11|0]=r[1024+(A>>>12&63)|0],2!=(0|C)&&(t[g+12|0]=r[1024+(A>>>18&63)|0],3!=(0|C)&&(t[g+13|0]=r[1024+(A>>>24&63)|0],a=g+14|0))))))){for(E=y-a|0,A=0;;){if(C=a,!(A>>>0>=32)){if(a=r[A+_|0],(f=(Q=A+1|0)>>>0>=32)?(A=Q,Q=0):(a=r[Q+_|0]<<8|a,(Q=A+2|0)>>>0>=32?(A=Q,Q=0):(A=A+3|0,a=r[Q+_|0]<<16|a,Q=1)),!E)break I;if(t[0|C]=r[1024+(63&a)|0],1==(0|E))break I;if(e=Q,t[C+1|0]=r[1024+(a>>>6&63)|0],l=C+E|0,Q=C+2|0,!f){if(2==(0|E))break I;if(t[C+2|0]=r[1024+(a>>>12&63)|0],Q=C+3|0,e){if(3==(0|E))break I;t[C+3|0]=r[1024+(a>>>18|0)|0],Q=C+4|0}}if(E=l-(a=Q)|0,a)continue;break I}break}C>>>0>=y>>>0||(t[0|C]=0,B=g)}if(B){if(A=-1,Wg(o+16|0))break A;if(I=xA(A=o+16|0,I,c,o+32|0,n),Fg(A),A=0,I)break A}}i[9129]=p,A=-1}return s=o+128|0,0|A},Ki:function(A,I,g,C){var B,a;I|=0,C|=0,B=A|=0,a=g|=0,g=0,s=C=s-128|0;A:{I:{for(;;){if(!r[g+B|0]){A=g;break I}if(!r[B+(A=g+1|0)|0])break I;if(!r[B+(A=g+2|0)|0])break I;if(102==(0|(g=g+3|0)))break}g=-1;break A}g=-1,101==(0|A)&&(Wg(C)||(yg(A=C+16|0,0,102),A=xA(C,I,a,B,A),Fg(C),A&&(g=sI(A=C+16|0,B,102),NC(A,102))))}return s=C+128|0,0|g},Li:function(A,I,g,C){var B,a;a=A|=0,s=B=s-32|0,X(I|=0,g|=0,C|=0,B+28|0,B+20|0,B+12|0),A=0;A:{I:{g:{for(;;){if(r[A+a|0]){if(r[a+(I=A+1|0)|0]&&r[a+(I=A+2|0)|0]){if(102!=(0|(A=A+3|0)))continue;break g}}else I=A;break}if(101==(0|I)){if(g=B+8|0,C=B+16|0,A=0,36!=r[0|a]|55!=r[a+1|0]|36!=r[a+2|0]||(I=FI(r[a+3|0]),i[B+24>>2]=I?I-1024|0:0,I&&(I=bI(g,a+4|0))&&(A=bI(C,I))),A)break I;i[9129]=28,A=-1;break A}}i[9129]=28,A=-1;break A}A=1,i[B+28>>2]!=i[B+24>>2]|i[B+12>>2]!=i[B+8>>2]||(A=i[B+20>>2]!=i[B+16>>2])}return s=B+32|0,0|A},Mi:function(A,I,g){return 0|KA(A|=0,I|=0,g|=0,1)},Ni:function(A,I,g){return 0|KA(A|=0,I|=0,g|=0,0)},Oi:function(A,I){return 0|LA(A|=0,I|=0,1)},Pi:function(A,I){return 0|LA(A|=0,I|=0,0)},Qi:RC,Ri:RC,Si:function(A,I,g){A|=0,I|=0;var C,B=0;return s=C=s-320|0,B=-1,T(C,g|=0)||(t[0|A]=r[0|I],t[A+1|0]=r[I+1|0],t[A+2|0]=r[I+2|0],t[A+3|0]=r[I+3|0],t[A+4|0]=r[I+4|0],t[A+5|0]=r[I+5|0],t[A+6|0]=r[I+6|0],t[A+7|0]=r[I+7|0],t[A+8|0]=r[I+8|0],t[A+9|0]=r[I+9|0],t[A+10|0]=r[I+10|0],t[A+11|0]=r[I+11|0],t[A+12|0]=r[I+12|0],t[A+13|0]=r[I+13|0],t[A+14|0]=r[I+14|0],t[A+15|0]=r[I+15|0],t[A+16|0]=r[I+16|0],t[A+17|0]=r[I+17|0],t[A+18|0]=r[I+18|0],t[A+19|0]=r[I+19|0],t[A+20|0]=r[I+20|0],t[A+21|0]=r[I+21|0],t[A+22|0]=r[I+22|0],t[A+23|0]=r[I+23|0],t[A+24|0]=r[I+24|0],t[A+25|0]=r[I+25|0],t[A+26|0]=r[I+26|0],t[A+27|0]=r[I+27|0],t[A+28|0]=r[I+28|0],t[A+29|0]=r[I+29|0],t[A+30|0]=r[I+30|0],t[A+31|0]=127&r[I+31|0],H(I=C+160|0,A,C),x(A,I),B=EI(A,32)?-1:0),s=C+320|0,0|B},Ti:function(A,I){var g;return I|=0,s=g=s-160|0,t[0|(A|=0)]=r[0|I],t[A+1|0]=r[I+1|0],t[A+2|0]=r[I+2|0],t[A+3|0]=r[I+3|0],t[A+4|0]=r[I+4|0],t[A+5|0]=r[I+5|0],t[A+6|0]=r[I+6|0],t[A+7|0]=r[I+7|0],t[A+8|0]=r[I+8|0],t[A+9|0]=r[I+9|0],t[A+10|0]=r[I+10|0],t[A+11|0]=r[I+11|0],t[A+12|0]=r[I+12|0],t[A+13|0]=r[I+13|0],t[A+14|0]=r[I+14|0],t[A+15|0]=r[I+15|0],t[A+16|0]=r[I+16|0],t[A+17|0]=r[I+17|0],t[A+18|0]=r[I+18|0],t[A+19|0]=r[I+19|0],t[A+20|0]=r[I+20|0],t[A+21|0]=r[I+21|0],t[A+22|0]=r[I+22|0],t[A+23|0]=r[I+23|0],t[A+24|0]=r[I+24|0],t[A+25|0]=r[I+25|0],t[A+26|0]=r[I+26|0],t[A+27|0]=r[I+27|0],t[A+28|0]=r[I+28|0],t[A+29|0]=r[I+29|0],t[A+30|0]=r[I+30|0],t[A+31|0]=127&r[I+31|0],rA(g,A),x(A,g),A=EI(A,32),s=g+160|0,0|(A?-1:0)},Ui:RC,Vi:RC,Wi:lg,Xi:function(A,I,g,C,B,Q){return A|=0,I|=0,B|=0,Q|=0,!(C|=0)&(g|=0)>>>0>=4294967280|C&&($g(),a()),II(A+16|0,A,I,g,C,B,Q),0},Yi:ug,Zi:Bg,_i:RC,$i:qC,aj:vC,bj:PC,cj:vC,dj:vC,ej:function(A,I,g,C,B){A|=0,I|=0,g|=0,C|=0;var a,Q=0,i=0,o=0,n=0,c=0,e=0,E=0,_=0,y=0,s=0,p=0,f=0,l=0,u=0,D=0,w=0;if(u=1886610805^(Q=r[0|(B|=0)]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24),f=1936682341^(i=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24),Q^=1852142177,o=1819895653^i,D=1852075907^(i=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24),l=1685025377^(B=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24),n=2037671283^i,i=1952801890^B,s=g,(0|(e=(I+g|0)-(a=7&g)|0))!=(0|I)){for(;g=(p=i^(w=r[I+4|0]|r[I+5|0]<<8|r[I+6|0]<<16|r[I+7|0]<<24))+o|0,n=B=(B=Q)+(Q=C=n^(y=r[0|I]|r[I+1|0]<<8|r[I+2|0]<<16|r[I+3|0]<<24))|0,c=g=B>>>0>>0?g+1|0:g,g=l+f|0,g=(o=u+D|0)>>>0>>0?g+1|0:g,Q=fI(D,l,13)^o,i=g,g=c+(B=g^h)|0,g=Q>>>0>(E=n+Q|0)>>>0?g+1|0:g,Q=fI(Q,B,17)^E,_=g,l=fI(Q,B=g^h,13),f=h,g=fI(C,p,16),C=c^h,p=g^n,i=fI(o,i,32),g=h+C|0,g=(i=(o=p+i|0)>>>0>>0?g+1|0:g)+B|0,c=g=(n=Q+o|0)>>>0>>0?g+1|0:g,l=fI(Q=n^l,B=g^f,17),f=h,g=fI(p,C,21),C=i^h,p=g^o,i=fI(E,_,32),g=h+C|0,g=(i=(o=p+i|0)>>>0>>0?g+1|0:g)+B|0,D=(Q=Q+o|0)^l,B=g=Q>>>0>>0?g+1|0:g,l=g^f,g=fI(p,C,16),E=i^=h,_=fI(g^=o,i,21),o=h,c=(i=fI(n,c,32))+g|0,g=h+E|0,n=c^_,i=(g=i>>>0>c>>>0?g+1|0:g)^o,Q=fI(Q,B,32),o=h,u=c^y,f=g^w,(0|e)!=(0|(I=I+8|0)););I=e}switch(E=0,C=s<<24,a-1|0){case 6:C|=r[I+6|0]<<16;case 5:C|=r[I+5|0]<<8;case 4:C|=r[I+4|0];case 3:E|=(B=r[I+3|0])<<24,C|=g=B>>>8|0;case 2:E|=(B=r[I+2|0])<<16,C|=g=B>>>16|0;case 1:E|=(B=r[I+1|0])<<8,C|=g=B>>>24|0;case 0:E=r[0|I]|E}return _=C,C=fI(B=E^n,I=C^i,16),I=I+o|0,c=I=(n=B+Q|0)>>>0>>0?I+1|0:I,y=fI(B=C^n,I^=g=h,21),i=h,g=l+f|0,C=g=(Q=u+D|0)>>>0>>0?g+1|0:g,o=B,B=fI(Q,g,32),g=h+I|0,I=i,i=g=B>>>0>(o=o+B|0)>>>0?g+1|0:g,p=fI(B=o^y,I^=g,16),s=h,Q=(e=fI(D,l,13)^Q)+n|0,g=(n=h^C)+c|0,C=Q,c=B,B=fI(Q,g=Q>>>0>>0?g+1|0:g,32),I=h+I|0,f=B=(Q=B>>>0>(y=c+B|0)>>>0?I+1|0:I)^s,c=p^=y,s=fI(e,n,17)^C,g=(e=h^g)+i|0,I=g=(I=s)>>>0>(C=I+o|0)>>>0?g+1|0:g,i=fI(C,g,32),g=h+B|0,o=E^(n=i+c|0),_^=c=i>>>0>n>>>0?g+1|0:g,B=fI(s,e,13)^C,C=fI(B,I^=h,17),I=I+Q|0,g=(I=(B=I=(i=B+y|0)>>>0>>0?I+1|0:I)^(g=h))+_|0,g=(C^=i)>>>0>(o=C+o|0)>>>0?g+1|0:g,C=fI(C,I,13)^o,Q=g,y=fI(C,I=g^h,17),E=h,_=fI(p,f,21),e=c^h,c=n^_,i=238^fI(i,B,32),g=h+e|0,g=(f=I)+(I=(B=c+i|0)>>>0>>0?g+1|0:g)|0,i=g=(n=C+B|0)>>>0>>0?g+1|0:g,y=fI(C=n^y,g^=E,13),E=h,c=fI(c,e,16),e=I^h,_=B^c,B=fI(o,Q,32),I=h+e|0,g=(B=B>>>0>(Q=_+B|0)>>>0?I+1|0:I)+g|0,o=g=(c=C+Q|0)>>>0>>0?g+1|0:g,y=fI(C=c^y,I=g^E,17),E=h,g=fI(_,e,21),e=B^h,_=g^Q,B=fI(n,i,32),g=h+e|0,g=(B=B>>>0>(Q=_+B|0)>>>0?g+1|0:g)+I|0,i=g=(n=C+Q|0)>>>0>>0?g+1|0:g,y=fI(C=n^y,I=g^E,13),E=h,g=fI(_,e,16),e=B^h,_=g^Q,B=fI(c,o,32),g=h+e|0,g=(B=B>>>0>(Q=_+B|0)>>>0?g+1|0:g)+I|0,o=g=(c=C+Q|0)>>>0>>0?g+1|0:g,y=fI(C=c^y,I=g^E,17),E=h,g=fI(_,e,21),e=B^h,_=g^Q,Q=fI(n,i,32),g=h+e|0,I=(g=(B=_+Q|0)>>>0>>0?g+1|0:g)+I|0,Q=I=(i=C+B|0)>>>0>>0?I+1|0:I,y=fI(C=i^y,I^=E,13),E=h,n=fI(_,e,16),e=g^h,_=B^n,o=fI(c,o,32),g=h+e|0,g=(c=I)+(I=(B=_+o|0)>>>0>>0?g+1|0:g)|0,c=g=(n=C+B|0)>>>0>>0?g+1|0:g,y=fI(C=n^y,g^=E,17),E=h,o=fI(_,e,21),s=I^h,_=B^o,B=fI(i,Q,32),I=h+s|0,g=(i=B>>>0>(o=_+B|0)>>>0?I+1|0:I)+g|0,B=C=(I=(Q=C+o|0)>>>0>>0?g+1|0:g)^E,e=Q^y,g=fI(_,s,16),s=i^h,o=(_=g^o)+(i=fI(n,c,32))|0,g=h+s|0,I=fI(Q,I,32),y=h,i=g=o>>>0>>0?g+1|0:g,Q=A,n=(c=fI(_,s,21)^o)^I^o^e,t[0|Q]=n,t[Q+1|0]=n>>>8,t[Q+2|0]=n>>>16,t[Q+3|0]=n>>>24,g=(n=g^h)^y^g^B,t[Q+4|0]=g,t[Q+5|0]=g>>>8,t[Q+6|0]=g>>>16,t[Q+7|0]=g>>>24,C=Q,g=n+y|0,g=(A=I+c|0)>>>0>>0?g+1|0:g,E=A,Q=fI(c,n,16)^A,n=g,y=I=g^h,g=B+i|0,i=g=(o=(c=221^e)+o|0)>>>0>>0?g+1|0:g,_=(g=fI(o,g,32))+Q|0,I=h+I|0,l=fI(Q,y,21)^_,f=I=(Q=g>>>0>_>>>0?I+1|0:I)^h,p=fI(l,I,16),s=h,g=n+(y=(g=B<<13|c>>>19)^i)|0,I=g=(B=E+(e=o^(c<<13|B>>>19))|0)>>>0>>0?g+1|0:g,A=fI(B,g,32),g=f+h|0,g=(i=(A=A+l|0)>>>0>>0?g+1|0:g)^s,c=A,n=fI(s=p^A,g,21),o=h,A=fI(e,y,17),I=Q+(e=I^h)|0,A=fI(B=_+(E=A^B)|0,I=B>>>0<_>>>0?I+1|0:I,32),g=g+h|0,y=g=(Q=(A=A+s|0)>>>0>>0?g+1|0:g)^o,_=fI(s=n^(o=A),g,16),n=h,A=fI(E,e,13),g=i+(e=I^h)|0,I=g=(B=c+(E=A^B)|0)>>>0>>0?g+1|0:g,A=fI(B,g,32),g=y+h|0,y=g=(i=(A=A+s|0)>>>0>>0?g+1|0:g)^n,c=A,_=fI(s=_^A,g,21),n=h,A=fI(E,e,17),g=Q+(e=I^h)|0,I=g=(B=o+(E=A^B)|0)>>>0>>0?g+1|0:g,A=fI(B,g,32),g=y+h|0,y=g=(Q=(A=A+s|0)>>>0>>0?g+1|0:g)^n,_=fI(s=_^(o=A),g,16),n=h,A=fI(E,e,13),g=i+(E=I^h)|0,A=fI(B=c+(i=A^B)|0,g=B>>>0>>0?g+1|0:g,32),I=y+h|0,_=fI((A=A+s|0)^_,(I=A>>>0>>0?I+1|0:I)^n,21),n=h,B=fI(i,E,17)^B,c=fI(B,g^=h,13),g=g+Q|0,Q=fI(i=(B=B+o|0)^c,g=h^(B>>>0>>0?g+1|0:g),17)^_,B=h^n,g=I+g|0,I=A,A=fI(A=A+i|0,g=I>>>0>A>>>0?g+1|0:g,32)^Q^A,t[C+8|0]=A,t[C+9|0]=A>>>8,t[C+10|0]=A>>>16,t[C+11|0]=A>>>24,A=g^h^B,t[C+12|0]=A,t[C+13|0]=A>>>8,t[C+14|0]=A>>>16,t[C+15|0]=A>>>24,0},fj:function(A,I,g,C,B){A|=0,C|=0,B|=0;var a,Q=0,o=0,n=0,c=0;if(s=a=s-112|0,Q=I|=0,I=g|=0,Q|g){g=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,i[a+24>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,i[a+28>>2]=g,g=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+16>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+20>>2]=g,g=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[a>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[a+4>>2]=g,g=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+8>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[a+12>>2]=g,g=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,C=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,i[a+104>>2]=0,i[a+108>>2]=0,i[a+96>>2]=g,i[a+100>>2]=C;A:{if(!I&Q>>>0>=64|I){for(;vg(A,a+96|0,a,0),g=r[a+104|0]+1|0,t[a+104|0]=g,g=r[a+105|0]+(g>>>8|0)|0,t[a+105|0]=g,g=r[a+106|0]+(g>>>8|0)|0,t[a+106|0]=g,g=r[a+107|0]+(g>>>8|0)|0,t[a+107|0]=g,g=r[a+108|0]+(g>>>8|0)|0,t[a+108|0]=g,g=r[a+109|0]+(g>>>8|0)|0,t[a+109|0]=g,g=r[a+110|0]+(g>>>8|0)|0,t[a+110|0]=g,t[a+111|0]=r[a+111|0]+(g>>>8|0),A=A- -64|0,I=I-1|0,!(I=(Q=Q+-64|0)>>>0<4294967232?I+1|0:I)&Q>>>0>63|I;);if(!(I|Q))break A}if(g=0,vg(a+32|0,a+96|0,a,0),B=3&Q,I=0,Q-1>>>0>=3)for(Q&=-4,C=0;o=c=a+32|0,t[A+I|0]=r[o+I|0],t[(n=1|I)+A|0]=r[o+n|0],t[(n=2|I)+A|0]=r[o+n|0],t[(o=3|I)+A|0]=r[o+c|0],I=I+4|0,(0|Q)!=(0|(C=C+4|0)););if(B)for(;t[A+I|0]=r[(a+32|0)+I|0],I=I+1|0,(0|B)!=(0|(g=g+1|0)););}NC(a+32|0,64),NC(a,32)}return s=a+112|0,0},gj:function(A,I,g,C,B,a){A|=0,I|=0,B|=0,a|=0;var Q,o=0,n=0;if(s=Q=s-112|0,o=C|=0,C=g|=0,o|g){g=r[a+28|0]|r[a+29|0]<<8|r[a+30|0]<<16|r[a+31|0]<<24,i[Q+24>>2]=r[a+24|0]|r[a+25|0]<<8|r[a+26|0]<<16|r[a+27|0]<<24,i[Q+28>>2]=g,g=r[a+20|0]|r[a+21|0]<<8|r[a+22|0]<<16|r[a+23|0]<<24,i[Q+16>>2]=r[a+16|0]|r[a+17|0]<<8|r[a+18|0]<<16|r[a+19|0]<<24,i[Q+20>>2]=g,g=r[a+4|0]|r[a+5|0]<<8|r[a+6|0]<<16|r[a+7|0]<<24,i[Q>>2]=r[0|a]|r[a+1|0]<<8|r[a+2|0]<<16|r[a+3|0]<<24,i[Q+4>>2]=g,g=r[a+12|0]|r[a+13|0]<<8|r[a+14|0]<<16|r[a+15|0]<<24,i[Q+8>>2]=r[a+8|0]|r[a+9|0]<<8|r[a+10|0]<<16|r[a+11|0]<<24,i[Q+12>>2]=g,g=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,B=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[Q+104>>2]=0,i[Q+108>>2]=0,i[Q+96>>2]=g,i[Q+100>>2]=B;A:{if(!o&C>>>0>=64|o){for(;;){for(g=0,vg(Q+32|0,Q+96|0,Q,0);a=Q+32|0,t[A+g|0]=r[a+g|0]^r[I+g|0],t[(B=1|g)+A|0]=r[B+a|0]^r[I+B|0],64!=(0|(g=g+2|0)););if(g=r[Q+104|0]+1|0,t[Q+104|0]=g,g=r[Q+105|0]+(g>>>8|0)|0,t[Q+105|0]=g,g=r[Q+106|0]+(g>>>8|0)|0,t[Q+106|0]=g,g=r[Q+107|0]+(g>>>8|0)|0,t[Q+107|0]=g,g=r[Q+108|0]+(g>>>8|0)|0,t[Q+108|0]=g,g=r[Q+109|0]+(g>>>8|0)|0,t[Q+109|0]=g,g=r[Q+110|0]+(g>>>8|0)|0,t[Q+110|0]=g,t[Q+111|0]=r[Q+111|0]+(g>>>8|0),I=I- -64|0,A=A- -64|0,o=o-1|0,!(!(o=(C=C+-64|0)>>>0<4294967232?o+1|0:o)&C>>>0>63|o))break}if(!(C|o))break A}if(g=0,vg(Q+32|0,Q+96|0,Q,0),a=1&C,1!=(0|C))for(o=-2&C,C=0;n=Q+32|0,t[A+g|0]=r[n+g|0]^r[I+g|0],t[(B=1|g)+A|0]=r[B+n|0]^r[I+B|0],g=g+2|0,(0|o)!=(0|(C=C+2|0)););a&&(t[A+g|0]=r[(Q+32|0)+g|0]^r[I+g|0])}NC(Q+32|0,64),NC(Q,32)}return s=Q+112|0,0},hj:RC,ij:$C,jj:ZC,kj:kC,lj:function(A,I,g,C,B){A|=0,C|=0,B|=0;var a,Q=0,o=0,n=0,c=0;if(s=a=s-112|0,Q=I|=0,I=g|=0,Q|g){g=r[B+28|0]|r[B+29|0]<<8|r[B+30|0]<<16|r[B+31|0]<<24,i[a+24>>2]=r[B+24|0]|r[B+25|0]<<8|r[B+26|0]<<16|r[B+27|0]<<24,i[a+28>>2]=g,g=r[B+20|0]|r[B+21|0]<<8|r[B+22|0]<<16|r[B+23|0]<<24,i[a+16>>2]=r[B+16|0]|r[B+17|0]<<8|r[B+18|0]<<16|r[B+19|0]<<24,i[a+20>>2]=g,g=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[a>>2]=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,i[a+4>>2]=g,g=r[B+12|0]|r[B+13|0]<<8|r[B+14|0]<<16|r[B+15|0]<<24,i[a+8>>2]=r[B+8|0]|r[B+9|0]<<8|r[B+10|0]<<16|r[B+11|0]<<24,i[a+12>>2]=g,g=r[0|C]|r[C+1|0]<<8|r[C+2|0]<<16|r[C+3|0]<<24,C=r[C+4|0]|r[C+5|0]<<8|r[C+6|0]<<16|r[C+7|0]<<24,i[a+104>>2]=0,i[a+108>>2]=0,i[a+96>>2]=g,i[a+100>>2]=C;A:{if(!I&Q>>>0>=64|I){for(;Rg(A,a+96|0,a,0),g=r[a+104|0]+1|0,t[a+104|0]=g,g=r[a+105|0]+(g>>>8|0)|0,t[a+105|0]=g,g=r[a+106|0]+(g>>>8|0)|0,t[a+106|0]=g,g=r[a+107|0]+(g>>>8|0)|0,t[a+107|0]=g,g=r[a+108|0]+(g>>>8|0)|0,t[a+108|0]=g,g=r[a+109|0]+(g>>>8|0)|0,t[a+109|0]=g,g=r[a+110|0]+(g>>>8|0)|0,t[a+110|0]=g,t[a+111|0]=r[a+111|0]+(g>>>8|0),A=A- -64|0,I=I-1|0,!(I=(Q=Q+-64|0)>>>0<4294967232?I+1|0:I)&Q>>>0>63|I;);if(!(I|Q))break A}if(g=0,Rg(a+32|0,a+96|0,a,0),B=3&Q,I=0,Q-1>>>0>=3)for(Q&=-4,C=0;o=c=a+32|0,t[A+I|0]=r[o+I|0],t[(n=1|I)+A|0]=r[o+n|0],t[(n=2|I)+A|0]=r[o+n|0],t[(o=3|I)+A|0]=r[o+c|0],I=I+4|0,(0|Q)!=(0|(C=C+4|0)););if(B)for(;t[A+I|0]=r[(a+32|0)+I|0],I=I+1|0,(0|B)!=(0|(g=g+1|0)););}NC(a+32|0,64),NC(a,32)}return s=a+112|0,0},mj:function(A,I,g,C,B,a){A|=0,I|=0,B|=0,a|=0;var Q,o=0,n=0;if(s=Q=s-112|0,o=C|=0,C=g|=0,o|g){g=r[a+28|0]|r[a+29|0]<<8|r[a+30|0]<<16|r[a+31|0]<<24,i[Q+24>>2]=r[a+24|0]|r[a+25|0]<<8|r[a+26|0]<<16|r[a+27|0]<<24,i[Q+28>>2]=g,g=r[a+20|0]|r[a+21|0]<<8|r[a+22|0]<<16|r[a+23|0]<<24,i[Q+16>>2]=r[a+16|0]|r[a+17|0]<<8|r[a+18|0]<<16|r[a+19|0]<<24,i[Q+20>>2]=g,g=r[a+4|0]|r[a+5|0]<<8|r[a+6|0]<<16|r[a+7|0]<<24,i[Q>>2]=r[0|a]|r[a+1|0]<<8|r[a+2|0]<<16|r[a+3|0]<<24,i[Q+4>>2]=g,g=r[a+12|0]|r[a+13|0]<<8|r[a+14|0]<<16|r[a+15|0]<<24,i[Q+8>>2]=r[a+8|0]|r[a+9|0]<<8|r[a+10|0]<<16|r[a+11|0]<<24,i[Q+12>>2]=g,g=r[0|B]|r[B+1|0]<<8|r[B+2|0]<<16|r[B+3|0]<<24,B=r[B+4|0]|r[B+5|0]<<8|r[B+6|0]<<16|r[B+7|0]<<24,i[Q+104>>2]=0,i[Q+108>>2]=0,i[Q+96>>2]=g,i[Q+100>>2]=B;A:{if(!o&C>>>0>=64|o){for(;;){for(g=0,Rg(Q+32|0,Q+96|0,Q,0);a=Q+32|0,t[A+g|0]=r[a+g|0]^r[I+g|0],t[(B=1|g)+A|0]=r[B+a|0]^r[I+B|0],64!=(0|(g=g+2|0)););if(g=r[Q+104|0]+1|0,t[Q+104|0]=g,g=r[Q+105|0]+(g>>>8|0)|0,t[Q+105|0]=g,g=r[Q+106|0]+(g>>>8|0)|0,t[Q+106|0]=g,g=r[Q+107|0]+(g>>>8|0)|0,t[Q+107|0]=g,g=r[Q+108|0]+(g>>>8|0)|0,t[Q+108|0]=g,g=r[Q+109|0]+(g>>>8|0)|0,t[Q+109|0]=g,g=r[Q+110|0]+(g>>>8|0)|0,t[Q+110|0]=g,t[Q+111|0]=r[Q+111|0]+(g>>>8|0),I=I- -64|0,A=A- -64|0,o=o-1|0,!(!(o=(C=C+-64|0)>>>0<4294967232?o+1|0:o)&C>>>0>63|o))break}if(!(C|o))break A}if(g=0,Rg(Q+32|0,Q+96|0,Q,0),a=1&C,1!=(0|C))for(o=-2&C,C=0;n=Q+32|0,t[A+g|0]=r[n+g|0]^r[I+g|0],t[(B=1|g)+A|0]=r[B+n|0]^r[I+B|0],g=g+2|0,(0|o)!=(0|(C=C+2|0)););a&&(t[A+g|0]=r[(Q+32|0)+g|0]^r[I+g|0])}NC(Q+32|0,64),NC(Q,32)}return s=Q+112|0,0},nj:RC,oj:$C,pj:ZC,qj:kC,rj:RC,sj:qC,tj:ZC,uj:function(A,I,g,C,B){var a;return A|=0,I|=0,g|=0,s=a=s-32|0,BA(a,C|=0,B|=0,0),A=bg(A,I,g,C+16|0,a),s=a+32|0,0|A},vj:function(A,I,g,C,B,a,Q,t){var i;return A|=0,I|=0,g|=0,C|=0,a|=0,Q|=0,s=i=s-32|0,BA(i,B|=0,t|=0,0),A=hg(t=A,I,(A=0)|g,C,B+16|0,A|a,Q,i),s=i+32|0,0|A},wj:function(A,I,g,C,B,a){var Q;return A|=0,I|=0,g|=0,C|=0,s=Q=s-32|0,BA(Q,B|=0,a|=0,0),A=hg(A,I,g,C,B+16|0,0,0,Q),s=Q+32|0,0|A},xj:kC,yj:S,zj:j,Aj:IB}}(A)}(I)},instantiate:function(A,I){return{then:function(g){var C=new s.Module(A);g({instance:new s.Instance(C,I)})}}},RuntimeError:Error};E=[],"object"!=typeof s&&J("no native wasm support detected");var p,f,h,l,u,D,w,m=!1,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(A,I){return A?function(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.buffer&&k)return k.decode(A.subarray(I,B));for(var a="";I>10,56320|1023&r)}}else a+=String.fromCharCode((31&Q)<<6|t)}else a+=String.fromCharCode(Q)}return a}(f,A,I):""}function S(){var A=y.buffer;Q.HEAP8=p=new Int8Array(A),Q.HEAP16=h=new Int16Array(A),Q.HEAP32=l=new Int32Array(A),Q.HEAPU8=f=new Uint8Array(A),Q.HEAPU16=new Uint16Array(A),Q.HEAPU32=u=new Uint32Array(A),Q.HEAPF32=D=new Float32Array(A),Q.HEAPF64=w=new Float64Array(A)}var G=Q.INITIAL_MEMORY||50331648;G>=65536||J("INITIAL_MEMORY should be larger than STACK_SIZE, was "+G+"! (STACK_SIZE=65536)"),y=Q.wasmMemory?Q.wasmMemory:new s.Memory({initial:G/65536,maximum:32768}),S(),G=y.buffer.byteLength;var N=[],b=[],M=[],H=0,Y=null,U=null;function J(A){throw Q.onAbort&&Q.onAbort(A),_(A="Aborted("+A+")"),m=!0,A+=". Build with -sASSERTIONS for more info.",new s.RuntimeError(A)}var d,K,x,v,R="data:application/octet-stream;base64,";function L(A){return A.startsWith(R)}function P(A){return A.startsWith("file://")}function q(A){try{if(A==d&&E)return new Uint8Array(E);var I=Z(A);if(I)return I;if(a)return a(A);throw"both async and sync fetching of the wasm failed"}catch(A){J(A)}}L(d="<<< WASM_BINARY_FILE >>>")||(K=d,d=Q.locateFile?Q.locateFile(K,n):n+K);var j={35752:()=>Q.getRandomValue(),35788:()=>{if(void 0===Q.getRandomValue)try{var A="object"==typeof window?window:self,I=void 0!==A.crypto?A.crypto:A.msCrypto,g=function(){var A=new Uint32Array(1);return I.getRandomValues(A),A[0]>>>0};g(),Q.getRandomValue=g}catch(A){try{var C=require("crypto"),B=function(){var A=C.randomBytes(4);return(A[0]<<24|A[1]<<16|A[2]<<8|A[3])>>>0};B(),Q.getRandomValue=B}catch(A){throw"No secure random number generator found"}}}};function z(A){for(;A.length>0;)A.shift()(Q)}var X=[];function V(A){var I=y.buffer;try{return y.grow(A-I.byteLength+65535>>>16),S(),1}catch(A){}}var W="function"==typeof atob?atob:function(A){var I,g,C,B,a,Q,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="",r=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=t.indexOf(A.charAt(r++))<<2|(B=t.indexOf(A.charAt(r++)))>>4,g=(15&B)<<4|(a=t.indexOf(A.charAt(r++)))>>2,C=(3&a)<<6|(Q=t.indexOf(A.charAt(r++))),i+=String.fromCharCode(I),64!==a&&(i+=String.fromCharCode(g)),64!==Q&&(i+=String.fromCharCode(C))}while(r>=2;g=f[A++];)I+=105!=g&I,X.push(105==g?l[I]:w[I++>>1]),++I;return X}(I,g);return j[A].apply(null,C)}(A,I,g)},e:function(A){var I,g=f.length,C=2147483648;if((A>>>=0)>C)return!1;for(var B=1;B<=4;B*=2){var a=g*(1+.2/B);if(a=Math.min(a,A+100663296),V(Math.min(C,(I=Math.max(A,a))+(65536-I%65536)%65536)))return!0}return!1},a:y};function $(){function A(){O||(O=!0,Q.calledRun=!0,m||(z(b),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),function(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)A=Q.postRun.shift(),M.unshift(A);var A;z(M)}()))}H>0||(function(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)A=Q.preRun.shift(),N.unshift(A);var A;z(N)}(),H>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),A()}),1)):A()))}if(function(){var A={a:T};function I(A,I){var g,C=A.exports;Q.asm=C,Q.asm.Aj,g=Q.asm.f,b.unshift(g),function(A){if(H--,Q.monitorRunDependencies&&Q.monitorRunDependencies(H),0==H&&(null!==Y&&(clearInterval(Y),Y=null),U)){var I=U;U=null,I()}}()}function g(A){I(A.instance)}function C(I){return function(){if(!E&&(i||r)){if("function"==typeof fetch&&!P(d))return fetch(d,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+d+"'";return A.arrayBuffer()})).catch((function(){return q(d)}));if(B)return new Promise((function(A,I){B(d,(function(I){A(new Uint8Array(I))}),I)}))}return Promise.resolve().then((function(){return q(d)}))}().then((function(I){return s.instantiate(I,A)})).then((function(A){return A})).then(I,(function(A){_("failed to asynchronously prepare wasm: "+A),J(A)}))}if(H++,Q.monitorRunDependencies&&Q.monitorRunDependencies(H),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return _("Module.instantiateWasm callback failed with error: "+A),!1}E||"function"!=typeof s.instantiateStreaming||L(d)||P(d)||o||"function"!=typeof fetch?C(g):fetch(d,{credentials:"same-origin"}).then((function(I){return s.instantiateStreaming(I,A).then(g,(function(A){return _("wasm streaming compile failed: "+A),_("falling back to ArrayBuffer instantiation"),C(g)}))}))}(),Q._crypto_aead_chacha20poly1305_encrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_encrypt_detached=Q.asm.g).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_encrypt=function(){return(Q._crypto_aead_chacha20poly1305_encrypt=Q.asm.h).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_encrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_ietf_encrypt_detached=Q.asm.i).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_encrypt=function(){return(Q._crypto_aead_chacha20poly1305_ietf_encrypt=Q.asm.j).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_decrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_decrypt_detached=Q.asm.k).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_decrypt=function(){return(Q._crypto_aead_chacha20poly1305_decrypt=Q.asm.l).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_decrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_ietf_decrypt_detached=Q.asm.m).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_decrypt=function(){return(Q._crypto_aead_chacha20poly1305_ietf_decrypt=Q.asm.n).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_keybytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_keybytes=Q.asm.o).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_npubbytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_npubbytes=Q.asm.p).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_nsecbytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_nsecbytes=Q.asm.q).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_abytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_abytes=Q.asm.r).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_messagebytes_max=function(){return(Q._crypto_aead_chacha20poly1305_ietf_messagebytes_max=Q.asm.s).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_keygen=function(){return(Q._crypto_aead_chacha20poly1305_ietf_keygen=Q.asm.t).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_keybytes=function(){return(Q._crypto_aead_chacha20poly1305_keybytes=Q.asm.u).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_npubbytes=function(){return(Q._crypto_aead_chacha20poly1305_npubbytes=Q.asm.v).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_nsecbytes=function(){return(Q._crypto_aead_chacha20poly1305_nsecbytes=Q.asm.w).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_abytes=function(){return(Q._crypto_aead_chacha20poly1305_abytes=Q.asm.x).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_messagebytes_max=function(){return(Q._crypto_aead_chacha20poly1305_messagebytes_max=Q.asm.y).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_keygen=function(){return(Q._crypto_aead_chacha20poly1305_keygen=Q.asm.z).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=Q.asm.A).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_encrypt=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_encrypt=Q.asm.B).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=Q.asm.C).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_decrypt=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_decrypt=Q.asm.D).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_keybytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_keybytes=Q.asm.E).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_npubbytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_npubbytes=Q.asm.F).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_nsecbytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_nsecbytes=Q.asm.G).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_abytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_abytes=Q.asm.H).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=Q.asm.I).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_keygen=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_keygen=Q.asm.J).apply(null,arguments)},Q._crypto_auth_bytes=function(){return(Q._crypto_auth_bytes=Q.asm.K).apply(null,arguments)},Q._crypto_auth_keybytes=function(){return(Q._crypto_auth_keybytes=Q.asm.L).apply(null,arguments)},Q._crypto_auth_primitive=function(){return(Q._crypto_auth_primitive=Q.asm.M).apply(null,arguments)},Q._crypto_auth=function(){return(Q._crypto_auth=Q.asm.N).apply(null,arguments)},Q._crypto_auth_verify=function(){return(Q._crypto_auth_verify=Q.asm.O).apply(null,arguments)},Q._crypto_auth_keygen=function(){return(Q._crypto_auth_keygen=Q.asm.P).apply(null,arguments)},Q._crypto_auth_hmacsha256_bytes=function(){return(Q._crypto_auth_hmacsha256_bytes=Q.asm.Q).apply(null,arguments)},Q._crypto_auth_hmacsha256_keybytes=function(){return(Q._crypto_auth_hmacsha256_keybytes=Q.asm.R).apply(null,arguments)},Q._crypto_auth_hmacsha256_statebytes=function(){return(Q._crypto_auth_hmacsha256_statebytes=Q.asm.S).apply(null,arguments)},Q._crypto_auth_hmacsha256_keygen=function(){return(Q._crypto_auth_hmacsha256_keygen=Q.asm.T).apply(null,arguments)},Q._crypto_auth_hmacsha256_init=function(){return(Q._crypto_auth_hmacsha256_init=Q.asm.U).apply(null,arguments)},Q._crypto_auth_hmacsha256_update=function(){return(Q._crypto_auth_hmacsha256_update=Q.asm.V).apply(null,arguments)},Q._crypto_auth_hmacsha256_final=function(){return(Q._crypto_auth_hmacsha256_final=Q.asm.W).apply(null,arguments)},Q._crypto_auth_hmacsha256=function(){return(Q._crypto_auth_hmacsha256=Q.asm.X).apply(null,arguments)},Q._crypto_auth_hmacsha256_verify=function(){return(Q._crypto_auth_hmacsha256_verify=Q.asm.Y).apply(null,arguments)},Q._crypto_auth_hmacsha512_bytes=function(){return(Q._crypto_auth_hmacsha512_bytes=Q.asm.Z).apply(null,arguments)},Q._crypto_auth_hmacsha512_keybytes=function(){return(Q._crypto_auth_hmacsha512_keybytes=Q.asm._).apply(null,arguments)},Q._crypto_auth_hmacsha512_statebytes=function(){return(Q._crypto_auth_hmacsha512_statebytes=Q.asm.$).apply(null,arguments)},Q._crypto_auth_hmacsha512_keygen=function(){return(Q._crypto_auth_hmacsha512_keygen=Q.asm.aa).apply(null,arguments)},Q._crypto_auth_hmacsha512_init=function(){return(Q._crypto_auth_hmacsha512_init=Q.asm.ba).apply(null,arguments)},Q._crypto_auth_hmacsha512_update=function(){return(Q._crypto_auth_hmacsha512_update=Q.asm.ca).apply(null,arguments)},Q._crypto_auth_hmacsha512_final=function(){return(Q._crypto_auth_hmacsha512_final=Q.asm.da).apply(null,arguments)},Q._crypto_auth_hmacsha512=function(){return(Q._crypto_auth_hmacsha512=Q.asm.ea).apply(null,arguments)},Q._crypto_auth_hmacsha512_verify=function(){return(Q._crypto_auth_hmacsha512_verify=Q.asm.fa).apply(null,arguments)},Q._crypto_auth_hmacsha512256_bytes=function(){return(Q._crypto_auth_hmacsha512256_bytes=Q.asm.ga).apply(null,arguments)},Q._crypto_auth_hmacsha512256_keybytes=function(){return(Q._crypto_auth_hmacsha512256_keybytes=Q.asm.ha).apply(null,arguments)},Q._crypto_auth_hmacsha512256_statebytes=function(){return(Q._crypto_auth_hmacsha512256_statebytes=Q.asm.ia).apply(null,arguments)},Q._crypto_auth_hmacsha512256_keygen=function(){return(Q._crypto_auth_hmacsha512256_keygen=Q.asm.ja).apply(null,arguments)},Q._crypto_auth_hmacsha512256_init=function(){return(Q._crypto_auth_hmacsha512256_init=Q.asm.ka).apply(null,arguments)},Q._crypto_auth_hmacsha512256_update=function(){return(Q._crypto_auth_hmacsha512256_update=Q.asm.la).apply(null,arguments)},Q._crypto_auth_hmacsha512256_final=function(){return(Q._crypto_auth_hmacsha512256_final=Q.asm.ma).apply(null,arguments)},Q._crypto_auth_hmacsha512256=function(){return(Q._crypto_auth_hmacsha512256=Q.asm.na).apply(null,arguments)},Q._crypto_auth_hmacsha512256_verify=function(){return(Q._crypto_auth_hmacsha512256_verify=Q.asm.oa).apply(null,arguments)},Q._crypto_box_seedbytes=function(){return(Q._crypto_box_seedbytes=Q.asm.pa).apply(null,arguments)},Q._crypto_box_publickeybytes=function(){return(Q._crypto_box_publickeybytes=Q.asm.qa).apply(null,arguments)},Q._crypto_box_secretkeybytes=function(){return(Q._crypto_box_secretkeybytes=Q.asm.ra).apply(null,arguments)},Q._crypto_box_beforenmbytes=function(){return(Q._crypto_box_beforenmbytes=Q.asm.sa).apply(null,arguments)},Q._crypto_box_noncebytes=function(){return(Q._crypto_box_noncebytes=Q.asm.ta).apply(null,arguments)},Q._crypto_box_zerobytes=function(){return(Q._crypto_box_zerobytes=Q.asm.ua).apply(null,arguments)},Q._crypto_box_boxzerobytes=function(){return(Q._crypto_box_boxzerobytes=Q.asm.va).apply(null,arguments)},Q._crypto_box_macbytes=function(){return(Q._crypto_box_macbytes=Q.asm.wa).apply(null,arguments)},Q._crypto_box_messagebytes_max=function(){return(Q._crypto_box_messagebytes_max=Q.asm.xa).apply(null,arguments)},Q._crypto_box_primitive=function(){return(Q._crypto_box_primitive=Q.asm.ya).apply(null,arguments)},Q._crypto_box_seed_keypair=function(){return(Q._crypto_box_seed_keypair=Q.asm.za).apply(null,arguments)},Q._crypto_box_keypair=function(){return(Q._crypto_box_keypair=Q.asm.Aa).apply(null,arguments)},Q._crypto_box_beforenm=function(){return(Q._crypto_box_beforenm=Q.asm.Ba).apply(null,arguments)},Q._crypto_box_afternm=function(){return(Q._crypto_box_afternm=Q.asm.Ca).apply(null,arguments)},Q._crypto_box_open_afternm=function(){return(Q._crypto_box_open_afternm=Q.asm.Da).apply(null,arguments)},Q._crypto_box=function(){return(Q._crypto_box=Q.asm.Ea).apply(null,arguments)},Q._crypto_box_open=function(){return(Q._crypto_box_open=Q.asm.Fa).apply(null,arguments)},Q._crypto_box_detached_afternm=function(){return(Q._crypto_box_detached_afternm=Q.asm.Ga).apply(null,arguments)},Q._crypto_box_detached=function(){return(Q._crypto_box_detached=Q.asm.Ha).apply(null,arguments)},Q._crypto_box_easy_afternm=function(){return(Q._crypto_box_easy_afternm=Q.asm.Ia).apply(null,arguments)},Q._crypto_box_easy=function(){return(Q._crypto_box_easy=Q.asm.Ja).apply(null,arguments)},Q._crypto_box_open_detached_afternm=function(){return(Q._crypto_box_open_detached_afternm=Q.asm.Ka).apply(null,arguments)},Q._crypto_box_open_detached=function(){return(Q._crypto_box_open_detached=Q.asm.La).apply(null,arguments)},Q._crypto_box_open_easy_afternm=function(){return(Q._crypto_box_open_easy_afternm=Q.asm.Ma).apply(null,arguments)},Q._crypto_box_open_easy=function(){return(Q._crypto_box_open_easy=Q.asm.Na).apply(null,arguments)},Q._crypto_box_seal=function(){return(Q._crypto_box_seal=Q.asm.Oa).apply(null,arguments)},Q._crypto_box_seal_open=function(){return(Q._crypto_box_seal_open=Q.asm.Pa).apply(null,arguments)},Q._crypto_box_sealbytes=function(){return(Q._crypto_box_sealbytes=Q.asm.Qa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_seed_keypair=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_seed_keypair=Q.asm.Ra).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_keypair=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_keypair=Q.asm.Sa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_beforenm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_beforenm=Q.asm.Ta).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_afternm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_afternm=Q.asm.Ua).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_open_afternm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_open_afternm=Q.asm.Va).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305=function(){return(Q._crypto_box_curve25519xsalsa20poly1305=Q.asm.Wa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_open=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_open=Q.asm.Xa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_seedbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_seedbytes=Q.asm.Ya).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_publickeybytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_publickeybytes=Q.asm.Za).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=Q.asm._a).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=Q.asm.$a).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_noncebytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_noncebytes=Q.asm.ab).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_zerobytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_zerobytes=Q.asm.bb).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=Q.asm.cb).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_macbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_macbytes=Q.asm.db).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=Q.asm.eb).apply(null,arguments)},Q._crypto_core_hchacha20=function(){return(Q._crypto_core_hchacha20=Q.asm.fb).apply(null,arguments)},Q._crypto_core_hchacha20_outputbytes=function(){return(Q._crypto_core_hchacha20_outputbytes=Q.asm.gb).apply(null,arguments)},Q._crypto_core_hchacha20_inputbytes=function(){return(Q._crypto_core_hchacha20_inputbytes=Q.asm.hb).apply(null,arguments)},Q._crypto_core_hchacha20_keybytes=function(){return(Q._crypto_core_hchacha20_keybytes=Q.asm.ib).apply(null,arguments)},Q._crypto_core_hchacha20_constbytes=function(){return(Q._crypto_core_hchacha20_constbytes=Q.asm.jb).apply(null,arguments)},Q._crypto_core_hsalsa20=function(){return(Q._crypto_core_hsalsa20=Q.asm.kb).apply(null,arguments)},Q._crypto_core_hsalsa20_outputbytes=function(){return(Q._crypto_core_hsalsa20_outputbytes=Q.asm.lb).apply(null,arguments)},Q._crypto_core_hsalsa20_inputbytes=function(){return(Q._crypto_core_hsalsa20_inputbytes=Q.asm.mb).apply(null,arguments)},Q._crypto_core_hsalsa20_keybytes=function(){return(Q._crypto_core_hsalsa20_keybytes=Q.asm.nb).apply(null,arguments)},Q._crypto_core_hsalsa20_constbytes=function(){return(Q._crypto_core_hsalsa20_constbytes=Q.asm.ob).apply(null,arguments)},Q._crypto_core_salsa20=function(){return(Q._crypto_core_salsa20=Q.asm.pb).apply(null,arguments)},Q._crypto_core_salsa20_outputbytes=function(){return(Q._crypto_core_salsa20_outputbytes=Q.asm.qb).apply(null,arguments)},Q._crypto_core_salsa20_inputbytes=function(){return(Q._crypto_core_salsa20_inputbytes=Q.asm.rb).apply(null,arguments)},Q._crypto_core_salsa20_keybytes=function(){return(Q._crypto_core_salsa20_keybytes=Q.asm.sb).apply(null,arguments)},Q._crypto_core_salsa20_constbytes=function(){return(Q._crypto_core_salsa20_constbytes=Q.asm.tb).apply(null,arguments)},Q._crypto_core_salsa2012=function(){return(Q._crypto_core_salsa2012=Q.asm.ub).apply(null,arguments)},Q._crypto_core_salsa2012_outputbytes=function(){return(Q._crypto_core_salsa2012_outputbytes=Q.asm.vb).apply(null,arguments)},Q._crypto_core_salsa2012_inputbytes=function(){return(Q._crypto_core_salsa2012_inputbytes=Q.asm.wb).apply(null,arguments)},Q._crypto_core_salsa2012_keybytes=function(){return(Q._crypto_core_salsa2012_keybytes=Q.asm.xb).apply(null,arguments)},Q._crypto_core_salsa2012_constbytes=function(){return(Q._crypto_core_salsa2012_constbytes=Q.asm.yb).apply(null,arguments)},Q._crypto_core_salsa208=function(){return(Q._crypto_core_salsa208=Q.asm.zb).apply(null,arguments)},Q._crypto_core_salsa208_outputbytes=function(){return(Q._crypto_core_salsa208_outputbytes=Q.asm.Ab).apply(null,arguments)},Q._crypto_core_salsa208_inputbytes=function(){return(Q._crypto_core_salsa208_inputbytes=Q.asm.Bb).apply(null,arguments)},Q._crypto_core_salsa208_keybytes=function(){return(Q._crypto_core_salsa208_keybytes=Q.asm.Cb).apply(null,arguments)},Q._crypto_core_salsa208_constbytes=function(){return(Q._crypto_core_salsa208_constbytes=Q.asm.Db).apply(null,arguments)},Q._crypto_generichash_bytes_min=function(){return(Q._crypto_generichash_bytes_min=Q.asm.Eb).apply(null,arguments)},Q._crypto_generichash_bytes_max=function(){return(Q._crypto_generichash_bytes_max=Q.asm.Fb).apply(null,arguments)},Q._crypto_generichash_bytes=function(){return(Q._crypto_generichash_bytes=Q.asm.Gb).apply(null,arguments)},Q._crypto_generichash_keybytes_min=function(){return(Q._crypto_generichash_keybytes_min=Q.asm.Hb).apply(null,arguments)},Q._crypto_generichash_keybytes_max=function(){return(Q._crypto_generichash_keybytes_max=Q.asm.Ib).apply(null,arguments)},Q._crypto_generichash_keybytes=function(){return(Q._crypto_generichash_keybytes=Q.asm.Jb).apply(null,arguments)},Q._crypto_generichash_primitive=function(){return(Q._crypto_generichash_primitive=Q.asm.Kb).apply(null,arguments)},Q._crypto_generichash_statebytes=function(){return(Q._crypto_generichash_statebytes=Q.asm.Lb).apply(null,arguments)},Q._crypto_generichash=function(){return(Q._crypto_generichash=Q.asm.Mb).apply(null,arguments)},Q._crypto_generichash_init=function(){return(Q._crypto_generichash_init=Q.asm.Nb).apply(null,arguments)},Q._crypto_generichash_update=function(){return(Q._crypto_generichash_update=Q.asm.Ob).apply(null,arguments)},Q._crypto_generichash_final=function(){return(Q._crypto_generichash_final=Q.asm.Pb).apply(null,arguments)},Q._crypto_generichash_keygen=function(){return(Q._crypto_generichash_keygen=Q.asm.Qb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes_min=function(){return(Q._crypto_generichash_blake2b_bytes_min=Q.asm.Rb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes_max=function(){return(Q._crypto_generichash_blake2b_bytes_max=Q.asm.Sb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes=function(){return(Q._crypto_generichash_blake2b_bytes=Q.asm.Tb).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes_min=function(){return(Q._crypto_generichash_blake2b_keybytes_min=Q.asm.Ub).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes_max=function(){return(Q._crypto_generichash_blake2b_keybytes_max=Q.asm.Vb).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes=function(){return(Q._crypto_generichash_blake2b_keybytes=Q.asm.Wb).apply(null,arguments)},Q._crypto_generichash_blake2b_saltbytes=function(){return(Q._crypto_generichash_blake2b_saltbytes=Q.asm.Xb).apply(null,arguments)},Q._crypto_generichash_blake2b_personalbytes=function(){return(Q._crypto_generichash_blake2b_personalbytes=Q.asm.Yb).apply(null,arguments)},Q._crypto_generichash_blake2b_statebytes=function(){return(Q._crypto_generichash_blake2b_statebytes=Q.asm.Zb).apply(null,arguments)},Q._crypto_generichash_blake2b_keygen=function(){return(Q._crypto_generichash_blake2b_keygen=Q.asm._b).apply(null,arguments)},Q._crypto_generichash_blake2b=function(){return(Q._crypto_generichash_blake2b=Q.asm.$b).apply(null,arguments)},Q._crypto_generichash_blake2b_salt_personal=function(){return(Q._crypto_generichash_blake2b_salt_personal=Q.asm.ac).apply(null,arguments)},Q._crypto_generichash_blake2b_init=function(){return(Q._crypto_generichash_blake2b_init=Q.asm.bc).apply(null,arguments)},Q._crypto_generichash_blake2b_init_salt_personal=function(){return(Q._crypto_generichash_blake2b_init_salt_personal=Q.asm.cc).apply(null,arguments)},Q._crypto_generichash_blake2b_update=function(){return(Q._crypto_generichash_blake2b_update=Q.asm.dc).apply(null,arguments)},Q._crypto_generichash_blake2b_final=function(){return(Q._crypto_generichash_blake2b_final=Q.asm.ec).apply(null,arguments)},Q._crypto_hash_bytes=function(){return(Q._crypto_hash_bytes=Q.asm.fc).apply(null,arguments)},Q._crypto_hash=function(){return(Q._crypto_hash=Q.asm.gc).apply(null,arguments)},Q._crypto_hash_primitive=function(){return(Q._crypto_hash_primitive=Q.asm.hc).apply(null,arguments)},Q._crypto_hash_sha256_bytes=function(){return(Q._crypto_hash_sha256_bytes=Q.asm.ic).apply(null,arguments)},Q._crypto_hash_sha256_statebytes=function(){return(Q._crypto_hash_sha256_statebytes=Q.asm.jc).apply(null,arguments)},Q._crypto_hash_sha256_init=function(){return(Q._crypto_hash_sha256_init=Q.asm.kc).apply(null,arguments)},Q._crypto_hash_sha256_update=function(){return(Q._crypto_hash_sha256_update=Q.asm.lc).apply(null,arguments)},Q._crypto_hash_sha256_final=function(){return(Q._crypto_hash_sha256_final=Q.asm.mc).apply(null,arguments)},Q._crypto_hash_sha256=function(){return(Q._crypto_hash_sha256=Q.asm.nc).apply(null,arguments)},Q._crypto_hash_sha512_bytes=function(){return(Q._crypto_hash_sha512_bytes=Q.asm.oc).apply(null,arguments)},Q._crypto_hash_sha512_statebytes=function(){return(Q._crypto_hash_sha512_statebytes=Q.asm.pc).apply(null,arguments)},Q._crypto_hash_sha512_init=function(){return(Q._crypto_hash_sha512_init=Q.asm.qc).apply(null,arguments)},Q._crypto_hash_sha512_update=function(){return(Q._crypto_hash_sha512_update=Q.asm.rc).apply(null,arguments)},Q._crypto_hash_sha512_final=function(){return(Q._crypto_hash_sha512_final=Q.asm.sc).apply(null,arguments)},Q._crypto_hash_sha512=function(){return(Q._crypto_hash_sha512=Q.asm.tc).apply(null,arguments)},Q._crypto_kdf_blake2b_bytes_min=function(){return(Q._crypto_kdf_blake2b_bytes_min=Q.asm.uc).apply(null,arguments)},Q._crypto_kdf_blake2b_bytes_max=function(){return(Q._crypto_kdf_blake2b_bytes_max=Q.asm.vc).apply(null,arguments)},Q._crypto_kdf_blake2b_contextbytes=function(){return(Q._crypto_kdf_blake2b_contextbytes=Q.asm.wc).apply(null,arguments)},Q._crypto_kdf_blake2b_keybytes=function(){return(Q._crypto_kdf_blake2b_keybytes=Q.asm.xc).apply(null,arguments)},Q._crypto_kdf_blake2b_derive_from_key=function(){return(Q._crypto_kdf_blake2b_derive_from_key=Q.asm.yc).apply(null,arguments)},Q._crypto_kdf_primitive=function(){return(Q._crypto_kdf_primitive=Q.asm.zc).apply(null,arguments)},Q._crypto_kdf_bytes_min=function(){return(Q._crypto_kdf_bytes_min=Q.asm.Ac).apply(null,arguments)},Q._crypto_kdf_bytes_max=function(){return(Q._crypto_kdf_bytes_max=Q.asm.Bc).apply(null,arguments)},Q._crypto_kdf_contextbytes=function(){return(Q._crypto_kdf_contextbytes=Q.asm.Cc).apply(null,arguments)},Q._crypto_kdf_keybytes=function(){return(Q._crypto_kdf_keybytes=Q.asm.Dc).apply(null,arguments)},Q._crypto_kdf_derive_from_key=function(){return(Q._crypto_kdf_derive_from_key=Q.asm.Ec).apply(null,arguments)},Q._crypto_kdf_keygen=function(){return(Q._crypto_kdf_keygen=Q.asm.Fc).apply(null,arguments)},Q._crypto_kx_seed_keypair=function(){return(Q._crypto_kx_seed_keypair=Q.asm.Gc).apply(null,arguments)},Q._crypto_kx_keypair=function(){return(Q._crypto_kx_keypair=Q.asm.Hc).apply(null,arguments)},Q._crypto_kx_client_session_keys=function(){return(Q._crypto_kx_client_session_keys=Q.asm.Ic).apply(null,arguments)},Q._crypto_kx_server_session_keys=function(){return(Q._crypto_kx_server_session_keys=Q.asm.Jc).apply(null,arguments)},Q._crypto_kx_publickeybytes=function(){return(Q._crypto_kx_publickeybytes=Q.asm.Kc).apply(null,arguments)},Q._crypto_kx_secretkeybytes=function(){return(Q._crypto_kx_secretkeybytes=Q.asm.Lc).apply(null,arguments)},Q._crypto_kx_seedbytes=function(){return(Q._crypto_kx_seedbytes=Q.asm.Mc).apply(null,arguments)},Q._crypto_kx_sessionkeybytes=function(){return(Q._crypto_kx_sessionkeybytes=Q.asm.Nc).apply(null,arguments)},Q._crypto_kx_primitive=function(){return(Q._crypto_kx_primitive=Q.asm.Oc).apply(null,arguments)},Q._crypto_onetimeauth_statebytes=function(){return(Q._crypto_onetimeauth_statebytes=Q.asm.Pc).apply(null,arguments)},Q._crypto_onetimeauth_bytes=function(){return(Q._crypto_onetimeauth_bytes=Q.asm.Qc).apply(null,arguments)},Q._crypto_onetimeauth_keybytes=function(){return(Q._crypto_onetimeauth_keybytes=Q.asm.Rc).apply(null,arguments)},Q._crypto_onetimeauth=function(){return(Q._crypto_onetimeauth=Q.asm.Sc).apply(null,arguments)},Q._crypto_onetimeauth_verify=function(){return(Q._crypto_onetimeauth_verify=Q.asm.Tc).apply(null,arguments)},Q._crypto_onetimeauth_init=function(){return(Q._crypto_onetimeauth_init=Q.asm.Uc).apply(null,arguments)},Q._crypto_onetimeauth_update=function(){return(Q._crypto_onetimeauth_update=Q.asm.Vc).apply(null,arguments)},Q._crypto_onetimeauth_final=function(){return(Q._crypto_onetimeauth_final=Q.asm.Wc).apply(null,arguments)},Q._crypto_onetimeauth_primitive=function(){return(Q._crypto_onetimeauth_primitive=Q.asm.Xc).apply(null,arguments)},Q._crypto_onetimeauth_keygen=function(){return(Q._crypto_onetimeauth_keygen=Q.asm.Yc).apply(null,arguments)},Q._crypto_onetimeauth_poly1305=function(){return(Q._crypto_onetimeauth_poly1305=Q.asm.Zc).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_verify=function(){return(Q._crypto_onetimeauth_poly1305_verify=Q.asm._c).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_init=function(){return(Q._crypto_onetimeauth_poly1305_init=Q.asm.$c).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_update=function(){return(Q._crypto_onetimeauth_poly1305_update=Q.asm.ad).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_final=function(){return(Q._crypto_onetimeauth_poly1305_final=Q.asm.bd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_bytes=function(){return(Q._crypto_onetimeauth_poly1305_bytes=Q.asm.cd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_keybytes=function(){return(Q._crypto_onetimeauth_poly1305_keybytes=Q.asm.dd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_statebytes=function(){return(Q._crypto_onetimeauth_poly1305_statebytes=Q.asm.ed).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_keygen=function(){return(Q._crypto_onetimeauth_poly1305_keygen=Q.asm.fd).apply(null,arguments)},Q._crypto_pwhash_argon2i_alg_argon2i13=function(){return(Q._crypto_pwhash_argon2i_alg_argon2i13=Q.asm.gd).apply(null,arguments)},Q._crypto_pwhash_argon2i_bytes_min=function(){return(Q._crypto_pwhash_argon2i_bytes_min=Q.asm.hd).apply(null,arguments)},Q._crypto_pwhash_argon2i_bytes_max=function(){return(Q._crypto_pwhash_argon2i_bytes_max=Q.asm.id).apply(null,arguments)},Q._crypto_pwhash_argon2i_passwd_min=function(){return(Q._crypto_pwhash_argon2i_passwd_min=Q.asm.jd).apply(null,arguments)},Q._crypto_pwhash_argon2i_passwd_max=function(){return(Q._crypto_pwhash_argon2i_passwd_max=Q.asm.kd).apply(null,arguments)},Q._crypto_pwhash_argon2i_saltbytes=function(){return(Q._crypto_pwhash_argon2i_saltbytes=Q.asm.ld).apply(null,arguments)},Q._crypto_pwhash_argon2i_strbytes=function(){return(Q._crypto_pwhash_argon2i_strbytes=Q.asm.md).apply(null,arguments)},Q._crypto_pwhash_argon2i_strprefix=function(){return(Q._crypto_pwhash_argon2i_strprefix=Q.asm.nd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_min=function(){return(Q._crypto_pwhash_argon2i_opslimit_min=Q.asm.od).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_max=function(){return(Q._crypto_pwhash_argon2i_opslimit_max=Q.asm.pd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_min=function(){return(Q._crypto_pwhash_argon2i_memlimit_min=Q.asm.qd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_max=function(){return(Q._crypto_pwhash_argon2i_memlimit_max=Q.asm.rd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_interactive=function(){return(Q._crypto_pwhash_argon2i_opslimit_interactive=Q.asm.sd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_interactive=function(){return(Q._crypto_pwhash_argon2i_memlimit_interactive=Q.asm.td).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_moderate=function(){return(Q._crypto_pwhash_argon2i_opslimit_moderate=Q.asm.ud).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_moderate=function(){return(Q._crypto_pwhash_argon2i_memlimit_moderate=Q.asm.vd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_sensitive=function(){return(Q._crypto_pwhash_argon2i_opslimit_sensitive=Q.asm.wd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_sensitive=function(){return(Q._crypto_pwhash_argon2i_memlimit_sensitive=Q.asm.xd).apply(null,arguments)},Q._crypto_pwhash_argon2i=function(){return(Q._crypto_pwhash_argon2i=Q.asm.yd).apply(null,arguments)},Q._crypto_pwhash_argon2i_str=function(){return(Q._crypto_pwhash_argon2i_str=Q.asm.zd).apply(null,arguments)},Q._crypto_pwhash_argon2i_str_verify=function(){return(Q._crypto_pwhash_argon2i_str_verify=Q.asm.Ad).apply(null,arguments)},Q._crypto_pwhash_argon2i_str_needs_rehash=function(){return(Q._crypto_pwhash_argon2i_str_needs_rehash=Q.asm.Bd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str_needs_rehash=function(){return(Q._crypto_pwhash_argon2id_str_needs_rehash=Q.asm.Cd).apply(null,arguments)},Q._crypto_pwhash_argon2id_alg_argon2id13=function(){return(Q._crypto_pwhash_argon2id_alg_argon2id13=Q.asm.Dd).apply(null,arguments)},Q._crypto_pwhash_argon2id_bytes_min=function(){return(Q._crypto_pwhash_argon2id_bytes_min=Q.asm.Ed).apply(null,arguments)},Q._crypto_pwhash_argon2id_bytes_max=function(){return(Q._crypto_pwhash_argon2id_bytes_max=Q.asm.Fd).apply(null,arguments)},Q._crypto_pwhash_argon2id_passwd_min=function(){return(Q._crypto_pwhash_argon2id_passwd_min=Q.asm.Gd).apply(null,arguments)},Q._crypto_pwhash_argon2id_passwd_max=function(){return(Q._crypto_pwhash_argon2id_passwd_max=Q.asm.Hd).apply(null,arguments)},Q._crypto_pwhash_argon2id_saltbytes=function(){return(Q._crypto_pwhash_argon2id_saltbytes=Q.asm.Id).apply(null,arguments)},Q._crypto_pwhash_argon2id_strbytes=function(){return(Q._crypto_pwhash_argon2id_strbytes=Q.asm.Jd).apply(null,arguments)},Q._crypto_pwhash_argon2id_strprefix=function(){return(Q._crypto_pwhash_argon2id_strprefix=Q.asm.Kd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_min=function(){return(Q._crypto_pwhash_argon2id_opslimit_min=Q.asm.Ld).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_max=function(){return(Q._crypto_pwhash_argon2id_opslimit_max=Q.asm.Md).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_min=function(){return(Q._crypto_pwhash_argon2id_memlimit_min=Q.asm.Nd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_max=function(){return(Q._crypto_pwhash_argon2id_memlimit_max=Q.asm.Od).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_interactive=function(){return(Q._crypto_pwhash_argon2id_opslimit_interactive=Q.asm.Pd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_interactive=function(){return(Q._crypto_pwhash_argon2id_memlimit_interactive=Q.asm.Qd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_moderate=function(){return(Q._crypto_pwhash_argon2id_opslimit_moderate=Q.asm.Rd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_moderate=function(){return(Q._crypto_pwhash_argon2id_memlimit_moderate=Q.asm.Sd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_sensitive=function(){return(Q._crypto_pwhash_argon2id_opslimit_sensitive=Q.asm.Td).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_sensitive=function(){return(Q._crypto_pwhash_argon2id_memlimit_sensitive=Q.asm.Ud).apply(null,arguments)},Q._crypto_pwhash_argon2id=function(){return(Q._crypto_pwhash_argon2id=Q.asm.Vd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str=function(){return(Q._crypto_pwhash_argon2id_str=Q.asm.Wd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str_verify=function(){return(Q._crypto_pwhash_argon2id_str_verify=Q.asm.Xd).apply(null,arguments)},Q._crypto_pwhash_alg_argon2i13=function(){return(Q._crypto_pwhash_alg_argon2i13=Q.asm.Yd).apply(null,arguments)},Q._crypto_pwhash_alg_argon2id13=function(){return(Q._crypto_pwhash_alg_argon2id13=Q.asm.Zd).apply(null,arguments)},Q._crypto_pwhash_alg_default=function(){return(Q._crypto_pwhash_alg_default=Q.asm._d).apply(null,arguments)},Q._crypto_pwhash_bytes_min=function(){return(Q._crypto_pwhash_bytes_min=Q.asm.$d).apply(null,arguments)},Q._crypto_pwhash_bytes_max=function(){return(Q._crypto_pwhash_bytes_max=Q.asm.ae).apply(null,arguments)},Q._crypto_pwhash_passwd_min=function(){return(Q._crypto_pwhash_passwd_min=Q.asm.be).apply(null,arguments)},Q._crypto_pwhash_passwd_max=function(){return(Q._crypto_pwhash_passwd_max=Q.asm.ce).apply(null,arguments)},Q._crypto_pwhash_saltbytes=function(){return(Q._crypto_pwhash_saltbytes=Q.asm.de).apply(null,arguments)},Q._crypto_pwhash_strbytes=function(){return(Q._crypto_pwhash_strbytes=Q.asm.ee).apply(null,arguments)},Q._crypto_pwhash_strprefix=function(){return(Q._crypto_pwhash_strprefix=Q.asm.fe).apply(null,arguments)},Q._crypto_pwhash_opslimit_min=function(){return(Q._crypto_pwhash_opslimit_min=Q.asm.ge).apply(null,arguments)},Q._crypto_pwhash_opslimit_max=function(){return(Q._crypto_pwhash_opslimit_max=Q.asm.he).apply(null,arguments)},Q._crypto_pwhash_memlimit_min=function(){return(Q._crypto_pwhash_memlimit_min=Q.asm.ie).apply(null,arguments)},Q._crypto_pwhash_memlimit_max=function(){return(Q._crypto_pwhash_memlimit_max=Q.asm.je).apply(null,arguments)},Q._crypto_pwhash_opslimit_interactive=function(){return(Q._crypto_pwhash_opslimit_interactive=Q.asm.ke).apply(null,arguments)},Q._crypto_pwhash_memlimit_interactive=function(){return(Q._crypto_pwhash_memlimit_interactive=Q.asm.le).apply(null,arguments)},Q._crypto_pwhash_opslimit_moderate=function(){return(Q._crypto_pwhash_opslimit_moderate=Q.asm.me).apply(null,arguments)},Q._crypto_pwhash_memlimit_moderate=function(){return(Q._crypto_pwhash_memlimit_moderate=Q.asm.ne).apply(null,arguments)},Q._crypto_pwhash_opslimit_sensitive=function(){return(Q._crypto_pwhash_opslimit_sensitive=Q.asm.oe).apply(null,arguments)},Q._crypto_pwhash_memlimit_sensitive=function(){return(Q._crypto_pwhash_memlimit_sensitive=Q.asm.pe).apply(null,arguments)},Q._crypto_pwhash=function(){return(Q._crypto_pwhash=Q.asm.qe).apply(null,arguments)},Q._crypto_pwhash_str=function(){return(Q._crypto_pwhash_str=Q.asm.re).apply(null,arguments)},Q._crypto_pwhash_str_alg=function(){return(Q._crypto_pwhash_str_alg=Q.asm.se).apply(null,arguments)},Q._crypto_pwhash_str_verify=function(){return(Q._crypto_pwhash_str_verify=Q.asm.te).apply(null,arguments)},Q._crypto_pwhash_str_needs_rehash=function(){return(Q._crypto_pwhash_str_needs_rehash=Q.asm.ue).apply(null,arguments)},Q._crypto_pwhash_primitive=function(){return(Q._crypto_pwhash_primitive=Q.asm.ve).apply(null,arguments)},Q._crypto_scalarmult_primitive=function(){return(Q._crypto_scalarmult_primitive=Q.asm.we).apply(null,arguments)},Q._crypto_scalarmult_base=function(){return(Q._crypto_scalarmult_base=Q.asm.xe).apply(null,arguments)},Q._crypto_scalarmult=function(){return(Q._crypto_scalarmult=Q.asm.ye).apply(null,arguments)},Q._crypto_scalarmult_bytes=function(){return(Q._crypto_scalarmult_bytes=Q.asm.ze).apply(null,arguments)},Q._crypto_scalarmult_scalarbytes=function(){return(Q._crypto_scalarmult_scalarbytes=Q.asm.Ae).apply(null,arguments)},Q._crypto_scalarmult_curve25519=function(){return(Q._crypto_scalarmult_curve25519=Q.asm.Be).apply(null,arguments)},Q._crypto_scalarmult_curve25519_base=function(){return(Q._crypto_scalarmult_curve25519_base=Q.asm.Ce).apply(null,arguments)},Q._crypto_scalarmult_curve25519_bytes=function(){return(Q._crypto_scalarmult_curve25519_bytes=Q.asm.De).apply(null,arguments)},Q._crypto_scalarmult_curve25519_scalarbytes=function(){return(Q._crypto_scalarmult_curve25519_scalarbytes=Q.asm.Ee).apply(null,arguments)},Q._crypto_secretbox_keybytes=function(){return(Q._crypto_secretbox_keybytes=Q.asm.Fe).apply(null,arguments)},Q._crypto_secretbox_noncebytes=function(){return(Q._crypto_secretbox_noncebytes=Q.asm.Ge).apply(null,arguments)},Q._crypto_secretbox_zerobytes=function(){return(Q._crypto_secretbox_zerobytes=Q.asm.He).apply(null,arguments)},Q._crypto_secretbox_boxzerobytes=function(){return(Q._crypto_secretbox_boxzerobytes=Q.asm.Ie).apply(null,arguments)},Q._crypto_secretbox_macbytes=function(){return(Q._crypto_secretbox_macbytes=Q.asm.Je).apply(null,arguments)},Q._crypto_secretbox_messagebytes_max=function(){return(Q._crypto_secretbox_messagebytes_max=Q.asm.Ke).apply(null,arguments)},Q._crypto_secretbox_primitive=function(){return(Q._crypto_secretbox_primitive=Q.asm.Le).apply(null,arguments)},Q._crypto_secretbox=function(){return(Q._crypto_secretbox=Q.asm.Me).apply(null,arguments)},Q._crypto_secretbox_open=function(){return(Q._crypto_secretbox_open=Q.asm.Ne).apply(null,arguments)},Q._crypto_secretbox_keygen=function(){return(Q._crypto_secretbox_keygen=Q.asm.Oe).apply(null,arguments)},Q._crypto_secretbox_detached=function(){return(Q._crypto_secretbox_detached=Q.asm.Pe).apply(null,arguments)},Q._crypto_secretbox_easy=function(){return(Q._crypto_secretbox_easy=Q.asm.Qe).apply(null,arguments)},Q._crypto_secretbox_open_detached=function(){return(Q._crypto_secretbox_open_detached=Q.asm.Re).apply(null,arguments)},Q._crypto_secretbox_open_easy=function(){return(Q._crypto_secretbox_open_easy=Q.asm.Se).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305=function(){return(Q._crypto_secretbox_xsalsa20poly1305=Q.asm.Te).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_open=function(){return(Q._crypto_secretbox_xsalsa20poly1305_open=Q.asm.Ue).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_keybytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_keybytes=Q.asm.Ve).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_noncebytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_noncebytes=Q.asm.We).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_zerobytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_zerobytes=Q.asm.Xe).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_boxzerobytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_boxzerobytes=Q.asm.Ye).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_macbytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_macbytes=Q.asm.Ze).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_messagebytes_max=function(){return(Q._crypto_secretbox_xsalsa20poly1305_messagebytes_max=Q.asm._e).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_keygen=function(){return(Q._crypto_secretbox_xsalsa20poly1305_keygen=Q.asm.$e).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_keygen=function(){return(Q._crypto_secretstream_xchacha20poly1305_keygen=Q.asm.af).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_init_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_init_push=Q.asm.bf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_init_pull=function(){return(Q._crypto_secretstream_xchacha20poly1305_init_pull=Q.asm.cf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_rekey=function(){return(Q._crypto_secretstream_xchacha20poly1305_rekey=Q.asm.df).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_push=Q.asm.ef).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_pull=function(){return(Q._crypto_secretstream_xchacha20poly1305_pull=Q.asm.ff).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_statebytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_statebytes=Q.asm.gf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_abytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_abytes=Q.asm.hf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_headerbytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_headerbytes=Q.asm.jf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_keybytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_keybytes=Q.asm.kf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_secretstream_xchacha20poly1305_messagebytes_max=Q.asm.lf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_message=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_message=Q.asm.mf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_push=Q.asm.nf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_rekey=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_rekey=Q.asm.of).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_final=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_final=Q.asm.pf).apply(null,arguments)},Q._crypto_shorthash_bytes=function(){return(Q._crypto_shorthash_bytes=Q.asm.qf).apply(null,arguments)},Q._crypto_shorthash_keybytes=function(){return(Q._crypto_shorthash_keybytes=Q.asm.rf).apply(null,arguments)},Q._crypto_shorthash_primitive=function(){return(Q._crypto_shorthash_primitive=Q.asm.sf).apply(null,arguments)},Q._crypto_shorthash=function(){return(Q._crypto_shorthash=Q.asm.tf).apply(null,arguments)},Q._crypto_shorthash_keygen=function(){return(Q._crypto_shorthash_keygen=Q.asm.uf).apply(null,arguments)},Q._crypto_shorthash_siphash24_bytes=function(){return(Q._crypto_shorthash_siphash24_bytes=Q.asm.vf).apply(null,arguments)},Q._crypto_shorthash_siphash24_keybytes=function(){return(Q._crypto_shorthash_siphash24_keybytes=Q.asm.wf).apply(null,arguments)},Q._crypto_shorthash_siphash24=function(){return(Q._crypto_shorthash_siphash24=Q.asm.xf).apply(null,arguments)},Q._crypto_sign_statebytes=function(){return(Q._crypto_sign_statebytes=Q.asm.yf).apply(null,arguments)},Q._crypto_sign_bytes=function(){return(Q._crypto_sign_bytes=Q.asm.zf).apply(null,arguments)},Q._crypto_sign_seedbytes=function(){return(Q._crypto_sign_seedbytes=Q.asm.Af).apply(null,arguments)},Q._crypto_sign_publickeybytes=function(){return(Q._crypto_sign_publickeybytes=Q.asm.Bf).apply(null,arguments)},Q._crypto_sign_secretkeybytes=function(){return(Q._crypto_sign_secretkeybytes=Q.asm.Cf).apply(null,arguments)},Q._crypto_sign_messagebytes_max=function(){return(Q._crypto_sign_messagebytes_max=Q.asm.Df).apply(null,arguments)},Q._crypto_sign_primitive=function(){return(Q._crypto_sign_primitive=Q.asm.Ef).apply(null,arguments)},Q._crypto_sign_seed_keypair=function(){return(Q._crypto_sign_seed_keypair=Q.asm.Ff).apply(null,arguments)},Q._crypto_sign_keypair=function(){return(Q._crypto_sign_keypair=Q.asm.Gf).apply(null,arguments)},Q._crypto_sign=function(){return(Q._crypto_sign=Q.asm.Hf).apply(null,arguments)},Q._crypto_sign_open=function(){return(Q._crypto_sign_open=Q.asm.If).apply(null,arguments)},Q._crypto_sign_detached=function(){return(Q._crypto_sign_detached=Q.asm.Jf).apply(null,arguments)},Q._crypto_sign_verify_detached=function(){return(Q._crypto_sign_verify_detached=Q.asm.Kf).apply(null,arguments)},Q._crypto_sign_init=function(){return(Q._crypto_sign_init=Q.asm.Lf).apply(null,arguments)},Q._crypto_sign_update=function(){return(Q._crypto_sign_update=Q.asm.Mf).apply(null,arguments)},Q._crypto_sign_final_create=function(){return(Q._crypto_sign_final_create=Q.asm.Nf).apply(null,arguments)},Q._crypto_sign_final_verify=function(){return(Q._crypto_sign_final_verify=Q.asm.Of).apply(null,arguments)},Q._crypto_sign_ed25519ph_statebytes=function(){return(Q._crypto_sign_ed25519ph_statebytes=Q.asm.Pf).apply(null,arguments)},Q._crypto_sign_ed25519_bytes=function(){return(Q._crypto_sign_ed25519_bytes=Q.asm.Qf).apply(null,arguments)},Q._crypto_sign_ed25519_seedbytes=function(){return(Q._crypto_sign_ed25519_seedbytes=Q.asm.Rf).apply(null,arguments)},Q._crypto_sign_ed25519_publickeybytes=function(){return(Q._crypto_sign_ed25519_publickeybytes=Q.asm.Sf).apply(null,arguments)},Q._crypto_sign_ed25519_secretkeybytes=function(){return(Q._crypto_sign_ed25519_secretkeybytes=Q.asm.Tf).apply(null,arguments)},Q._crypto_sign_ed25519_messagebytes_max=function(){return(Q._crypto_sign_ed25519_messagebytes_max=Q.asm.Uf).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_seed=function(){return(Q._crypto_sign_ed25519_sk_to_seed=Q.asm.Vf).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_pk=function(){return(Q._crypto_sign_ed25519_sk_to_pk=Q.asm.Wf).apply(null,arguments)},Q._crypto_sign_ed25519ph_init=function(){return(Q._crypto_sign_ed25519ph_init=Q.asm.Xf).apply(null,arguments)},Q._crypto_sign_ed25519ph_update=function(){return(Q._crypto_sign_ed25519ph_update=Q.asm.Yf).apply(null,arguments)},Q._crypto_sign_ed25519ph_final_create=function(){return(Q._crypto_sign_ed25519ph_final_create=Q.asm.Zf).apply(null,arguments)},Q._crypto_sign_ed25519ph_final_verify=function(){return(Q._crypto_sign_ed25519ph_final_verify=Q.asm._f).apply(null,arguments)},Q._crypto_sign_ed25519_seed_keypair=function(){return(Q._crypto_sign_ed25519_seed_keypair=Q.asm.$f).apply(null,arguments)},Q._crypto_sign_ed25519_keypair=function(){return(Q._crypto_sign_ed25519_keypair=Q.asm.ag).apply(null,arguments)},Q._crypto_sign_ed25519_pk_to_curve25519=function(){return(Q._crypto_sign_ed25519_pk_to_curve25519=Q.asm.bg).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_curve25519=function(){return(Q._crypto_sign_ed25519_sk_to_curve25519=Q.asm.cg).apply(null,arguments)},Q._crypto_sign_ed25519_verify_detached=function(){return(Q._crypto_sign_ed25519_verify_detached=Q.asm.dg).apply(null,arguments)},Q._crypto_sign_ed25519_open=function(){return(Q._crypto_sign_ed25519_open=Q.asm.eg).apply(null,arguments)},Q._crypto_sign_ed25519_detached=function(){return(Q._crypto_sign_ed25519_detached=Q.asm.fg).apply(null,arguments)},Q._crypto_sign_ed25519=function(){return(Q._crypto_sign_ed25519=Q.asm.gg).apply(null,arguments)},Q._crypto_stream_chacha20_keybytes=function(){return(Q._crypto_stream_chacha20_keybytes=Q.asm.hg).apply(null,arguments)},Q._crypto_stream_chacha20_noncebytes=function(){return(Q._crypto_stream_chacha20_noncebytes=Q.asm.ig).apply(null,arguments)},Q._crypto_stream_chacha20_messagebytes_max=function(){return(Q._crypto_stream_chacha20_messagebytes_max=Q.asm.jg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_keybytes=function(){return(Q._crypto_stream_chacha20_ietf_keybytes=Q.asm.kg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_noncebytes=function(){return(Q._crypto_stream_chacha20_ietf_noncebytes=Q.asm.lg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_messagebytes_max=function(){return(Q._crypto_stream_chacha20_ietf_messagebytes_max=Q.asm.mg).apply(null,arguments)},Q._crypto_stream_chacha20=function(){return(Q._crypto_stream_chacha20=Q.asm.ng).apply(null,arguments)},Q._crypto_stream_chacha20_xor_ic=function(){return(Q._crypto_stream_chacha20_xor_ic=Q.asm.og).apply(null,arguments)},Q._crypto_stream_chacha20_xor=function(){return(Q._crypto_stream_chacha20_xor=Q.asm.pg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf=function(){return(Q._crypto_stream_chacha20_ietf=Q.asm.qg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_xor_ic=function(){return(Q._crypto_stream_chacha20_ietf_xor_ic=Q.asm.rg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_xor=function(){return(Q._crypto_stream_chacha20_ietf_xor=Q.asm.sg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_keygen=function(){return(Q._crypto_stream_chacha20_ietf_keygen=Q.asm.tg).apply(null,arguments)},Q._crypto_stream_chacha20_keygen=function(){return(Q._crypto_stream_chacha20_keygen=Q.asm.ug).apply(null,arguments)},Q._crypto_stream_keybytes=function(){return(Q._crypto_stream_keybytes=Q.asm.vg).apply(null,arguments)},Q._crypto_stream_noncebytes=function(){return(Q._crypto_stream_noncebytes=Q.asm.wg).apply(null,arguments)},Q._crypto_stream_messagebytes_max=function(){return(Q._crypto_stream_messagebytes_max=Q.asm.xg).apply(null,arguments)},Q._crypto_stream_primitive=function(){return(Q._crypto_stream_primitive=Q.asm.yg).apply(null,arguments)},Q._crypto_stream=function(){return(Q._crypto_stream=Q.asm.zg).apply(null,arguments)},Q._crypto_stream_xor=function(){return(Q._crypto_stream_xor=Q.asm.Ag).apply(null,arguments)},Q._crypto_stream_keygen=function(){return(Q._crypto_stream_keygen=Q.asm.Bg).apply(null,arguments)},Q._crypto_stream_salsa20_keybytes=function(){return(Q._crypto_stream_salsa20_keybytes=Q.asm.Cg).apply(null,arguments)},Q._crypto_stream_salsa20_noncebytes=function(){return(Q._crypto_stream_salsa20_noncebytes=Q.asm.Dg).apply(null,arguments)},Q._crypto_stream_salsa20_messagebytes_max=function(){return(Q._crypto_stream_salsa20_messagebytes_max=Q.asm.Eg).apply(null,arguments)},Q._crypto_stream_salsa20=function(){return(Q._crypto_stream_salsa20=Q.asm.Fg).apply(null,arguments)},Q._crypto_stream_salsa20_xor_ic=function(){return(Q._crypto_stream_salsa20_xor_ic=Q.asm.Gg).apply(null,arguments)},Q._crypto_stream_salsa20_xor=function(){return(Q._crypto_stream_salsa20_xor=Q.asm.Hg).apply(null,arguments)},Q._crypto_stream_salsa20_keygen=function(){return(Q._crypto_stream_salsa20_keygen=Q.asm.Ig).apply(null,arguments)},Q._crypto_stream_xsalsa20=function(){return(Q._crypto_stream_xsalsa20=Q.asm.Jg).apply(null,arguments)},Q._crypto_stream_xsalsa20_xor_ic=function(){return(Q._crypto_stream_xsalsa20_xor_ic=Q.asm.Kg).apply(null,arguments)},Q._crypto_stream_xsalsa20_xor=function(){return(Q._crypto_stream_xsalsa20_xor=Q.asm.Lg).apply(null,arguments)},Q._crypto_stream_xsalsa20_keybytes=function(){return(Q._crypto_stream_xsalsa20_keybytes=Q.asm.Mg).apply(null,arguments)},Q._crypto_stream_xsalsa20_noncebytes=function(){return(Q._crypto_stream_xsalsa20_noncebytes=Q.asm.Ng).apply(null,arguments)},Q._crypto_stream_xsalsa20_messagebytes_max=function(){return(Q._crypto_stream_xsalsa20_messagebytes_max=Q.asm.Og).apply(null,arguments)},Q._crypto_stream_xsalsa20_keygen=function(){return(Q._crypto_stream_xsalsa20_keygen=Q.asm.Pg).apply(null,arguments)},Q._crypto_verify_16_bytes=function(){return(Q._crypto_verify_16_bytes=Q.asm.Qg).apply(null,arguments)},Q._crypto_verify_32_bytes=function(){return(Q._crypto_verify_32_bytes=Q.asm.Rg).apply(null,arguments)},Q._crypto_verify_64_bytes=function(){return(Q._crypto_verify_64_bytes=Q.asm.Sg).apply(null,arguments)},Q._crypto_verify_16=function(){return(Q._crypto_verify_16=Q.asm.Tg).apply(null,arguments)},Q._crypto_verify_32=function(){return(Q._crypto_verify_32=Q.asm.Ug).apply(null,arguments)},Q._crypto_verify_64=function(){return(Q._crypto_verify_64=Q.asm.Vg).apply(null,arguments)},Q._randombytes_implementation_name=function(){return(Q._randombytes_implementation_name=Q.asm.Wg).apply(null,arguments)},Q._randombytes_random=function(){return(Q._randombytes_random=Q.asm.Xg).apply(null,arguments)},Q._randombytes_stir=function(){return(Q._randombytes_stir=Q.asm.Yg).apply(null,arguments)},Q._randombytes_uniform=function(){return(Q._randombytes_uniform=Q.asm.Zg).apply(null,arguments)},Q._randombytes_buf=function(){return(Q._randombytes_buf=Q.asm._g).apply(null,arguments)},Q._randombytes_buf_deterministic=function(){return(Q._randombytes_buf_deterministic=Q.asm.$g).apply(null,arguments)},Q._randombytes_seedbytes=function(){return(Q._randombytes_seedbytes=Q.asm.ah).apply(null,arguments)},Q._randombytes_close=function(){return(Q._randombytes_close=Q.asm.bh).apply(null,arguments)},Q._randombytes=function(){return(Q._randombytes=Q.asm.ch).apply(null,arguments)},Q._sodium_bin2hex=function(){return(Q._sodium_bin2hex=Q.asm.dh).apply(null,arguments)},Q._sodium_hex2bin=function(){return(Q._sodium_hex2bin=Q.asm.eh).apply(null,arguments)},Q._sodium_base64_encoded_len=function(){return(Q._sodium_base64_encoded_len=Q.asm.fh).apply(null,arguments)},Q._sodium_bin2base64=function(){return(Q._sodium_bin2base64=Q.asm.gh).apply(null,arguments)},Q._sodium_base642bin=function(){return(Q._sodium_base642bin=Q.asm.hh).apply(null,arguments)},Q._sodium_init=function(){return(Q._sodium_init=Q.asm.ih).apply(null,arguments)},Q._sodium_pad=function(){return(Q._sodium_pad=Q.asm.jh).apply(null,arguments)},Q._sodium_unpad=function(){return(Q._sodium_unpad=Q.asm.kh).apply(null,arguments)},Q._sodium_version_string=function(){return(Q._sodium_version_string=Q.asm.lh).apply(null,arguments)},Q._sodium_library_version_major=function(){return(Q._sodium_library_version_major=Q.asm.mh).apply(null,arguments)},Q._sodium_library_version_minor=function(){return(Q._sodium_library_version_minor=Q.asm.nh).apply(null,arguments)},Q._sodium_library_minimal=function(){return(Q._sodium_library_minimal=Q.asm.oh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seed_keypair=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seed_keypair=Q.asm.ph).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_keypair=function(){return(Q._crypto_box_curve25519xchacha20poly1305_keypair=Q.asm.qh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_beforenm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_beforenm=Q.asm.rh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_detached_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_detached_afternm=Q.asm.sh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_detached=function(){return(Q._crypto_box_curve25519xchacha20poly1305_detached=Q.asm.th).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_easy_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_easy_afternm=Q.asm.uh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_easy=function(){return(Q._crypto_box_curve25519xchacha20poly1305_easy=Q.asm.vh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=Q.asm.wh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_detached=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_detached=Q.asm.xh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=Q.asm.yh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_easy=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_easy=Q.asm.zh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seedbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seedbytes=Q.asm.Ah).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_publickeybytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_publickeybytes=Q.asm.Bh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_secretkeybytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_secretkeybytes=Q.asm.Ch).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_beforenmbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_beforenmbytes=Q.asm.Dh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_noncebytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_noncebytes=Q.asm.Eh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_macbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_macbytes=Q.asm.Fh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_box_curve25519xchacha20poly1305_messagebytes_max=Q.asm.Gh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seal=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seal=Q.asm.Hh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seal_open=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seal_open=Q.asm.Ih).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_sealbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_sealbytes=Q.asm.Jh).apply(null,arguments)},Q._crypto_core_ed25519_is_valid_point=function(){return(Q._crypto_core_ed25519_is_valid_point=Q.asm.Kh).apply(null,arguments)},Q._crypto_core_ed25519_add=function(){return(Q._crypto_core_ed25519_add=Q.asm.Lh).apply(null,arguments)},Q._crypto_core_ed25519_sub=function(){return(Q._crypto_core_ed25519_sub=Q.asm.Mh).apply(null,arguments)},Q._crypto_core_ed25519_from_uniform=function(){return(Q._crypto_core_ed25519_from_uniform=Q.asm.Nh).apply(null,arguments)},Q._crypto_core_ed25519_from_hash=function(){return(Q._crypto_core_ed25519_from_hash=Q.asm.Oh).apply(null,arguments)},Q._crypto_core_ed25519_random=function(){return(Q._crypto_core_ed25519_random=Q.asm.Ph).apply(null,arguments)},Q._crypto_core_ed25519_scalar_random=function(){return(Q._crypto_core_ed25519_scalar_random=Q.asm.Qh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_invert=function(){return(Q._crypto_core_ed25519_scalar_invert=Q.asm.Rh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_negate=function(){return(Q._crypto_core_ed25519_scalar_negate=Q.asm.Sh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_complement=function(){return(Q._crypto_core_ed25519_scalar_complement=Q.asm.Th).apply(null,arguments)},Q._crypto_core_ed25519_scalar_add=function(){return(Q._crypto_core_ed25519_scalar_add=Q.asm.Uh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_reduce=function(){return(Q._crypto_core_ed25519_scalar_reduce=Q.asm.Vh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_sub=function(){return(Q._crypto_core_ed25519_scalar_sub=Q.asm.Wh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_mul=function(){return(Q._crypto_core_ed25519_scalar_mul=Q.asm.Xh).apply(null,arguments)},Q._crypto_core_ed25519_bytes=function(){return(Q._crypto_core_ed25519_bytes=Q.asm.Yh).apply(null,arguments)},Q._crypto_core_ed25519_nonreducedscalarbytes=function(){return(Q._crypto_core_ed25519_nonreducedscalarbytes=Q.asm.Zh).apply(null,arguments)},Q._crypto_core_ed25519_uniformbytes=function(){return(Q._crypto_core_ed25519_uniformbytes=Q.asm._h).apply(null,arguments)},Q._crypto_core_ed25519_hashbytes=function(){return(Q._crypto_core_ed25519_hashbytes=Q.asm.$h).apply(null,arguments)},Q._crypto_core_ed25519_scalarbytes=function(){return(Q._crypto_core_ed25519_scalarbytes=Q.asm.ai).apply(null,arguments)},Q._crypto_core_ristretto255_is_valid_point=function(){return(Q._crypto_core_ristretto255_is_valid_point=Q.asm.bi).apply(null,arguments)},Q._crypto_core_ristretto255_add=function(){return(Q._crypto_core_ristretto255_add=Q.asm.ci).apply(null,arguments)},Q._crypto_core_ristretto255_sub=function(){return(Q._crypto_core_ristretto255_sub=Q.asm.di).apply(null,arguments)},Q._crypto_core_ristretto255_from_hash=function(){return(Q._crypto_core_ristretto255_from_hash=Q.asm.ei).apply(null,arguments)},Q._crypto_core_ristretto255_random=function(){return(Q._crypto_core_ristretto255_random=Q.asm.fi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_random=function(){return(Q._crypto_core_ristretto255_scalar_random=Q.asm.gi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_invert=function(){return(Q._crypto_core_ristretto255_scalar_invert=Q.asm.hi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_negate=function(){return(Q._crypto_core_ristretto255_scalar_negate=Q.asm.ii).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_complement=function(){return(Q._crypto_core_ristretto255_scalar_complement=Q.asm.ji).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_add=function(){return(Q._crypto_core_ristretto255_scalar_add=Q.asm.ki).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_sub=function(){return(Q._crypto_core_ristretto255_scalar_sub=Q.asm.li).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_mul=function(){return(Q._crypto_core_ristretto255_scalar_mul=Q.asm.mi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_reduce=function(){return(Q._crypto_core_ristretto255_scalar_reduce=Q.asm.ni).apply(null,arguments)},Q._crypto_core_ristretto255_bytes=function(){return(Q._crypto_core_ristretto255_bytes=Q.asm.oi).apply(null,arguments)},Q._crypto_core_ristretto255_nonreducedscalarbytes=function(){return(Q._crypto_core_ristretto255_nonreducedscalarbytes=Q.asm.pi).apply(null,arguments)},Q._crypto_core_ristretto255_hashbytes=function(){return(Q._crypto_core_ristretto255_hashbytes=Q.asm.qi).apply(null,arguments)},Q._crypto_core_ristretto255_scalarbytes=function(){return(Q._crypto_core_ristretto255_scalarbytes=Q.asm.ri).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_ll=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_ll=Q.asm.si).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_bytes_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_bytes_min=Q.asm.ti).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_bytes_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_bytes_max=Q.asm.ui).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_passwd_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_passwd_min=Q.asm.vi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_passwd_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_passwd_max=Q.asm.wi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_saltbytes=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_saltbytes=Q.asm.xi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_strbytes=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_strbytes=Q.asm.yi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_strprefix=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_strprefix=Q.asm.zi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_min=Q.asm.Ai).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_max=Q.asm.Bi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_min=Q.asm.Ci).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_max=Q.asm.Di).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=Q.asm.Ei).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=Q.asm.Fi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=Q.asm.Gi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=Q.asm.Hi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256=function(){return(Q._crypto_pwhash_scryptsalsa208sha256=Q.asm.Ii).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str=Q.asm.Ji).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str_verify=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str_verify=Q.asm.Ki).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=Q.asm.Li).apply(null,arguments)},Q._crypto_scalarmult_ed25519=function(){return(Q._crypto_scalarmult_ed25519=Q.asm.Mi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_noclamp=function(){return(Q._crypto_scalarmult_ed25519_noclamp=Q.asm.Ni).apply(null,arguments)},Q._crypto_scalarmult_ed25519_base=function(){return(Q._crypto_scalarmult_ed25519_base=Q.asm.Oi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_base_noclamp=function(){return(Q._crypto_scalarmult_ed25519_base_noclamp=Q.asm.Pi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_bytes=function(){return(Q._crypto_scalarmult_ed25519_bytes=Q.asm.Qi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_scalarbytes=function(){return(Q._crypto_scalarmult_ed25519_scalarbytes=Q.asm.Ri).apply(null,arguments)},Q._crypto_scalarmult_ristretto255=function(){return(Q._crypto_scalarmult_ristretto255=Q.asm.Si).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_base=function(){return(Q._crypto_scalarmult_ristretto255_base=Q.asm.Ti).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_bytes=function(){return(Q._crypto_scalarmult_ristretto255_bytes=Q.asm.Ui).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_scalarbytes=function(){return(Q._crypto_scalarmult_ristretto255_scalarbytes=Q.asm.Vi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_detached=function(){return(Q._crypto_secretbox_xchacha20poly1305_detached=Q.asm.Wi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_easy=function(){return(Q._crypto_secretbox_xchacha20poly1305_easy=Q.asm.Xi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_open_detached=function(){return(Q._crypto_secretbox_xchacha20poly1305_open_detached=Q.asm.Yi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_open_easy=function(){return(Q._crypto_secretbox_xchacha20poly1305_open_easy=Q.asm.Zi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_keybytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_keybytes=Q.asm._i).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_noncebytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_noncebytes=Q.asm.$i).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_macbytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_macbytes=Q.asm.aj).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_secretbox_xchacha20poly1305_messagebytes_max=Q.asm.bj).apply(null,arguments)},Q._crypto_shorthash_siphashx24_bytes=function(){return(Q._crypto_shorthash_siphashx24_bytes=Q.asm.cj).apply(null,arguments)},Q._crypto_shorthash_siphashx24_keybytes=function(){return(Q._crypto_shorthash_siphashx24_keybytes=Q.asm.dj).apply(null,arguments)},Q._crypto_shorthash_siphashx24=function(){return(Q._crypto_shorthash_siphashx24=Q.asm.ej).apply(null,arguments)},Q._crypto_stream_salsa2012=function(){return(Q._crypto_stream_salsa2012=Q.asm.fj).apply(null,arguments)},Q._crypto_stream_salsa2012_xor=function(){return(Q._crypto_stream_salsa2012_xor=Q.asm.gj).apply(null,arguments)},Q._crypto_stream_salsa2012_keybytes=function(){return(Q._crypto_stream_salsa2012_keybytes=Q.asm.hj).apply(null,arguments)},Q._crypto_stream_salsa2012_noncebytes=function(){return(Q._crypto_stream_salsa2012_noncebytes=Q.asm.ij).apply(null,arguments)},Q._crypto_stream_salsa2012_messagebytes_max=function(){return(Q._crypto_stream_salsa2012_messagebytes_max=Q.asm.jj).apply(null,arguments)},Q._crypto_stream_salsa2012_keygen=function(){return(Q._crypto_stream_salsa2012_keygen=Q.asm.kj).apply(null,arguments)},Q._crypto_stream_salsa208=function(){return(Q._crypto_stream_salsa208=Q.asm.lj).apply(null,arguments)},Q._crypto_stream_salsa208_xor=function(){return(Q._crypto_stream_salsa208_xor=Q.asm.mj).apply(null,arguments)},Q._crypto_stream_salsa208_keybytes=function(){return(Q._crypto_stream_salsa208_keybytes=Q.asm.nj).apply(null,arguments)},Q._crypto_stream_salsa208_noncebytes=function(){return(Q._crypto_stream_salsa208_noncebytes=Q.asm.oj).apply(null,arguments)},Q._crypto_stream_salsa208_messagebytes_max=function(){return(Q._crypto_stream_salsa208_messagebytes_max=Q.asm.pj).apply(null,arguments)},Q._crypto_stream_salsa208_keygen=function(){return(Q._crypto_stream_salsa208_keygen=Q.asm.qj).apply(null,arguments)},Q._crypto_stream_xchacha20_keybytes=function(){return(Q._crypto_stream_xchacha20_keybytes=Q.asm.rj).apply(null,arguments)},Q._crypto_stream_xchacha20_noncebytes=function(){return(Q._crypto_stream_xchacha20_noncebytes=Q.asm.sj).apply(null,arguments)},Q._crypto_stream_xchacha20_messagebytes_max=function(){return(Q._crypto_stream_xchacha20_messagebytes_max=Q.asm.tj).apply(null,arguments)},Q._crypto_stream_xchacha20=function(){return(Q._crypto_stream_xchacha20=Q.asm.uj).apply(null,arguments)},Q._crypto_stream_xchacha20_xor_ic=function(){return(Q._crypto_stream_xchacha20_xor_ic=Q.asm.vj).apply(null,arguments)},Q._crypto_stream_xchacha20_xor=function(){return(Q._crypto_stream_xchacha20_xor=Q.asm.wj).apply(null,arguments)},Q._crypto_stream_xchacha20_keygen=function(){return(Q._crypto_stream_xchacha20_keygen=Q.asm.xj).apply(null,arguments)},Q._malloc=function(){return(Q._malloc=Q.asm.yj).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.zj).apply(null,arguments)},Q.UTF8ToString=F,Q.setValue=function(A,I,g="i8"){switch(g.endsWith("*")&&(g="*"),g){case"i1":case"i8":p[A>>0]=I;break;case"i16":h[A>>1]=I;break;case"i32":l[A>>2]=I;break;case"i64":v=[I>>>0,(x=I,+Math.abs(x)>=1?x>0?(0|Math.min(+Math.floor(x/4294967296),4294967295))>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],l[A>>2]=v[0],l[A+4>>2]=v[1];break;case"float":D[A>>2]=I;break;case"double":w[A>>3]=I;break;case"*":u[A>>2]=I;break;default:J("invalid type for setValue: "+g)}},Q.getValue=function(A,I="i8"){switch(I.endsWith("*")&&(I="*"),I){case"i1":case"i8":return p[A>>0];case"i16":return h[A>>1];case"i32":case"i64":return l[A>>2];case"float":return D[A>>2];case"double":return w[A>>3];case"*":return u[A>>2];default:J("invalid type for getValue: "+I)}return null},U=function A(){O||$(),O||(U=A)},Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();$()}))};var g,B,a,Q=void 0!==Q?Q:{},t=Object.assign({},Q),i="object"==typeof window,r="function"==typeof importScripts,o="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,n="";if(o){var c=require("fs"),e=require("path");n=r?e.dirname(n)+"/":__dirname+"/",g=(A,I)=>{var g=V(A);return g?I?g:g.toString():(A=R(A)?new URL(A):e.normalize(A),c.readFileSync(A,I?void 0:"utf8"))},a=A=>{var I=g(A,!0);return I.buffer||(I=new Uint8Array(I)),I},B=(A,I,g)=>{var C=V(A);C&&I(C),A=R(A)?new URL(A):e.normalize(A),c.readFile(A,(function(A,C){A?g(A):I(C.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Q),Q.inspect=function(){return"[Emscripten Module object]"}}else(i||r)&&(r?n=self.location.href:"undefined"!=typeof document&&document.currentScript&&(n=document.currentScript.src),n=0!==n.indexOf("blob:")?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",g=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=V(A);if(g)return function(A){for(var I=[],g=0;g255&&(C&=255),I.push(String.fromCharCode(C))}return I.join("")}(g);throw I}},r&&(a=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=V(A);if(g)return g;throw I}}),B=(A,I,g)=>{var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=()=>{if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=V(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});Q.print;var E,_,y=Q.printErr||void 0;Object.assign(Q,t),t=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&Q.quit,Q.wasmBinary&&(E=Q.wasmBinary),Q.noExitRuntime,"object"!=typeof WebAssembly&&Y("no native wasm support detected");var s,p,f,h,l,u,D,w=!1,m="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(A,I){return A?function(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.buffer&&m)return m.decode(A.subarray(I,B));for(var a="";I>10,56320|1023&r)}}else a+=String.fromCharCode((31&Q)<<6|t)}else a+=String.fromCharCode(Q)}return a}(p,A,I):""}function F(){var A=_.buffer;Q.HEAP8=s=new Int8Array(A),Q.HEAP16=f=new Int16Array(A),Q.HEAP32=h=new Int32Array(A),Q.HEAPU8=p=new Uint8Array(A),Q.HEAPU16=new Uint16Array(A),Q.HEAPU32=l=new Uint32Array(A),Q.HEAPF32=u=new Float32Array(A),Q.HEAPF64=D=new Float64Array(A)}var S=[],G=[],N=[],b=0,M=null,H=null;function Y(A){throw Q.onAbort&&Q.onAbort(A),y(A="Aborted("+A+")"),w=!0,A+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(A)}var U,J,d,K,x="data:application/octet-stream;base64,";function v(A){return A.startsWith(x)}function R(A){return A.startsWith("file://")}function L(A){try{if(A==U&&E)return new Uint8Array(E);var I=V(A);if(I)return I;if(a)return a(A);throw"both async and sync fetching of the wasm failed"}catch(A){Y(A)}}v(U="data:application/octet-stream;base64,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AiADSQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAACwQAQRAL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAALGAEBf0G0oQIoAgAiAARAIAARFQALEAIAC7EEAhN/BH4gASgCKCECIAEoAgQhAyABKAIsIQQgASgCCCEFIAEoAjAhBiABKAIMIQcgASgCNCEIIAEoAhAhCSABKAI4IQogASgCFCELIAEoAjwhDCABKAIYIQ0gAUFAayIOKAIAIQ8gASgCHCEQIAEoAkQhESABKAIgIRIgASgCSCETIAEoAgAhFCAAIAEoAiQgASgCTGo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCAAIAIgFGo2AgAgASgCKCECIAEoAgQhAyABKAIsIQQgASgCCCEFIAEoAjAhBiABKAIMIQcgASgCNCEIIAEoAhAhCSABKAI4IQogASgCFCELIAEoAjwhDCABKAIYIQ0gDigCACEOIAEoAhwhDyABKAJEIRAgASgCICERIAEoAkghEiABKAIAIRMgACABKAJMIAEoAiRrNgJMIAAgEiARazYCSCAAIBAgD2s2AkQgAEFAayAOIA1rNgIAIAAgDCALazYCPCAAIAogCWs2AjggACAIIAdrNgI0IAAgBiAFazYCMCAAIAQgA2s2AiwgACACIBNrNgIoIAEpAlAhFSABKQJYIRYgASkCYCEXIAEpAmghGCAAIAEpAnA3AnAgACAYNwJoIAAgFzcCYCAAIBY3AlggACAVNwJQIABB+ABqIAFB+ABqQaANEAYL6AQBCX8gACABKAIgIgUgASgCHCIGIAEoAhgiByABKAIUIgggASgCECIJIAEoAgwiCiABKAIIIgQgASgCBCIDIAEoAgAiAiABKAIkIgFBE2xBgICACGpBGXZqQRp1akEZdWpBGnVqQRl1akEadWpBGXVqQRp1akEZdWpBGnUgAWpBGXVBE2wgAmoiAjoAACAAIAJBEHY6AAIgACACQQh2OgABIAAgAyACQRp1aiIDQQ52OgAFIAAgA0EGdjoABCAAIAJBGHZBA3EgA0ECdHI6AAMgACAEIANBGXVqIgJBDXY6AAggACACQQV2OgAHIAAgAkEDdCADQYCAgA5xQRZ2cjoABiAAIAogAkEadWoiBEELdjoACyAAIARBA3Y6AAogACAEQQV0IAJBgICAH3FBFXZyOgAJIAAgCSAEQRl1aiICQRJ2OgAPIAAgAkEKdjoADiAAIAJBAnY6AA0gACAIIAJBGnVqIgM6ABAgACACQQZ0IARBgIDgD3FBE3ZyOgAMIAAgA0EQdjoAEiAAIANBCHY6ABEgACAHIANBGXVqIgJBD3Y6ABUgACACQQd2OgAUIAAgA0EYdkEBcSACQQF0cjoAEyAAIAYgAkEadWoiA0ENdjoAGCAAIANBBXY6ABcgACADQQN0IAJBgICAHHFBF3ZyOgAWIAAgBSADQRl1aiICQQx2OgAbIAAgAkEEdjoAGiAAIAJBBHQgA0GAgIAPcUEVdnI6ABkgACABIAJBGnVqIgFBCnY6AB4gACABQQJ2OgAdIAAgAUGAgPAPcUESdjoAHyAAIAFBBnQgAkGAgMAfcUEUdnI6ABwLiQwBB38CQCAARQ0AIABBCGsiAiAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAIgAigCACIBayICQbidAigCAEkNASAAIAFqIQBBvJ0CKAIAIAJHBEAgAUH/AU0EQCACKAIIIgQgAUEDdiIBQQN0QdCdAmpGGiAEIAIoAgwiA0YEQEGonQJBqJ0CKAIAQX4gAXdxNgIADAMLIAQgAzYCDCADIAQ2AggMAgsgAigCGCEGAkAgAiACKAIMIgFHBEAgAigCCCIDIAE2AgwgASADNgIIDAELAkAgAkEUaiIEKAIAIgMNACACQRBqIgQoAgAiAw0AQQAhAQwBCwNAIAQhByADIgFBFGoiBCgCACIDDQAgAUEQaiEEIAEoAhAiAw0ACyAHQQA2AgALIAZFDQECQCACKAIcIgRBAnRB2J8CaiIDKAIAIAJGBEAgAyABNgIAIAENAUGsnQJBrJ0CKAIAQX4gBHdxNgIADAMLIAZBEEEUIAYoAhAgAkYbaiABNgIAIAFFDQILIAEgBjYCGCACKAIQIgMEQCABIAM2AhAgAyABNgIYCyACKAIUIgNFDQEgASADNgIUIAMgATYCGAwBCyAFKAIEIgFBA3FBA0cNAEGwnQIgADYCACAFIAFBfnE2AgQgAiAAQQFyNgIEIAAgAmogADYCAA8LIAIgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAQcCdAigCACAFRgRAQcCdAiACNgIAQbSdAkG0nQIoAgAgAGoiADYCACACIABBAXI2AgQgAkG8nQIoAgBHDQNBsJ0CQQA2AgBBvJ0CQQA2AgAPC0G8nQIoAgAgBUYEQEG8nQIgAjYCAEGwnQJBsJ0CKAIAIABqIgA2AgAgAiAAQQFyNgIEIAAgAmogADYCAA8LIAFBeHEgAGohAAJAIAFB/wFNBEAgBSgCCCIEIAFBA3YiAUEDdEHQnQJqRhogBCAFKAIMIgNGBEBBqJ0CQaidAigCAEF+IAF3cTYCAAwCCyAEIAM2AgwgAyAENgIIDAELIAUoAhghBgJAIAUgBSgCDCIBRwRAIAUoAggiA0G4nQIoAgBJGiADIAE2AgwgASADNgIIDAELAkAgBUEUaiIEKAIAIgMNACAFQRBqIgQoAgAiAw0AQQAhAQwBCwNAIAQhByADIgFBFGoiBCgCACIDDQAgAUEQaiEEIAEoAhAiAw0ACyAHQQA2AgALIAZFDQACQCAFKAIcIgRBAnRB2J8CaiIDKAIAIAVGBEAgAyABNgIAIAENAUGsnQJBrJ0CKAIAQX4gBHdxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgMEQCABIAM2AhAgAyABNgIYCyAFKAIUIgNFDQAgASADNgIUIAMgATYCGAsgAiAAQQFyNgIEIAAgAmogADYCACACQbydAigCAEcNAUGwnQIgADYCAA8LIAUgAUF+cTYCBCACIABBAXI2AgQgACACaiAANgIACyAAQf8BTQRAIABBeHFB0J0CaiEBAn9BqJ0CKAIAIgNBASAAQQN2dCIAcUUEQEGonQIgACADcjYCACABDAELIAEoAggLIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDwtBHyEEIABB////B00EQCAAQSYgAEEIdmciAWt2QQFxIAFBAXRrQT5qIQQLIAIgBDYCHCACQgA3AhAgBEECdEHYnwJqIQcCQAJAAkBBrJ0CKAIAIgNBASAEdCIBcUUEQEGsnQIgASADcjYCACAHIAI2AgAgAiAHNgIYDAELIABBGSAEQQF2a0EAIARBH0cbdCEEIAcoAgAhAQNAIAEiAygCBEF4cSAARg0CIARBHXYhASAEQQF0IQQgAyABQQRxaiIHQRBqKAIAIgENAAsgByACNgIQIAIgAzYCGAsgAiACNgIMIAIgAjYCCAwBCyADKAIIIgAgAjYCDCADIAI2AgggAkEANgIYIAIgAzYCDCACIAA2AggLQcidAkHInQIoAgBBAWsiAEF/IAAbNgIACwvwCQEefyABKAIoIQMgASgCBCEEIAEoAiwhBSABKAIIIQYgASgCMCEHIAEoAgwhCCABKAI0IQkgASgCECEKIAEoAjghCyABKAIUIQwgASgCPCENIAEoAhghDiABQUBrIg8oAgAhECABKAIcIREgASgCRCESIAEoAiAhEyABKAJIIRQgASgCACEVIAAgASgCJCABKAJMajYCJCAAIBMgFGo2AiAgACARIBJqNgIcIAAgDiAQajYCGCAAIAwgDWo2AhQgACAKIAtqNgIQIAAgCCAJajYCDCAAIAYgB2o2AgggACAEIAVqNgIEIAAgAyAVajYCACABKAIoIQUgASgCBCEDIAEoAiwhBiABKAIIIQcgASgCMCEIIAEoAgwhCSABKAI0IQogASgCECELIAEoAjghDCABKAIUIQ0gASgCPCEOIAEoAhghECAPKAIAIQ8gASgCHCEEIAEoAkQhESABKAIgIRIgASgCSCETIAEoAgAhFCAAIAEoAkwgASgCJGs2AkwgACATIBJrNgJIIAAgESAEazYCRCAAQUBrIgQgDyAQazYCACAAIA4gDWs2AjwgACAMIAtrNgI4IAAgCiAJazYCNCAAIAggB2s2AjAgACAGIANrNgIsIABBKGoiAyAFIBRrNgIAIABB0ABqIAAgAhAGIAMgAyACQShqEAYgAEH4AGogAkH4AGogAUH4AGoQBiAAIAFB0ABqIAJB0ABqEAYgACgCBCEVIAAoAgghFiAAKAIMIRcgACgCECEYIAAoAhQhGSAAKAIYIRogACgCHCEbIAAoAiAhHCAAKAIkIR0gAygCACEBIAAoAlAhAiAAKAIsIQUgACgCVCEGIAAoAjAhByAAKAJYIQggACgCNCEJIAAoAlwhCiAAKAI4IQsgACgCYCEMIAAoAjwhDSAAKAJkIQ4gBCgCACEPIAAoAmghECAAKAJEIREgACgCbCESIAAoAkghEyAAKAJwIRQgACgCACEeIAAgACgCTCIfIAAoAnQiIGo2AkwgACATIBRqNgJIIAAgESASajYCRCAEIA8gEGo2AgAgACANIA5qNgI8IAAgCyAMajYCOCAAIAkgCmo2AjQgACAHIAhqNgIwIAAgBSAGajYCLCADIAEgAmo2AgAgACAgIB9rNgIkIAAgFCATazYCICAAIBIgEWs2AhwgACAQIA9rNgIYIAAgDiANazYCFCAAIAwgC2s2AhAgACAKIAlrNgIMIAAgCCAHazYCCCAAIAYgBWs2AgQgACACIAFrNgIAIAAgHUEBdCIBIAAoApwBIgJrNgKcASAAIBxBAXQiAyAAKAKYASIEazYCmAEgACAbQQF0IgUgACgClAEiBms2ApQBIAAgGkEBdCIHIAAoApABIghrNgKQASAAIBlBAXQiCSAAKAKMASIKazYCjAEgACAYQQF0IgsgACgCiAEiDGs2AogBIAAgF0EBdCINIAAoAoQBIg5rNgKEASAAIBZBAXQiDyAAKAKAASIQazYCgAEgACAVQQF0IhEgACgCfCISazYCfCAAIB5BAXQiEyAAKAJ4IhRrNgJ4IAAgAyAEajYCcCAAIAUgBmo2AmwgACAHIAhqNgJoIAAgCSAKajYCZCAAIAsgDGo2AmAgACANIA5qNgJcIAAgDyAQajYCWCAAIBEgEmo2AlQgACATIBRqNgJQIAAgASACajYCdAsIACAAQSAQGQuhBgIHfgR/IwBBwAVrIgwkAAJAIAJQDQAgACAAKQNIIgMgAkIDhnwiBDcDSCAAQUBrIgogCikDACADIARWrXwgAkI9iHw3AwAgAkKAASADQgOIQv8AgyIEfSIIWgRAQgAhAyAEQv8AhUIDWgRAIAhC/AGDIQcgAEHQAGohCgNAIAogAyAEfKdqIAEgA6dqLQAAOgAAIAogA0IBhCIJIAR8p2ogASAJp2otAAA6AAAgCiADQgKEIgkgBHynaiABIAmnai0AADoAACAKIANCA4QiCSAEfKdqIAEgCadqLQAAOgAAIANCBHwhAyAFQgR8IgUgB1INAAsLIAhCA4MiBUIAUgRAA0AgACADIAR8p2ogASADp2otAAA6AFAgA0IBfCEDIAZCAXwiBiAFUg0ACwsgACAAQdAAaiAMIAxBgAVqIgoQYCABIAinaiEBIAIgCH0iAkL/AFYEQANAIAAgASAMIAoQYCABQYABaiEBIAJCgAF9IgJC/wBWDQALCwJAIAJQDQAgAkIDgyEEQgAhBkIAIQMgAkIEWgRAIAJCfIMhBSAAQdAAaiEKQgAhAgNAIAogA6ciC2ogASALai0AADoAACAKIAtBAXIiDWogASANai0AADoAACAKIAtBAnIiDWogASANai0AADoAACAKIAtBA3IiC2ogASALai0AADoAACADQgR8IQMgAkIEfCICIAVSDQALCyAEUA0AA0AgACADpyIKaiABIApqLQAAOgBQIANCAXwhAyAGQgF8IgYgBFINAAsLIAxBwAUQCAwBC0IAIQMgAkIEWgRAIAJCfIMhCCAAQdAAaiEKA0AgCiADIAR8p2ogASADp2otAAA6AAAgCiADQgGEIgcgBHynaiABIAenai0AADoAACAKIANCAoQiByAEfKdqIAEgB6dqLQAAOgAAIAogA0IDhCIHIAR8p2ogASAHp2otAAA6AAAgA0IEfCEDIAVCBHwiBSAIUg0ACwsgAkIDgyICUA0AA0AgACADIAR8p2ogASADp2otAAA6AFAgA0IBfCEDIAZCAXwiBiACUg0ACwsgDEHABWokAEEACwUAQcAACwQAQX8L1AECBX8CfgJ/IAJCAFIEQCAAQeABaiEHIABB4ABqIQMgACgA4AIhBANAIAMgBGohBkGAAiAEayIFrSIIIAJaBEAgBiABIAKnIgEQChogACAAKADgAiABajYA4AJBAAwDCyAGIAEgBRAKGiAAIAAoAOACIAVqNgDgAiAAIAApAEAiCUKAAXw3AEAgACAAKQBIIAlC/35WrXw3AEggACADEEkgAyAHQYABEAoaIAAgACgA4AJBgAFrIgQ2AOACIAEgBWohASACIAh9IgJCAFINAAsLQQALC4UIASB/IwBBMGsiAiQAIAAgARAFIABB0ABqIAFBKGoQBSAAQfgAaiABQdAAahCPASABKAIoIQMgASgCLCEEIAEoAgQhBSABKAIwIQYgASgCCCEHIAEoAjQhCCABKAIMIQkgASgCOCEKIAEoAhAhCyABKAI8IQwgASgCFCENIAFBQGsoAgAhDiABKAIYIQ8gASgCRCEQIAEoAhwhESABKAJIIRIgASgCICETIAEoAgAhFCAAIAEoAkwgASgCJGo2AkwgACASIBNqNgJIIAAgECARajYCRCAAQUBrIhYgDiAPajYCACAAIAwgDWo2AjwgACAKIAtqNgI4IAAgCCAJajYCNCAAIAYgB2o2AjAgACAEIAVqNgIsIABBKGoiASADIBRqNgIAIAIgARAFIAAoAlAhAyAAKAIEIQQgACgCVCEFIAAoAgghBiAAKAJYIQcgACgCDCEIIAAoAlwhCSAAKAIQIQogACgCYCELIAAoAhQhDCAAKAJkIQ0gACgCGCEOIAAoAmghDyAAKAIcIRAgACgCbCERIAAoAiAhEiAAKAJwIRMgACgCACEUIAAgACgCdCIVIAAoAiQiF2siGDYCdCAAIBMgEmsiGTYCcCAAIBEgEGsiGjYCbCAAIA8gDmsiGzYCaCAAIA0gDGsiHDYCZCAAIAsgCmsiHTYCYCAAIAkgCGsiHjYCXCAAIAcgBmsiHzYCWCAAIAUgBGsiIDYCVCAAIAMgFGsiITYCUCAAIBUgF2oiFTYCTCAAIBIgE2oiEjYCSCAAIBAgEWoiEDYCRCAWIA4gD2oiDjYCACAAIAwgDWoiDDYCPCAAIAogC2oiCjYCOCAAIAggCWoiCDYCNCAAIAYgB2oiBjYCMCAAIAQgBWoiBDYCLCABIAMgFGoiATYCACACKAIAIQMgAigCBCEFIAIoAgghByACKAIMIQkgAigCECELIAIoAhQhDSACKAIYIQ8gAigCHCERIAIoAiAhEyAAIAIoAiQgFWs2AiQgACATIBJrNgIgIAAgESAQazYCHCAAIA8gDms2AhggACANIAxrNgIUIAAgCyAKazYCECAAIAkgCGs2AgwgACAHIAZrNgIIIAAgBSAEazYCBCAAIAMgAWs2AgAgACgCeCEBIAAoAnwhAyAAKAKAASEEIAAoAoQBIQUgACgCiAEhBiAAKAKMASEHIAAoApABIQggACgClAEhCSAAKAKYASEKIAAgACgCnAEgGGs2ApwBIAAgCiAZazYCmAEgACAJIBprNgKUASAAIAggG2s2ApABIAAgByAcazYCjAEgACAGIB1rNgKIASAAIAUgHms2AoQBIAAgBCAfazYCgAEgACADICBrNgJ8IAAgASAhazYCeCACQTBqJAAL3QEBBH8jAEEQayICQQA6AA8CQCABRQ0AIAFBA3EhBCABQQRPBEAgAUF8cSEFQQAhAQNAIAIgACADai0AACACLQAPcjoADyACIAAgA0EBcmotAAAgAi0AD3I6AA8gAiAAIANBAnJqLQAAIAItAA9yOgAPIAIgACADQQNyai0AACACLQAPcjoADyADQQRqIQMgAUEEaiIBIAVHDQALCyAERQ0AQQAhAQNAIAIgACADai0AACACLQAPcjoADyADQQFqIQMgAUEBaiIBIARHDQALCyACLQAPQQFrQQh2QQFxC0QBAn8jAEEQayICJAAgAQRAA0AgAkEAOgAPIAAgA2pBqJcCIAJBD2pBABAAOgAAIANBAWoiAyABRw0ACwsgAkEQaiQAC44FARF/An8gA0UEQEGy2ojLByEGQe7IgZkDIQdB5fDBiwYhBEH0yoHZBgwBCyADKAAIIQYgAygABCEHIAMoAAAhBCADKAAMCyEPIAEoAAwhBSABKAAIIQwgASgABCEIIAIoABwhCiACKAAYIQsgAigAFCEQIAIoABAhDiACKAAMIQMgAigACCENIAIoAAQhCSABKAAAIQEgAigAACECA0AgAiABIAIgBGoiAnNBEHciASAOaiIEc0EMdyIOIAJqIhEgAXNBCHciASAEaiIEIA5zQQd3IgIgAyAFIAMgD2oiA3NBEHciBSAKaiIKc0EMdyIOIANqIgNqIg8gDSAMIAYgDWoiBnNBEHciDCALaiINc0EMdyILIAZqIgYgDHNBCHciE3NBEHciDCAJIAggByAJaiIHc0EQdyIIIBBqIglzQQx3IhQgB2oiByAIc0EIdyIIIAlqIglqIhAgAnNBDHciAiAPaiIPIAxzQQh3IgwgEGoiECACc0EHdyECIAQgAyAFc0EIdyIEIApqIgUgDnNBB3ciAyAGaiIGIAhzQRB3IghqIgogA3NBDHciAyAGaiIGIAhzQQh3IgggCmoiDiADc0EHdyEDIAUgASANIBNqIgUgC3NBB3ciASAHaiIHc0EQdyINaiIKIAFzQQx3IgsgB2oiByANc0EIdyIBIApqIgogC3NBB3chDSAFIAQgCSAUc0EHdyIEIBFqIgVzQRB3IglqIgsgBHNBDHciESAFaiIEIAlzQQh3IgUgC2oiCyARc0EHdyEJIBJBAWoiEkEKRw0ACyAAIAQ2AAAgACAFNgAcIAAgDDYAGCAAIAg2ABQgACABNgAQIAAgDzYADCAAIAY2AAggACAHNgAEQQALCgAgACABIAIQFgu/CAIBfgN/IwBBwAVrIgMkACAAKAJIQQN2Qf8AcSIEIABqQdAAaiEFAkAgBEHvAE0EQCAFQaCSAkHwACAEaxAKGgwBCyAFQaCSAkGAASAEaxAKGiAAIABB0ABqIgQgAyADQYAFahBgIARBAEHwABAMGgsgACAAKQNAIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AMABIAAgACkDSCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwDIASAAIABB0ABqIAMgA0GABWoQYCABIAApAwAiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAACABIAApAwgiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcACCABIAApAxAiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAECABIAApAxgiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAGCABIAApAyAiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAICABIAApAygiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAKCABIAApAzAiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAMCABIAApAzgiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAOCADQcAFEAggAEHQARAIIANBwAVqJABBAAutKQELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQaidAigCACIGQRAgAEELakF4cSAAQQtJGyIFQQN2IgB2IgFBA3EEQAJAIAFBf3NBAXEgAGoiAkEDdCIBQdCdAmoiACABQdidAmooAgAiASgCCCIERgRAQaidAiAGQX4gAndxNgIADAELIAQgADYCDCAAIAQ2AggLIAFBCGohACABIAJBA3QiAkEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwKCyAFQbCdAigCACIHTQ0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cSIAQQAgAGtxaCIBQQN0IgBB0J0CaiICIABB2J0CaigCACIAKAIIIgRGBEBBqJ0CIAZBfiABd3EiBjYCAAwBCyAEIAI2AgwgAiAENgIICyAAIAVBA3I2AgQgACAFaiIIIAFBA3QiASAFayIEQQFyNgIEIAAgAWogBDYCACAHBEAgB0F4cUHQnQJqIQFBvJ0CKAIAIQICfyAGQQEgB0EDdnQiA3FFBEBBqJ0CIAMgBnI2AgAgAQwBCyABKAIICyEDIAEgAjYCCCADIAI2AgwgAiABNgIMIAIgAzYCCAsgAEEIaiEAQbydAiAINgIAQbCdAiAENgIADAoLQaydAigCACIKRQ0BIApBACAKa3FoQQJ0QdifAmooAgAiAigCBEF4cSAFayEDIAIhAQNAAkAgASgCECIARQRAIAEoAhQiAEUNAQsgACgCBEF4cSAFayIBIAMgASADSSIBGyEDIAAgAiABGyECIAAhAQwBCwsgAigCGCEJIAIgAigCDCIERwRAIAIoAggiAEG4nQIoAgBJGiAAIAQ2AgwgBCAANgIIDAkLIAJBFGoiASgCACIARQRAIAIoAhAiAEUNAyACQRBqIQELA0AgASEIIAAiBEEUaiIBKAIAIgANACAEQRBqIQEgBCgCECIADQALIAhBADYCAAwIC0F/IQUgAEG/f0sNACAAQQtqIgBBeHEhBUGsnQIoAgAiCEUNAEEAIAVrIQMCQAJAAkACf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQSYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QdifAmooAgAiAUUEQEEAIQAMAQtBACEAIAVBGSAHQQF2a0EAIAdBH0cbdCECA0ACQCABKAIEQXhxIAVrIgYgA08NACABIQQgBiIDDQBBACEDIAEhAAwDCyAAIAEoAhQiBiAGIAEgAkEddkEEcWooAhAiAUYbIAAgBhshACACQQF0IQIgAQ0ACwsgACAEckUEQEEAIQRBAiAHdCIAQQAgAGtyIAhxIgBFDQMgAEEAIABrcWhBAnRB2J8CaigCACEACyAARQ0BCwNAIAAoAgRBeHEgBWsiAiADSSEBIAIgAyABGyEDIAAgBCABGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0GwnQIoAgAgBWtPDQAgBCgCGCEHIAQgBCgCDCICRwRAIAQoAggiAEG4nQIoAgBJGiAAIAI2AgwgAiAANgIIDAcLIARBFGoiASgCACIARQRAIAQoAhAiAEUNAyAEQRBqIQELA0AgASEGIAAiAkEUaiIBKAIAIgANACACQRBqIQEgAigCECIADQALIAZBADYCAAwGCyAFQbCdAigCACIETQRAQbydAigCACEAAkAgBCAFayIBQRBPBEAgACAFaiICIAFBAXI2AgQgACAEaiABNgIAIAAgBUEDcjYCBAwBCyAAIARBA3I2AgQgACAEaiIBIAEoAgRBAXI2AgRBACECQQAhAQtBsJ0CIAE2AgBBvJ0CIAI2AgAgAEEIaiEADAgLIAVBtJ0CKAIAIgJJBEBBtJ0CIAIgBWsiATYCAEHAnQJBwJ0CKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwIC0EAIQAgBUEvaiIDAn9BgKECKAIABEBBiKECKAIADAELQYyhAkJ/NwIAQYShAkKAoICAgIAENwIAQYChAiALQQxqQXBxQdiq1aoFczYCAEGUoQJBADYCAEHkoAJBADYCAEGAIAsiAWoiBkEAIAFrIghxIgEgBU0NB0HgoAIoAgAiBARAQdigAigCACIHIAFqIgkgB00NCCAEIAlJDQgLAkBB5KACLQAAQQRxRQRAAkACQAJAAkBBwJ0CKAIAIgQEQEHooAIhAANAIAQgACgCACIHTwRAIAcgACgCBGogBEsNAwsgACgCCCIADQALC0EAED4iAkF/Rg0DIAEhBkGEoQIoAgAiAEEBayIEIAJxBEAgASACayACIARqQQAgAGtxaiEGCyAFIAZPDQNB4KACKAIAIgAEQEHYoAIoAgAiBCAGaiIIIARNDQQgACAISQ0ECyAGED4iACACRw0BDAULIAYgAmsgCHEiBhA+IgIgACgCACAAKAIEakYNASACIQALIABBf0YNASAGIAVBMGpPBEAgACECDAQLQYihAigCACICIAMgBmtqQQAgAmtxIgIQPkF/Rg0BIAIgBmohBiAAIQIMAwsgAkF/Rw0CC0HkoAJB5KACKAIAQQRyNgIACyABED4hAkEAED4hACACQX9GDQUgAEF/Rg0FIAAgAk0NBSAAIAJrIgYgBUEoak0NBQtB2KACQdigAigCACAGaiIANgIAQdygAigCACAASQRAQdygAiAANgIACwJAQcCdAigCACIDBEBB6KACIQADQCACIAAoAgAiASAAKAIEIgRqRg0CIAAoAggiAA0ACwwEC0G4nQIoAgAiAEEAIAAgAk0bRQRAQbidAiACNgIAC0EAIQBB7KACIAY2AgBB6KACIAI2AgBByJ0CQX82AgBBzJ0CQYChAigCADYCAEH0oAJBADYCAANAIABBA3QiAUHYnQJqIAFB0J0CaiIENgIAIAFB3J0CaiAENgIAIABBAWoiAEEgRw0AC0G0nQIgBkEoayIAQXggAmtBB3FBACACQQhqQQdxGyIBayIENgIAQcCdAiABIAJqIgE2AgAgASAEQQFyNgIEIAAgAmpBKDYCBEHEnQJBkKECKAIANgIADAQLIAAtAAxBCHENAiABIANLDQIgAiADTQ0CIAAgBCAGajYCBEHAnQIgA0F4IANrQQdxQQAgA0EIakEHcRsiAGoiATYCAEG0nQJBtJ0CKAIAIAZqIgIgAGsiADYCACABIABBAXI2AgQgAiADakEoNgIEQcSdAkGQoQIoAgA2AgAMAwtBACEEDAULQQAhAgwDC0G4nQIoAgAgAksEQEG4nQIgAjYCAAsgAiAGaiEBQeigAiEAAkACQAJAAkACQAJAA0AgASAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0HooAIhAANAIAMgACgCACIBTwRAIAEgACgCBGoiBCADSw0DCyAAKAIIIQAMAAsACyAAIAI2AgAgACAAKAIEIAZqNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIHIAVBA3I2AgQgAUF4IAFrQQdxQQAgAUEIakEHcRtqIgYgBSAHaiIFayEAIAMgBkYEQEHAnQIgBTYCAEG0nQJBtJ0CKAIAIABqIgA2AgAgBSAAQQFyNgIEDAMLQbydAigCACAGRgRAQbydAiAFNgIAQbCdAkGwnQIoAgAgAGoiADYCACAFIABBAXI2AgQgACAFaiAANgIADAMLIAYoAgQiA0EDcUEBRgRAIANBeHEhCQJAIANB/wFNBEAgBigCCCIBIANBA3YiBEEDdEHQnQJqRhogASAGKAIMIgJGBEBBqJ0CQaidAigCAEF+IAR3cTYCAAwCCyABIAI2AgwgAiABNgIIDAELIAYoAhghCAJAIAYgBigCDCICRwRAIAYoAggiASACNgIMIAIgATYCCAwBCwJAIAZBFGoiAygCACIBDQAgBkEQaiIDKAIAIgENAEEAIQIMAQsDQCADIQQgASICQRRqIgMoAgAiAQ0AIAJBEGohAyACKAIQIgENAAsgBEEANgIACyAIRQ0AAkAgBigCHCIBQQJ0QdifAmoiBCgCACAGRgRAIAQgAjYCACACDQFBrJ0CQaydAigCAEF+IAF3cTYCAAwCCyAIQRBBFCAIKAIQIAZGG2ogAjYCACACRQ0BCyACIAg2AhggBigCECIBBEAgAiABNgIQIAEgAjYCGAsgBigCFCIBRQ0AIAIgATYCFCABIAI2AhgLIAYgCWoiBigCBCEDIAAgCWohAAsgBiADQX5xNgIEIAUgAEEBcjYCBCAAIAVqIAA2AgAgAEH/AU0EQCAAQXhxQdCdAmohAQJ/QaidAigCACICQQEgAEEDdnQiAHFFBEBBqJ0CIAAgAnI2AgAgAQwBCyABKAIICyEAIAEgBTYCCCAAIAU2AgwgBSABNgIMIAUgADYCCAwDC0EfIQMgAEH///8HTQRAIABBJiAAQQh2ZyIBa3ZBAXEgAUEBdGtBPmohAwsgBSADNgIcIAVCADcCECADQQJ0QdifAmohAQJAQaydAigCACICQQEgA3QiBHFFBEBBrJ0CIAIgBHI2AgAgASAFNgIADAELIABBGSADQQF2a0EAIANBH0cbdCEDIAEoAgAhAgNAIAIiASgCBEF4cSAARg0DIANBHXYhAiADQQF0IQMgASACQQRxaiIEKAIQIgINAAsgBCAFNgIQCyAFIAE2AhggBSAFNgIMIAUgBTYCCAwCC0G0nQIgBkEoayIAQXggAmtBB3FBACACQQhqQQdxGyIBayIINgIAQcCdAiABIAJqIgE2AgAgASAIQQFyNgIEIAAgAmpBKDYCBEHEnQJBkKECKAIANgIAIAMgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACADQRBqSRsiAUEbNgIEIAFB8KACKQIANwIQIAFB6KACKQIANwIIQfCgAiABQQhqNgIAQeygAiAGNgIAQeigAiACNgIAQfSgAkEANgIAIAFBGGohAANAIABBBzYCBCAAQQhqIQIgAEEEaiEAIAIgBEkNAAsgASADRg0DIAEgASgCBEF+cTYCBCADIAEgA2siAkEBcjYCBCABIAI2AgAgAkH/AU0EQCACQXhxQdCdAmohAAJ/QaidAigCACIBQQEgAkEDdnQiAnFFBEBBqJ0CIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwEC0EfIQAgAkH///8HTQRAIAJBJiACQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAAsgAyAANgIcIANCADcCECAAQQJ0QdifAmohAQJAQaydAigCACIEQQEgAHQiBnFFBEBBrJ0CIAQgBnI2AgAgASADNgIADAELIAJBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhBANAIAQiASgCBEF4cSACRg0EIABBHXYhBCAAQQF0IQAgASAEQQRxaiIGKAIQIgQNAAsgBiADNgIQCyADIAE2AhggAyADNgIMIAMgAzYCCAwDCyABKAIIIgAgBTYCDCABIAU2AgggBUEANgIYIAUgATYCDCAFIAA2AggLIAdBCGohAAwFCyABKAIIIgAgAzYCDCABIAM2AgggA0EANgIYIAMgATYCDCADIAA2AggLQbSdAigCACIAIAVNDQBBtJ0CIAAgBWsiATYCAEHAnQJBwJ0CKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwDC0GknQJBMDYCAEEAIQAMAgsCQCAHRQ0AAkAgBCgCHCIAQQJ0QdifAmoiASgCACAERgRAIAEgAjYCACACDQFBrJ0CIAhBfiAAd3EiCDYCAAwCCyAHQRBBFCAHKAIQIARGG2ogAjYCACACRQ0BCyACIAc2AhggBCgCECIABEAgAiAANgIQIAAgAjYCGAsgBCgCFCIARQ0AIAIgADYCFCAAIAI2AhgLAkAgA0EPTQRAIAQgAyAFaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgBUEDcjYCBCAEIAVqIgIgA0EBcjYCBCACIANqIAM2AgAgA0H/AU0EQCADQXhxQdCdAmohAAJ/QaidAigCACIBQQEgA0EDdnQiA3FFBEBBqJ0CIAEgA3I2AgAgAAwBCyAAKAIICyEBIAAgAjYCCCABIAI2AgwgAiAANgIMIAIgATYCCAwBC0EfIQAgA0H///8HTQRAIANBJiADQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAAsgAiAANgIcIAJCADcCECAAQQJ0QdifAmohAQJAAkAgCEEBIAB0IgZxRQRAQaydAiAGIAhyNgIAIAEgAjYCAAwBCyADQRkgAEEBdmtBACAAQR9HG3QhACABKAIAIQUDQCAFIgEoAgRBeHEgA0YNAiAAQR12IQYgAEEBdCEAIAEgBkEEcWoiBigCECIFDQALIAYgAjYCEAsgAiABNgIYIAIgAjYCDCACIAI2AggMAQsgASgCCCIAIAI2AgwgASACNgIIIAJBADYCGCACIAE2AgwgAiAANgIICyAEQQhqIQAMAQsCQCAJRQ0AAkAgAigCHCIAQQJ0QdifAmoiASgCACACRgRAIAEgBDYCACAEDQFBrJ0CIApBfiAAd3E2AgAMAgsgCUEQQRQgCSgCECACRhtqIAQ2AgAgBEUNAQsgBCAJNgIYIAIoAhAiAARAIAQgADYCECAAIAQ2AhgLIAIoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCACIAMgBWoiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwBCyACIAVBA3I2AgQgAiAFaiIEIANBAXI2AgQgAyAEaiADNgIAIAcEQCAHQXhxQdCdAmohAEG8nQIoAgAhAQJ/QQEgB0EDdnQiBSAGcUUEQEGonQIgBSAGcjYCACAADAELIAAoAggLIQYgACABNgIIIAYgATYCDCABIAA2AgwgASAGNgIIC0G8nQIgBDYCAEGwnQIgAzYCAAsgAkEIaiEACyALQRBqJAAgAAtpAQN/AkAgACIBQQNxBEADQCABLQAARQ0CIAFBAWoiAUEDcQ0ACwsDQCABIgJBBGohASACKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAIiAUEBaiECIAEtAAANAAsLIAEgAGsL+QUCB34EfyMAQaACayIMJAACQCACUA0AIAAgACkDICIDIAJCA4Z8NwMgIAJCwAAgA0IDiEI/gyIEfSIIWgRAQgAhAyAEQj+FQgNaBEAgCEL8AIMhByAAQShqIQoDQCAKIAMgBHynaiABIAOnai0AADoAACAKIANCAYQiCSAEfKdqIAEgCadqLQAAOgAAIAogA0IChCIJIAR8p2ogASAJp2otAAA6AAAgCiADQgOEIgkgBHynaiABIAmnai0AADoAACADQgR8IQMgBUIEfCIFIAdSDQALCyAIQgODIgVCAFIEQANAIAAgAyAEfKdqIAEgA6dqLQAAOgAoIANCAXwhAyAGQgF8IgYgBVINAAsLIAAgAEEoaiAMIAxBgAJqIgoQWiABIAinaiEBIAIgCH0iAkI/VgRAA0AgACABIAwgChBaIAFBQGshASACQkB8IgJCP1YNAAsLAkAgAlANACACQgODIQRCACEGQgAhAyACQgRaBEAgAkJ8gyEFIABBKGohCkIAIQIDQCAKIAOnIgtqIAEgC2otAAA6AAAgCiALQQFyIg1qIAEgDWotAAA6AAAgCiALQQJyIg1qIAEgDWotAAA6AAAgCiALQQNyIgtqIAEgC2otAAA6AAAgA0IEfCEDIAJCBHwiAiAFUg0ACwsgBFANAANAIAAgA6ciCmogASAKai0AADoAKCADQgF8IQMgBkIBfCIGIARSDQALCyAMQaACEAgMAQtCACEDIAJCBFoEQCACQnyDIQggAEEoaiEKA0AgCiADIAR8p2ogASADp2otAAA6AAAgCiADQgGEIgcgBHynaiABIAenai0AADoAACAKIANCAoQiByAEfKdqIAEgB6dqLQAAOgAAIAogA0IDhCIHIAR8p2ogASAHp2otAAA6AAAgA0IEfCEDIAVCBHwiBSAIUg0ACwsgAkIDgyICUA0AA0AgACADIAR8p2ogASADp2otAAA6ACggA0IBfCEDIAZCAXwiBiACUg0ACwsgDEGgAmokAEEACwQAQRgLyAQBAn8jAEEQayIDJAAgA0EAOgAPQX8hBCAAIAEgAkGIlwIoAgARAwBFBEAgAyAALQAAIAMtAA9yOgAPIAMgAC0AASADLQAPcjoADyADIAAtAAIgAy0AD3I6AA8gAyAALQADIAMtAA9yOgAPIAMgAC0ABCADLQAPcjoADyADIAAtAAUgAy0AD3I6AA8gAyAALQAGIAMtAA9yOgAPIAMgAC0AByADLQAPcjoADyADIAAtAAggAy0AD3I6AA8gAyAALQAJIAMtAA9yOgAPIAMgAC0ACiADLQAPcjoADyADIAAtAAsgAy0AD3I6AA8gAyAALQAMIAMtAA9yOgAPIAMgAC0ADSADLQAPcjoADyADIAAtAA4gAy0AD3I6AA8gAyAALQAPIAMtAA9yOgAPIAMgAC0AECADLQAPcjoADyADIAAtABEgAy0AD3I6AA8gAyAALQASIAMtAA9yOgAPIAMgAC0AEyADLQAPcjoADyADIAAtABQgAy0AD3I6AA8gAyAALQAVIAMtAA9yOgAPIAMgAC0AFiADLQAPcjoADyADIAAtABcgAy0AD3I6AA8gAyAALQAYIAMtAA9yOgAPIAMgAC0AGSADLQAPcjoADyADIAAtABogAy0AD3I6AA8gAyAALQAbIAMtAA9yOgAPIAMgAC0AHCADLQAPcjoADyADIAAtAB0gAy0AD3I6AA8gAyAALQAeIAMtAA9yOgAPIAMgAC0AHyADLQAPcjoADyADLQAPQRd0QYCAgARrQR91IQQLIANBEGokACAEC2YBA38gAkUEQEEADwsCQCAALQAAIgNFDQADQAJAIAEtAAAiBUUNACACQQFrIgJFDQAgAyAFRw0AIAFBAWohASAALQABIQMgAEEBaiEAIAMNAQwCCwsgAyEECyAEQf8BcSABLQAAawsEAEEIC+kSAhV+A38gACAAKAAsIhZBBXZB////AHGtIAAoADxBA3atIgJCg6FWfiAAMwAqIAAxACxCEIZCgID8AIOEfCIIQoCAQH0iCUIVh3wiAUKDoVZ+IAA1ADFCB4hC////AIMiA0LTjEN+IAAoABciF0EYdq0gADEAG0IIhoQgADEAHEIQhoRCAohC////AIN8IAAoADQiGEEEdkH///8Aca0iBELn9id+fCAWQRh2rSAAMQAwQgiGhCAAMQAxQhCGhEICiEL///8AgyIFQtGrCH58IAA1ADlCBohC////AIMiBkKT2Ch+fCAYQRh2rSAAMQA4QgiGhCAAMQA5QhCGhEIBiEL///8AgyIKQpjaHH58Igd8IAdCgIBAfSIQQoCAgH+DfSAXQQV2Qf///wBxrSADQuf2J358IARCmNocfnwgBULTjEN+fCAKQpPYKH58IANCmNocfiAAMwAVIAAxABdCEIZCgID8AIOEfCAEQpPYKH58IAVC5/YnfnwiB0KAgEB9IgtCFYh8IgxCgIBAfSINQhWHfCIRIBFCgIBAfSIRQoCAgH+DfSAMIAFC0asIfnwgDUKAgIB/g30gCCAJQoCAgH+DfSACQtGrCH4gACgAJCIWQRh2rSAAMQAoQgiGhCAAMQApQhCGhEIDiHwgBkKDoVZ+fCAWQQZ2Qf///wBxrSACQtOMQ358IAZC0asIfnwgCkKDoVZ+fCIMQoCAQH0iDUIVh3wiCUKAgEB9Ig5CFYd8IghCg6FWfnwgByALQoCAgP///wODfSADQpPYKH4gACgADyIWQRh2rSAAMQATQgiGhCAAMQAUQhCGhEIDiHwgBUKY2hx+fCAWQQZ2Qf///wBxrSAFQpPYKH58IgtCgIBAfSISQhWIfCIHQoCAQH0iD0IViHwgAULTjEN+fCAIQtGrCH58IAkgDkKAgIB/g30iCUKDoVZ+fCIOQoCAQH0iE0IVh3wiFEKAgEB9IhVCFYd8IBQgFUKAgIB/g30gDiATQoCAgH+DfSAHIA9CgICAf4N9IAFC5/YnfnwgCELTjEN+fCAJQtGrCH58IAwgDUKAgIB/g30gBEKDoVZ+IAAoAB8iFkEYdq0gADEAI0IIhoQgADEAJEIQhoRCAYhC////AIN8IAJC5/YnfnwgBkLTjEN+fCAKQtGrCH58IBZBBHZB////AHGtIANCg6FWfnwgBELRqwh+fCACQpjaHH58IAZC5/YnfnwgCkLTjEN+fCIMQoCAQH0iDUIVh3wiDkKAgEB9Ig9CFYd8IgdCg6FWfnwgCyASQoCAgP///wGDfSABQpjaHH58IAhC5/YnfnwgCULTjEN+fCAHQtGrCH58IA4gD0KAgIB/g30iC0KDoVZ+fCIOQoCAQH0iEkIVh3wiD0KAgEB9IhNCFYd8IA8gE0KAgIB/g30gDiASQoCAgH+DfSABQpPYKH4gACgACiIWQRh2rSAAMQAOQgiGhCAAMQAPQhCGhEIBiEL///8Ag3wgCEKY2hx+fCAJQuf2J358IAdC04xDfnwgC0LRqwh+fCAMIA1CgICAf4N9IANC0asIfiAANQAcQgeIQv///wCDfCAEQtOMQ358IAVCg6FWfnwgAkKT2Ch+fCAGQpjaHH58IApC5/YnfnwgEEIVh3wiAUKAgEB9IgNCFYd8IgJCg6FWfnwgFkEEdkH///8Aca0gCEKT2Ch+fCAJQpjaHH58IAdC5/YnfnwgC0LTjEN+fCACQtGrCH58IgRCgIBAfSIFQhWHfCIGQoCAQH0iCkIVh3wgBiABIANCgICAf4N9IBFCFYd8IgNCgIBAfSIIQhWHIgFCg6FWfnwgCkKAgIB/g30gAULRqwh+IAR8IAVCgICAf4N9IAlCk9gofiAANQAHQgeIQv///wCDfCAHQpjaHH58IAtC5/YnfnwgAkLTjEN+fCAHQpPYKH4gACgAAiIWQRh2rSAAMQAGQgiGhCAAMQAHQhCGhEICiEL///8Ag3wgC0KY2hx+fCACQuf2J358IgRCgIBAfSIFQhWHfCIGQoCAQH0iCkIVh3wgBiABQtOMQ358IApCgICAf4N9IAFC5/YnfiAEfCAFQoCAgH+DfSAWQQV2Qf///wBxrSALQpPYKH58IAJCmNocfnwgAkKT2Ch+IAAzAAAgADEAAkIQhkKAgPwAg4R8IgJCgIBAfSIEQhWHfCIFQoCAQH0iBkIVh3wgAUKY2hx+IAV8IAZCgICAf4N9IAIgBEKAgIB/g30gAUKT2Ch+fCIBQhWHfCIEQhWHfCIFQhWHfCIGQhWHfCIKQhWHfCIJQhWHfCIHQhWHfCILQhWHfCIQQhWHfCIMQhWHfCINQhWHIAMgCEKAgIB/g318IghCFYciAkKT2Ch+IAFC////AIN8IgM8AAAgACADQgiIPAABIAAgAkKY2hx+IARC////AIN8IANCFYd8IgFCC4g8AAQgACABQgOIPAADIAAgA0IQiEIfgyABQgWGhDwAAiAAIAJC5/YnfiAFQv///wCDfCABQhWHfCIDQgaIPAAGIAAgA0IChiABQoCA4ACDQhOIhDwABSAAIAJC04xDfiAGQv///wCDfCADQhWHfCIBQgmIPAAJIAAgAUIBiDwACCAAIAFCB4YgA0KAgP8Ag0IOiIQ8AAcgACACQtGrCH4gCkL///8Ag3wgAUIVh3wiA0IMiDwADCAAIANCBIg8AAsgACADQgSGIAFCgID4AINCEYiEPAAKIAAgAkKDoVZ+IAlC////AIN8IANCFYd8IgFCB4g8AA4gACABQgGGIANCgIDAAINCFIiEPAANIAAgB0L///8AgyABQhWHfCICQgqIPAARIAAgAkICiDwAECAAIAJCBoYgAUKAgP4Ag0IPiIQ8AA8gACALQv///wCDIAJCFYd8IgFCDYg8ABQgACABQgWIPAATIAAgEEL///8AgyABQhWHfCIDPAAVIAAgAUIDhiACQoCA8ACDQhKIhDwAEiAAIANCCIg8ABYgACAMQv///wCDIANCFYd8IgJCC4g8ABkgACACQgOIPAAYIAAgA0IQiEIfgyACQgWGhDwAFyAAIA1C////AIMgAkIVh3wiAUIGiDwAGyAAIAFCAoYgAkKAgOAAg0ITiIQ8ABogACAIQv///wCDIAFCFYd8IgJCEYg8AB8gACACQgmIPAAeIAAgAkIBiDwAHSAAIAJCB4YgAUKAgP8Ag0IOiIQ8ABwLgwcBFH8gASgCBCEMIAAoAgQhAyABKAIIIQ0gACgCCCEEIAEoAgwhDiAAKAIMIQUgASgCECEPIAAoAhAhBiABKAIUIRAgACgCFCEHIAEoAhghESAAKAIYIQggASgCHCESIAAoAhwhCSABKAIgIRMgACgCICEKIAEoAiQhFCAAKAIkIQsgAEEAIAJrIgIgACgCACIVIAEoAgBzcSAVczYCACAAIAsgCyAUcyACcXM2AiQgACAKIAogE3MgAnFzNgIgIAAgCSAJIBJzIAJxczYCHCAAIAggCCARcyACcXM2AhggACAHIAcgEHMgAnFzNgIUIAAgBiAGIA9zIAJxczYCECAAIAUgBSAOcyACcXM2AgwgACAEIAQgDXMgAnFzNgIIIAAgAyADIAxzIAJxczYCBCAAKAIoIQMgASgCKCEMIAAoAiwhBCABKAIsIQ0gACgCMCEFIAEoAjAhDiAAKAI0IQYgASgCNCEPIAAoAjghByABKAI4IRAgACgCPCEIIAEoAjwhESAAQUBrIhIoAgAhCSABQUBrKAIAIRMgACgCRCEKIAEoAkQhFCAAKAJIIQsgASgCSCEVIAAgACgCTCIWIAEoAkxzIAJxIBZzNgJMIAAgCyALIBVzIAJxczYCSCAAIAogCiAUcyACcXM2AkQgEiAJIAkgE3MgAnFzNgIAIAAgCCAIIBFzIAJxczYCPCAAIAcgByAQcyACcXM2AjggACAGIAYgD3MgAnFzNgI0IAAgBSAFIA5zIAJxczYCMCAAIAQgBCANcyACcXM2AiwgACADIAMgDHMgAnFzNgIoIAAoAlAhAyABKAJQIQwgACgCVCEEIAEoAlQhDSAAKAJYIQUgASgCWCEOIAAoAlwhBiABKAJcIQ8gACgCYCEHIAEoAmAhECAAKAJkIQggASgCZCERIAAoAmghCSABKAJoIRIgACgCbCEKIAEoAmwhEyAAKAJwIQsgASgCcCEUIAAgACgCdCIVIAEoAnRzIAJxIBVzNgJ0IAAgCyALIBRzIAJxczYCcCAAIAogCiATcyACcXM2AmwgACAJIAkgEnMgAnFzNgJoIAAgCCAIIBFzIAJxczYCZCAAIAcgByAQcyACcXM2AmAgACAGIAYgD3MgAnFzNgJcIAAgBSAFIA5zIAJxczYCWCAAIAQgBCANcyACcXM2AlQgACADIAMgDHMgAnFzNgJQC8EJARR/IAEoAgQhDCAAKAIEIQMgASgCCCENIAAoAgghBCABKAIMIQ4gACgCDCEFIAEoAhAhDyAAKAIQIQYgASgCFCEQIAAoAhQhByABKAIYIREgACgCGCEIIAEoAhwhEiAAKAIcIQkgASgCICETIAAoAiAhCiABKAIkIRQgACgCJCELIABBACACayICIAAoAgAiFSABKAIAc3EgFXM2AgAgACALIAsgFHMgAnFzNgIkIAAgCiAKIBNzIAJxczYCICAAIAkgCSAScyACcXM2AhwgACAIIAggEXMgAnFzNgIYIAAgByAHIBBzIAJxczYCFCAAIAYgBiAPcyACcXM2AhAgACAFIAUgDnMgAnFzNgIMIAAgBCAEIA1zIAJxczYCCCAAIAMgAyAMcyACcXM2AgQgACgCKCEDIAEoAighDCAAKAIsIQQgASgCLCENIAAoAjAhBSABKAIwIQ4gACgCNCEGIAEoAjQhDyAAKAI4IQcgASgCOCEQIAAoAjwhCCABKAI8IREgAEFAayISKAIAIQkgAUFAaygCACETIAAoAkQhCiABKAJEIRQgACgCSCELIAEoAkghFSAAIAAoAkwiFiABKAJMcyACcSAWczYCTCAAIAsgCyAVcyACcXM2AkggACAKIAogFHMgAnFzNgJEIBIgCSAJIBNzIAJxczYCACAAIAggCCARcyACcXM2AjwgACAHIAcgEHMgAnFzNgI4IAAgBiAGIA9zIAJxczYCNCAAIAUgBSAOcyACcXM2AjAgACAEIAQgDXMgAnFzNgIsIAAgAyADIAxzIAJxczYCKCAAKAJQIQMgASgCUCEMIAAoAlQhBCABKAJUIQ0gACgCWCEFIAEoAlghDiAAKAJcIQYgASgCXCEPIAAoAmAhByABKAJgIRAgACgCZCEIIAEoAmQhESAAKAJoIQkgASgCaCESIAAoAmwhCiABKAJsIRMgACgCcCELIAEoAnAhFCAAIAAoAnQiFSABKAJ0cyACcSAVczYCdCAAIAsgCyAUcyACcXM2AnAgACAKIAogE3MgAnFzNgJsIAAgCSAJIBJzIAJxczYCaCAAIAggCCARcyACcXM2AmQgACAHIAcgEHMgAnFzNgJgIAAgBiAGIA9zIAJxczYCXCAAIAUgBSAOcyACcXM2AlggACAEIAQgDXMgAnFzNgJUIAAgAyADIAxzIAJxczYCUCAAKAJ4IQMgASgCeCEMIAAoAnwhBCABKAJ8IQ0gACgCgAEhBSABKAKAASEOIAAoAoQBIQYgASgChAEhDyAAKAKIASEHIAEoAogBIRAgACgCjAEhCCABKAKMASERIAAoApABIQkgASgCkAEhEiAAKAKUASEKIAEoApQBIRMgACgCmAEhCyABKAKYASEUIAAgACgCnAEiFSABKAKcAXMgAnEgFXM2ApwBIAAgCyALIBRzIAJxczYCmAEgACAKIAogE3MgAnFzNgKUASAAIAkgCSAScyACcXM2ApABIAAgCCAIIBFzIAJxczYCjAEgACAHIAcgEHMgAnFzNgKIASAAIAYgBiAPcyACcXM2AoQBIAAgBSAFIA5zIAJxczYCgAEgACAEIAQgDXMgAnFzNgJ8IAAgAyADIAxzIAJxczYCeAv0BAEZfiABMQAfIQIgATEAHiEGIAExAB0hDiABMQAGIQcgATEABSEIIAExAAQhAyABMQAJIQ8gATEACCEQIAExAAchESABMQAMIQkgATEACyEKIAExAAohCyABMQAPIQwgATEADiESIAExAA0hEyABMQAcIQQgATEAGyEUIAExABohFSABMQAZIQUgATEAGCEWIAExABchFyABNQAAIRggACABMQAVQg+GIAExABRCB4aEIAExABZCF4aEIAE1ABAiGUKAgIAIfCIaQhmIfCINIA1CgICAEHwiDUKAgIDgD4N9PgIYIAAgFkINhiAXQgWGhCAFQhWGhCIFIA1CGoh8IAVCgICACHwiBUKAgIDwA4N9PgIcIAAgFEIMhiAVQgSGhCAEQhSGhCAFQhmIfCIEIARCgICAEHwiBEKAgIDgD4N9PgIgIAAgGSAaQoCAgPAPg30gEkIKhiATQgKGhCAMQhKGhCAKQguGIAtCA4aEIAlCE4aEIglCgICACHwiCkIZiHwiC0KAgIAQfCIMQhqIfD4CFCAAIAsgDEKAgIDgD4N9PgIQIAAgEEINhiARQgWGhCAPQhWGhCAIQg6GIANCBoaEIAdCFoaEIgdCgICACHwiCEIZiHwiAyADQoCAgBB8IgNCgICA4A+DfT4CCCAAIAJCEoZCgIDwD4MgBkIKhiAOQgKGhIQiAiAEQhqIfCACQoCAgAh8IgJCgICAEIN9PgIkIAAgA0IaiCAJfCAKQoCAgPAAg30+AgwgACAHIAhCgICA8AeDfSAYIAJCGYhCE358IgJCgICAEHwiBkIaiHw+AgQgACACIAZCgICA4A+DfT4CAAsEAEEAC/IEAgN/AX4jAEGgAmsiAyQAIAAoAiBBA3ZBP3EiAiAAakEoaiEEAkAgAkE3TQRAIARBoJYCQTggAmsQChoMAQsgBEGglgJBwAAgAmsQChogACAAQShqIAMgA0GAAmoQWiAAQgA3A1ggAEIANwNQIABCADcDSCAAQUBrQgA3AwAgAEIANwM4IABCADcDMCAAQgA3AygLIAAgACkDICIFQjiGIAVCgP4Dg0IohoQgBUKAgPwHg0IYhiAFQoCAgPgPg0IIhoSEIAVCCIhCgICA+A+DIAVCGIhCgID8B4OEIAVCKIhCgP4DgyAFQjiIhISENwBgIAAgAEEoaiADIANBgAJqEFogASAAKAIAIgJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyNgAAIAEgACgCBCICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycjYABCABIAAoAggiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2AAggASAAKAIMIgJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyNgAMIAEgACgCECICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycjYAECABIAAoAhQiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2ABQgASAAKAIYIgJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyNgAYIAEgACgCHCIBQRh0IAFBgP4DcUEIdHIgAUEIdkGA/gNxIAFBGHZycjYAHCADQaACEAggAEHoABAIIANBoAJqJABBAAvYBAETfwJ/IANFBEBB9MqB2QYhBEGy2ojLByEIQe7IgZkDIQlB5fDBiwYMAQsgAygADCEEIAMoAAghCCADKAAEIQkgAygAAAshAyABKAAMIQ8gASgACCEFIAEoAAQhBiACKAAcIRIgAigAGCEQQRQhESACKAAUIQ4gAigAECEKIAIoAAwhCyACKAAIIQwgAigABCENIAEoAAAhASACKAAAIQIDQCAQIA8gAiAJakEHd3MiByAJakEJd3MiEyADIA5qQQd3IAtzIgsgA2pBCXcgBXMiFCALakENdyAOcyIVIAQgCmpBB3cgDHMiDCAEakEJdyAGcyIGIAxqQQ13IApzIgogBmpBEncgBHMiBCASIAEgCGpBB3dzIgVqQQd3cyIOIARqQQl3cyIQIA5qQQ13IAVzIhIgEGpBEncgBHMhBCAFIAUgCGpBCXcgDXMiDWpBDXcgAXMiFiANakESdyAIcyIBIAdqQQd3IApzIgogAWpBCXcgFHMiBSAKakENdyAHcyIPIAVqQRJ3IAFzIQggEyAHIBNqQQ13IAJzIgdqQRJ3IAlzIgIgC2pBB3cgFnMiASACakEJdyAGcyIGIAFqQQ13IAtzIgsgBmpBEncgAnMhCSAUIBVqQRJ3IANzIgMgDGpBB3cgB3MiAiADakEJdyANcyINIAJqQQ13IAxzIgwgDWpBEncgA3MhAyARQQJLIQcgEUECayERIAcNAAsgACADNgAAIAAgDzYAHCAAIAU2ABggACAGNgAUIAAgATYAECAAIAQ2AAwgACAINgAIIAAgCTYABEEACwQAQW8LYgEDfyMAQbABayICJAAgAkHgAGoiAyABQdAAahAwIAJBMGoiBCABIAMQBiACIAFBKGogAxAGIAAgAhAPIAJBkAFqIAQQDyAAIAAtAB8gAi0AkAFBB3RzOgAfIAJBsAFqJAALcgAgAEIANwNAIABCADcDSCAAQeCMAikDADcDACAAQeiMAikDADcDCCAAQfCMAikDADcDECAAQfiMAikDADcDGCAAQYCNAikDADcDICAAQYiNAikDADcDKCAAQZCNAikDADcDMCAAQZiNAikDADcDOEEACyMAIAFCgICAgBBaBEAQDQALIAAgASACIANBnJcCKAIAEQwAC9oIARh/IwBBwAJrIgIkACAAQShqIhcgARAnIABCADcCVCAAQQE2AlAgAEIANwJcIABCADcCZCAAQgA3AmwgAEEANgJ0IAJB8AFqIgQgFxAFIAJBwAFqIg4gBEHADBAGIAIgAigCwAFBAWo2AsABIAIgAigC8AFBAWsiAzYC8AEgAigC9AEhDSACKAL4ASEFIAIoAvwBIQYgAigCgAIhByACKAKEAiEIIAIoAogCIQkgAigCjAIhCiACKAKQAiELIAIoApQCIQwgACAEIA4QBiAAIAAQaSAAIAQgABAGIAJBkAFqIgQgABAFIAQgBCAOEAYgAiACKAK0ASIEIAxrNgKEASACIAIoArABIg4gC2s2AoABIAIgAigCrAEiDyAKazYCfCACIAIoAqgBIhAgCWs2AnggAiACKAKkASIRIAhrNgJ0IAIgAigCoAEiEiAHazYCcCACIAIoApwBIhMgBms2AmwgAiACKAKYASIUIAVrNgJoIAIgAigClAEiFSANazYCZCACIAIoApABIhYgA2s2AmAgAiAEIAxqNgJUIAIgCyAOajYCUCACIAogD2o2AkwgAiAJIBBqNgJIIAIgCCARajYCRCACIAcgEmo2AkAgAiAGIBNqNgI8IAIgBSAUajYCOCACIA0gFWo2AjQgAiADIBZqNgIwIAIgAkHgAGoQDyACQSAQGCEEIAIgAkEwahAPIAJBIBAYIQ8gAiAAQfAMEAYgACgCBCEMIAAoAgghCyAAKAIMIQogACgCECEJIAAoAhQhCCAAKAIYIQcgACgCHCEGIAAoAiAhBSAAKAIAIQ4gAigCACEQIAIoAgQhESACKAIIIRIgAigCDCETIAIoAhAhFCACKAIUIRUgAigCGCEWIAIoAhwhGCACKAIgIRkgACAEQQFrIgMgACgCJCINIAIoAiRzcSANcyINNgIkIAAgBSAFIBlzIANxcyIFNgIgIAAgBiAGIBhzIANxcyIGNgIcIAAgByAHIBZzIANxcyIHNgIYIAAgCCAIIBVzIANxcyIINgIUIAAgCSAJIBRzIANxcyIJNgIQIAAgCiAKIBNzIANxcyIKNgIMIAAgCyALIBJzIANxcyILNgIIIAAgDCAMIBFzIANxcyIMNgIEIAAgDiAOIBBzIANxcyIDNgIAIAJBoAJqIAAQDyAAQQAgAi0AoAJBAXEgAS0AH0EHdnNrIgEgDUEAIA1rc3EgDXM2AiQgACAFQQAgBWtzIAFxIAVzNgIgIAAgBkEAIAZrcyABcSAGczYCHCAAIAdBACAHa3MgAXEgB3M2AhggACAIQQAgCGtzIAFxIAhzNgIUIAAgCUEAIAlrcyABcSAJczYCECAAIApBACAKa3MgAXEgCnM2AgwgACALQQAgC2tzIAFxIAtzNgIIIAAgDEEAIAxrcyABcSAMczYCBCAAIANBACADa3MgAXEgA3M2AgAgAEH4AGogACAXEAYgAkHAAmokACAEIA9yQQFrC8oIAQN/IwBBwAFrIgIkACACQZABaiIEIAEQBSACQeAAaiIDIAQQBSADIAMQBSADIAEgAxAGIAQgBCADEAYgAkEwaiIBIAQQBSADIAMgARAGIAEgAxAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAMgASADEAYgASADEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIAMQBiACIAEQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSABIAIgARAGIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAMgASADEAYgASADEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIAMQBiACIAEQBUEBIQEDQCACIAIQBSABQQFqIgFB5ABHDQALIAJBMGoiASACIAEQBiABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSACQeAAaiIDIAEgAxAGIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAAgAyACQZABahAGIAJBwAFqJAALlwEBBH9BwQAhAkGACCEBAkACQEGACC0AACAAQf8BcUcEQCAAQf8BcUGBgoQIbCEDA0AgASgCACADcyIEQX9zIARBgYKECGtxQYCBgoR4cQ0CIAFBBGohASACQQRrIgJBA0sNAAsLIAJFDQELIABB/wFxIQADQCAAIAEtAABGBEAgAQ8LIAFBAWohASACQQFrIgINAAsLQQALCgAgACABIAIQRQvbAQEDfyMAQRBrIgMgADYCDCADIAE2AghBACEAIANBADoABwJAIAJFDQAgAkEBcSEBIAJBAUcEQCACQX5xIQRBACECA0AgAyADLQAHIAMoAgwgAGotAAAgAygCCCAAai0AAHNyOgAHIAMgAy0AByAAQQFyIgUgAygCDGotAAAgAygCCCAFai0AAHNyOgAHIABBAmohACACQQJqIgIgBEcNAAsLIAFFDQAgAyADLQAHIAMoAgwgAGotAAAgAygCCCAAai0AAHNyOgAHCyADLQAHQQFrQQh2QQFxQQFrCwwAIAAgASACIAMQRgs/AAJAIAStQoCAgIAQIAJCP3xCBoh9Vg0AIAJCgICAgBBaDQAgACABIAIgAyAEIAVBpJcCKAIAERAADwsQDQALJwAgAkKAgICAEFoEQBANAAsgACABIAIgAyAEIAVBoJcCKAIAEQsAC5wLARd/IwBBgARrIgIkAEF/IQMgAS0AHyIEQX9zQf8AcSABLQABIAEtAAIgAS0AAyABLQAEIAEtAAUgAS0ABiABLQAHIAEtAAggAS0ACSABLQAKIAEtAAsgAS0ADCABLQANIAEtAA4gAS0ADyABLQAQIAEtABEgAS0AEiABLQATIAEtABQgAS0AFSABLQAWIAEtABcgAS0AGCABLQAZIAEtABogAS0AGyABLQAcIAEtAB0gAS0AHnFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxQX9zckH/AXFBAWtB7AEgAS0AACIFa3FBCHYgBSAEQQd2cnJBAXFFBEAgAkHQAmoiDSABECcgAkGgAmogDRAFIAJBACACKALEAiIBazYClAIgAkEAIAIoAsACIgNrNgKQAiACQQAgAigCvAIiBGs2AowCIAJBACACKAK4AiIFazYCiAIgAkEAIAIoArQCIgZrNgKEAiACQQAgAigCsAIiB2s2AoACIAJBACACKAKsAiIIazYC/AEgAkEAIAIoAqgCIglrNgL4ASACQQAgAigCpAIiCms2AvQBIAJBASACKAKgAiILazYC8AEgAkGQAWoiDCACQfABaiIREAUgAiABNgLkASACIAM2AuABIAIgBDYC3AEgAiAFNgLYASACIAY2AtQBIAIgBzYC0AEgAiAINgLMASACIAk2AsgBIAIgCjYCxAEgAiALQQFqNgLAASACQeAAaiISIAJBwAFqIhMQBSACQTBqIhBBwAwgDBAGIAIoAmAhASACKAIwIQMgAigCZCEEIAIoAjQhBSACKAJoIQYgAigCOCEHIAIoAmwhCCACKAI8IQkgAigCcCEKIAIoAkAhCyACKAJ0IQwgAigCRCEOIAIoAnghDyACKAJIIRQgAigCfCEVIAIoAkwhFiACKAKAASEXIAIoAlAhGCACQQAgAigCVCACKAKEAWprNgJUIAJBACAXIBhqazYCUCACQQAgFSAWams2AkwgAkEAIA8gFGprNgJIIAJBACAMIA5qazYCRCACQQAgCiALams2AkAgAkEAIAggCWprNgI8IAJBACAGIAdqazYCOCACQQAgBCAFams2AjQgAkEAIAEgA2prNgIwIAIgECASEAYgAkIANwKUAyACQgA3ApwDIAJBADYCpAMgAkIANwKEAyACQQE2AoADIAJCADcCjAMgAkGwA2oiASACQYADaiACEGUhDyAAIAEgExAGIABBKGoiAyABIAAQBiADIAMgEBAGIAAgACAN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AkghDCABKAJMIQ0gASgCBCEQIAEoAgghESABKAIMIRIgASgCECETIAEoAhQhFCABKAIYIRUgASgCHCEWIAEoAiAhFyABKAIAIRggAigC0AUhDiACKALUBSEZIAIoAtgFIRogAigC3AUhGyACKALgBSEcIAIoAuQFIR0gAigC6AUhHiACKALsBSEfIAIoAvAFISAgAigC9AUhKyACKALgAyEhIAIoAuQDISIgAigC6AMhIyACKALsAyEkIAIoAvADISUgAigC9AMhJiACKAL4AyEnIAIoAvwDISggAigCgAQhKSACQQAgAi0AoAVBAXFrIgMgASgCJCIqIAIoAoQEc3EgKnM2ArQBIAIgFyAXIClzIANxczYCsAEgAiAWIBYgKHMgA3FzNgKsASACIBUgFSAncyADcXM2AqgBIAIgFCAUICZzIANxczYCpAEgAiATIBMgJXMgA3FzNgKgASACIBIgEiAkcyADcXM2ApwBIAIgESARICNzIANxczYCmAEgAiAQIBAgInMgA3FzNgKUASACIBggGCAhcyADcXM2ApABIAIoApAEIRAgAigClAQhESACKAKYBCESIAIoApwEIRMgAigCoAQhFCACKAKkBCEVIAIoAqgEIRYgAigCrAQhFyACKAKwBCEYIAIoArQEISEgAigC8AQhIiACKAL0BCEjIAIoAvgEISQgAigC/AQhJSACKAKABSEmIAIoAoQFIScgAigCiAUhKCACKAKMBSEpIAIoApAFISogAiArICsgAigClAVzIANxczYCxAUgAiAgICAgKnMgA3FzNgLABSACIB8gHyApcyADcXM2ArwFIAIgHiAeIChzIANxczYCuAUgAiAdIB0gJ3MgA3FzNgK0BSACIBwgHCAmcyADcXM2ArAFIAIgGyAbICVzIANxczYCrAUgAiAaIBogJHMgA3FzNgKoBSACIBkgGSAjcyADcXM2AqQFIAIgDiAOICJzIANxczYCoAUgAkHgAGoiDiACQZABaiAIEAYgAkGAA2oiCCAOEA8gASgCUCEOIAEoAlQhGSABKAJYIRogASgCXCEbIAEoAmAhHCABKAJkIR0gASgCaCEeIAEoAmwhHyABKAJwISAgAiABKAJ0QQAgAi0AgANBAXFrIgEgDSANICFzIANxcyINQQAgDWtzcSANc2s2AqQDIAIgICAMIAwgGHMgA3FzIgxBACAMa3MgAXEgDHNrNgKgAyACIB8gCyALIBdzIANxcyILQQAgC2tzIAFxIAtzazYCnAMgAiAeIAogCiAWcyADcXMiCkEAIAprcyABcSAKc2s2ApgDIAIgHSAJIAkgFXMgA3FzIglBACAJa3MgAXEgCXNrNgKUAyACIBwgByAHIBRzIANxcyIHQQAgB2tzIAFxIAdzazYCkAMgAiAbIAYgBiATcyADcXMiBkEAIAZrcyABcSAGc2s2AowDIAIgGiAFIAUgEnMgA3FzIgVBACAFa3MgAXEgBXNrNgKIAyACIBkgBCAEIBFzIANxcyIEQQAgBGtzIAFxIARzazYChAMgAiAOIAEgDyAPIBBzIANxcyIBQQAgAWtzcSABc2s2AoADIAggLCAIEAYgAkGwBmogCBAPIAJBACACLQCwBkEBcWsiASACKAKAAyIDQQAgA2tzcSADczYCgAMgAiACKAKEAyIDQQAgA2tzIAFxIANzNgKEAyACIAIoAogDIgNBACADa3MgAXEgA3M2AogDIAIgAigCjAMiA0EAIANrcyABcSADczYCjAMgAiACKAKQAyIDQQAgA2tzIAFxIANzNgKQAyACIAIoApQDIgNBACADa3MgAXEgA3M2ApQDIAIgAigCmAMiA0EAIANrcyABcSADczYCmAMgAiACKAKcAyIDQQAgA2tzIAFxIANzNgKcAyACIAIoAqADIgNBACADa3MgAXEgA3M2AqADIAIgASACKAKkAyIBQQAgAWtzcSABczYCpAMgACAIEA8gAkHQBmokAAv4AQEKfwNAIAQgACADai0AACIBIANBkBVqIgItAABzciEEIAogASACLQDAAXNyIQogCSABIAItAKABc3IhCSAIIAEgAi0AgAFzciEIIAcgASACLQBgc3IhByAGIAEgAkFAay0AAHNyIQYgBSABIAItACBzciEFIANBAWoiA0EfRw0ACyAKIAAtAB9B/wBxIgBB/wBzIgFyQf8BcUEBayABIAlyQf8BcUEBayABIAhyQf8BcUEBayAHIABB+gBzckH/AXFBAWsgBiAAQQVzckH/AXFBAWsgACAFckH/AXFBAWsgACAEckH/AXFBAWtycnJycnJBCHZBAXELxQUBHH8jAEHAAmsiASQAIAFB8AFqIgMgABAFIAFBwAFqIgQgAEEoahAFIAFBkAFqIgIgAEHQAGoQBSABKALwASEAIAEoAsABIQUgASgC9AEhBiABKALEASEHIAEoAvgBIQggASgCyAEhCSABKAL8ASEKIAEoAswBIQsgASgCgAIhDCABKALQASENIAEoAoQCIQ4gASgC1AEhDyABKAKIAiEQIAEoAtgBIREgASgCjAIhEiABKALcASETIAEoApACIRQgASgC4AEhFSABIAEoAuQBIAEoApQCazYCVCABIBUgFGs2AlAgASATIBJrNgJMIAEgESAQazYCSCABIA8gDms2AkQgASANIAxrNgJAIAEgCyAKazYCPCABIAkgCGs2AjggASAHIAZrNgI0IAEgBSAAazYCMCABQTBqIhYgFiACEAYgASADIAQQBiABIAFBwAwQBiABQeAAaiACEAUgASgCMCEAIAEoAmAhBSABKAIAIQYgASgCNCEHIAEoAmQhCCABKAIEIQkgASgCOCEKIAEoAmghCyABKAIIIQwgASgCPCENIAEoAmwhDiABKAIMIQ8gASgCQCEQIAEoAnAhESABKAIQIRIgASgCRCETIAEoAnQhFCABKAIUIRUgASgCSCECIAEoAnghAyABKAIYIQQgASgCTCEXIAEoAnwhGCABKAIcIRkgASgCUCEaIAEoAoABIRsgASgCICEcIAEgASgCVCABKAKEASABKAIkams2AlQgASAaIBsgHGprNgJQIAEgFyAYIBlqazYCTCABIAIgAyAEams2AkggASATIBQgFWprNgJEIAEgECARIBJqazYCQCABIA0gDiAPams2AjwgASAKIAsgDGprNgI4IAEgByAIIAlqazYCNCABIAAgBSAGams2AjAgAUGgAmoiACAWEA8gAEEgEBghACABQcACaiQAIAAL7wMBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADYCBCACIAIoAgQgAigCDC0AACACKAIILQAAc3I2AgQgAiACKAIEIAIoAgwtAAEgAigCCC0AAXNyNgIEIAIgAigCBCACKAIMLQACIAIoAggtAAJzcjYCBCACIAIoAgQgAigCDC0AAyACKAIILQADc3I2AgQgAiACKAIEIAIoAgwtAAQgAigCCC0ABHNyNgIEIAIgAigCBCACKAIMLQAFIAIoAggtAAVzcjYCBCACIAIoAgQgAigCDC0ABiACKAIILQAGc3I2AgQgAiACKAIEIAIoAgwtAAcg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A3iFQiCJIhQgAikDWCIYfCAUQv////8PgyAYQgGGQv7///8fg358IhggFYVCKIkiFSAXfCAVQv////8PgyAXQgGGQv7///8fg358IhcgFIVCMIkiFCACKQMoIhMgAikDCCIWfCAWQgGGQv7///8fgyATQv////8Pg358IhYgAikDaIVCIIkiGyACKQNIIhx8IBtC/////w+DIBxCAYZC/v///x+DfnwiHCAThUIoiSITIBZ8IBNC/////w+DIBZCAYZC/v///x+DfnwiFiAbhUIwiSIbIBx8IBtC/////w+DIBxCAYZC/v///x+DfnwiHCAThUIBiSITIAIpAyAiHyACKQMAIhp8IBpCAYZC/v///x+DIB9C/////w+DfnwiGiACKQNghUIgiSIgIAJBQGsiBikDACIjfCAgQv////8PgyAjQgGGQv7///8fg358IiMgH4VCKIkiHyAafCAfQv////8PgyAaQgGGQv7///8fg358Ihp8IBNC/////w+DIBpCAYZC/v///x+DfnwiGYVCIIkiJCACKQMwIiEgAikDECIdfCAdQgGGQv7///8fgyAhQv////8Pg358Ih0gAikDcIVCIIkiIiACKQNQIh58ICJC/////w+DIB5CAYZC/v///x+DfnwiHiAhhUIoiSIhIB18ICFC/////w+DIB1CAYZC/v///x+DfnwiHSAihUIwiSIiIB58ICJC/////w+DIB5CAYZC/v///x+DfnwiHnwgJEL/////D4MgHkIBhkL+////H4N+fCIlIBOFQiiJIhMgGXwgE0L/////D4MgGUIBhkL+////H4N+fCIZNwMAIAIgGSAkhUIwiSIZNwN4IAIgGSAlfCAZQv////8PgyAlQgGGQv7///8fg358Ihk3A1AgAiATIBmFQgGJNwMoIAIgHiAhhUIBiSITIBZ8IBNC/////w+DIBZCAYZC/v///x+DfnwiFiAaICCFQjCJIhqFQiCJIiAgFCAYfCAUQv////8PgyAYQgGGQv7///8fg358IhR8ICBC/////w+DIBRCAYZC/v///x+DfnwiGCAThUIoiSITIBZ8IBNC/////w+DIBZCAYZC/v///x+DfnwiGSAghUIwiSIWNwNgIAIgGTcDCCACIBYgGHwgFkL/////D4MgGEIBhkL+////H4N+fCIYIBOFQgGJNwMwIAIgGDcDWCACIBQgFYVCAYkiFSAdfCAVQv////8PgyAdQgGGQv7///8fg358IhQgG4VCIIkiGCAaICN8IBpC/////w+DICNCAYZC/v///x+DfnwiE3wgGEL/////D4MgE0IBhkL+////H4N+fCIWIBWFQiiJIhUgFHwgFUL/////D4MgFEIBhkL+////H4N+fCIUNwMQIAIgFCAYhUIwiSIUNwNoIAYgFCAWfCAUQv////8PgyAWQgGGQv7///8fg358IhY3AwAgAiAXIBMgH4VCAYkiFHwgF0IBhkL+////H4MgFEL/////D4N+fCIXICKFQiCJIhggHHwgGEL/////D4MgHEIBhkL+////H4N+fCITIBSFQiiJIhQgF3wgFEL/////D4MgF0IBhkL+////H4N+fCIbIBiFQjCJIhcgE3wgF0L/////D4MgE0IBhkL+////H4N+fCIYNwNIIAIgFzcDcCACIBs3AxggAiAVIBaFQgGJNwM4IAIgFCAYhUIBiTcDICAEQQFqIgRBCEcNAAsDQCAFQYAYaiADQQR0aiICIAIpA4gDIhUgAikDiAEiF3wgF0IBhkL+////H4MgFUL/////D4N+fCIXIAIpA4gHhUIgiSIUIAIpA4gFIhh8IBRC/////w+DIBhCAYZC/v///x+DfnwiGCAVhUIoiSIVIBd8IBVC/////w+DIBdCAYZC/v///x+DfnwiFyAUhUIwiSIUIAIpA4gCIhMgAikDCCIWfCAWQgGGQv7///8fgyATQv////8Pg358IhYgAikDiAaFQiCJIhsgAikDiAQiHHwgG0L/////D4MgHEIBhkL+////H4N+fCIcIBOFQiiJIhMgFnwgE0L/////D4MgFkIBhkL+////H4N+fCIWIBuFQjCJIhsgHHwgG0L/////D4MgHEIBhkL+////H4N+fCIcIBOFQgGJIhMgAikDgAIiHyACKQMAIhp8IBpCAYZC/v///x+DIB9C/////w+DfnwiGiACKQOABoVCIIkiICACKQOABCIjfCAgQv////8PgyAjQgGGQv7///8fg358IiMgH4VCKIkiHyAafCAfQv////8PgyAaQgGGQv7///8fg358Ihp8IBNC/////w+DIBpCAYZC/v///x+DfnwiGYVCIIkiJCACKQOAAyIhIAIpA4ABIh18IB1CAYZC/v///x+DICFC/////w+DfnwiHSACKQOAB4VCIIkiIiACKQOABSIefCAiQv////8PgyAeQgGGQv7///8fg358Ih4gIYVCKIkiISAdfCAhQv////8PgyAdQgGGQv7///8fg358Ih0gIoVCMIkiIiAefCAiQv////8PgyAeQgGGQv7///8fg358Ih58ICRC/////w+DIB5CAYZC/v///x+DfnwiJSAThUIoiSITIBl8IBNC/////w+DIBlCAYZC/v///x+DfnwiGTcDACACIBkgJIVCMIkiGTcDiAcgAiAZICV8IBlC/////w+DICVCAYZC/v///x+DfnwiGTcDgAUgAiATIBmFQgGJNwOIAiACIB4gIYVCAYkiEyAWfCATQv////8PgyAWQgGGQv7///8fg358IhYgGiAghUIwiSIahUIgiSIgIBQgGHwgFEL/////D4MgGEIBhkL+////H4N+fCIUfCAgQv////8PgyAUQgGGQv7///8fg358IhggE4VCKIkiEyAWfCATQv////8PgyAWQgGGQv7///8fg358IhkgIIVCMIkiFjcDgAYgAiAZNwMIIAIgFiAYfCAWQv////8PgyAYQgGGQv7///8fg358Ihg3A4gFIAIgEyAYhUIBiTcDgAMgAiAUIBWFQgGJIhUgHXwgFUL/////D4MgHUIBhkL+////H4N+fCIUIBuFQiCJIhggGiAjfCAaQv////8PgyAjQgGGQv7///8fg358IhN8IBhC/////w+DIBNCAYZC/v///x+DfnwiFiAVhUIoiSIVIBR8IBVC/////w+DIBRCAYZC/v///x+DfnwiGyAYhUIwiSIUNwOIBiACIBs3A4ABIAIgFCAWfCAUQv////8PgyAWQgGGQv7///8fg358IhQ3A4AEIAIgFCAVhUIBiTcDiAMgAiAXIBMgH4VCAYkiFXwgF0IBhkL+////H4MgFUL/////D4N+fCIXICKFQiCJIhQgHHwgFEL/////D4MgHEIBhkL+////H4N+fCIYIBWFQiiJIhUgF3wgFUL/////D4MgF0IBhkL+////H4N+fCITIBSFQjCJIhc3A4AHIAIgEzcDiAEgAiAXIBh8IBdC/////w+DIBhCAYZC/v///x+DfnwiFzcDiAQgAiAVIBeFQgGJNwOAAiADQQFqIgNBCEcNAAsgByAFQYAQakGACBAKIQJBACEEA0AgAiAEQQN0IgNqIgcgBykDACAFQYAYaiINIANqKQMAhTcDACACIANBCHIiB2oiBiAGKQMAIAcgDWopAwCFNwMAIAIgA0EQciIHaiIGIAYpAwAgBUGAGGogB2opAwCFNwMAIAIgA0EYciIDaiIHIAcpAwAgBUGAGGogA2opAwCFNwMAIARBBGoiBEGAAUcNAAsLIAxBAWohBCAKQQFqIQogCEEBaiIIIAAoAhQiA0kNAAsLIAVBgCBqJAALygUCBX8CfkF/IQYCQCABQcEAa0FASQ0AIAVBwABLDQACfyABQf8BcSEGIAVB/wFxIQUjACIBIQkgAUGABGtBQHEiASQAAkAgAkUgA0IAUnENACAARQ0AIAZBwQBrQf8BcUG/AU0NACAEQQEgBRtFDQAgBUHBAE8NAAJ/IAUEQCAERQ0CIAFBQGtBAEGlAhAMGiABQvnC+JuRo7Pw2wA3AzggAULr+obav7X2wR83AzAgAUKf2PnZwpHagpt/NwMoIAFC0YWa7/rPlIfRADcDICABQvHt9Pilp/2npX83AxggAUKr8NP0r+68tzw3AxAgAUK7zqqm2NDrs7t/NwMIIAEgBq0gBa1CCIaEQoiS95X/zPmE6gCFNwMAIAFBgANqIgcgBWpBAEGAASAFaxAMGiAHIAQgBRAKGiABQeAAaiAHQYABEAoaIAFBgAE2AuACIAdBgAEQCEGAAQwBCyABQUBrQQBBpQIQDBogAUL5wvibkaOz8NsANwM4IAFC6/qG2r+19sEfNwMwIAFCn9j52cKR2oKbfzcDKCABQtGFmu/6z5SH0QA3AyAgAULx7fT4paf9p6V/NwMYIAFCq/DT9K/uvLc8NwMQIAFCu86qptjQ67O7fzcDCCABIAatQoiS95X/zPmE6gCFNwMAQQALIQQCQCADUA0AIAFB4AFqIQogAUHgAGohBQNAIAQgBWohCEGAAiAEayIHrSILIANaBEAgCCACIAOnIgIQChogASABKALgAiACajYC4AIMAgsgCCACIAcQChogASABKALgAiAHajYC4AIgASABKQNAIgxCgAF8NwNAIAEgASkDSCAMQv9+Vq18NwNIIAEgBRBJIAUgCkGAARAKGiABIAEoAuACQYABayIENgLgAiACIAdqIQIgAyALfSIDQgBSDQALCyABIAAgBhBzGiAJJABBAAwBCxANAAshBgsgBgvGAgICfwF+IwBB4ABrIgYkACAGIAQgBUEAECoaIAZBIGoiB0IgIARBEGoiBSAGQZCXAigCABEMABpBfyEEAkACQCACIAEgAyAHQfiWAigCABENAA0AQQAhBCAARQ0BAkAgACABSSABIABrrSADVHFFBEAgACABTQ0BIAAgAWutIANaDQELIAAgASADpxA6IQELAkBCICADIANCIFobIghQBEAgBkEgaiICIAIgCEIgfCAFQgAgBkGUlwIoAgARCwAaDAELIAZBQGsgASAIpyICEAohBCAGQSBqIgcgByAIQiB8IAVCACAGQZSXAigCABELABogACAEIAIQChoLIAZBIGpBwAAQCEEAIQQgA0IhVA0AIAAgCKciAmogASACaiADIAh9IAVCASAGQZSXAigCABELABoLIAZBIBAICyAGQeAAaiQAIAQLhQEBBX8CQCABLQAAEDEiAkUNACABLQABEDEiA0UNACABLQACEDEiBEUNACABLQADEDEiBUUNACABLQAEEDEiBkUNACAAIAJBgAhrIANBgAhrQQZ0ciAEQYAIa0EMdHIgBUGACGtBEnRyIAZBgAhrQRh0cjYCACABQQVqDwsgAEEANgIAQQAL1gYBBH8gAiADQQd0IABqQUBqIgQpAgA3AgAgAiAEKQI4NwI4IAIgBCkCMDcCMCACIAQpAig3AiggAiAEKQIgNwIgIAIgBCkCGDcCGCACIAQpAhA3AhAgAiAEKQIINwIIIANBAXQiBQRAIANBBHQhBkEAIQMDQCACIAIoAgAgACADQQZ0IgdqIgQoAgBzNgIAIAIgAigCBCAEKAIEczYCBCACIAIoAgggBCgCCHM2AgggAiACKAIMIAQoAgxzNgIMIAIgAigCECAEKAIQczYCECACIAIoAhQgBCgCFHM2AhQgAiACKAIYIAQoAhhzNgIYIAIgAigCHCAEKAIcczYCHCACIAIoAiAgBCgCIHM2AiAgAiACKAIkIAQoAiRzNgIkIAIgAigCKCAEKAIoczYCKCACIAIoAiwgBCgCLHM2AiwgAiACKAIwIAQoAjBzNgIwIAIgAigCNCAEKAI0czYCNCACIAIoAjggBCgCOHM2AjggAiACKAI8IAQoAjxzNgI8IAIQvwEgASADQQV0aiIEIAIpAjg3AjggBCACKQIwNwIwIAQgAikCKDcCKCAEIAIpAiA3AiAgBCACKQIYNwIYIAQgAikCEDcCECAEIAIpAgg3AgggBCACKQIANwIAIAIgAigCACAAIAdBwAByaiIEKAIAczYCACACIAIoAgQgBCgCBHM2AgQgAiACKAIIIAQoAghzNgIIIAIgAigCDCAEKAIMczYCDCACIAIoAhAgBCgCEHM2AhAgAiACKAIUIAQoAhRzNgIUIAIgAigCGCAEKAIYczYCGCACIAIoAhwgBCgCHHM2AhwgAiACKAIgIAQoAiBzNgIgIAIgAigCJCAEKAIkczYCJCACIAIoAiggBCgCKHM2AiggAiACKAIsIAQoAixzNgIsIAIgAigCMCAEKAIwczYCMCACIAIoAjQgBCgCNHM2AjQgAiACKAI4IAQoAjhzNgI4IAIgAigCPCAEKAI8czYCPCACEL8BIAEgA0EDdCAGakECdGoiBCACKQI4NwI4IAQgAikCMDcCMCAEIAIpAig3AiggBCACKQIgNwIgIAQgAikCGDcCGCAEIAIpAhA3AhAgBCACKQIINwIIIAQgAikCADcCACADQQJqIgMgBUkNAAsLC7sGAQl/IwBB4ABrIgMkACACQcEATwRAIAAQWxogACABIAKtEB8aIAAgAxApGkEgIQIgAyEBCyAAEFsaIANCtuzYsePGjZs2NwNYIANCtuzYsePGjZs2NwNQIANCtuzYsePGjZs2NwNIIANBQGsiCkK27Nix48aNmzY3AwAgA0K27Nix48aNmzY3AzggA0K27Nix48aNmzY3AzAgA0K27Nix48aNmzY3AyggA0K27Nix48aNmzY3AyACQCACRQ0AIAJBBE8EQCACQfwAcSEGA0AgA0EgaiILIARqIgUgBS0AACABIARqLQAAczoAACALIARBAXIiBWoiCCAILQAAIAEgBWotAABzOgAAIAsgBEECciIFaiIIIAgtAAAgASAFai0AAHM6AAAgCyAEQQNyIgVqIgggCC0AACABIAVqLQAAczoAACAEQQRqIQQgB0EEaiIHIAZHDQALCyACQQNxIgdFDQADQCADQSBqIARqIgYgBi0AACABIARqLQAAczoAACAEQQFqIQQgCUEBaiIJIAdHDQALCyAAIANBIGpCwAAQHxogAEHoAGoiABBbGiADQty48eLFi5eu3AA3A1ggA0LcuPHixYuXrtwANwNQIANC3Ljx4sWLl67cADcDSCAKQty48eLFi5eu3AA3AwAgA0LcuPHixYuXrtwANwM4IANC3Ljx4sWLl67cADcDMCADQty48eLFi5eu3AA3AyggA0LcuPHixYuXrtwANwMgAkAgAkUNAEEAIQlBACEEIAJBBE8EQCACQfwAcSEKQQAhBwNAIANBIGoiCCAEaiIGIAYtAAAgASAEai0AAHM6AAAgCCAEQQFyIgZqIgUgBS0AACABIAZqLQAAczoAACAIIARBAnIiBmoiBSAFLQAAIAEgBmotAABzOgAAIAggBEEDciIGaiIFIAUtAAAgASAGai0AAHM6AAAgBEEEaiEEIAdBBGoiByAKRw0ACwsgAkEDcSICRQ0AA0AgA0EgaiAEaiIHIActAAAgASAEai0AAHM6AAAgBEEBaiEEIAlBAWoiCSACRw0ACwsgACADQSBqIgBCwAAQHxogAEHAABAIIANBIBAIIANB4ABqJABBAAsFAEHQAQvuGwEZfyACIAEoAAAiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AgAgAiABKAAEIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIEIAIgASgACCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCCCACIAEoAAwiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AgwgAiABKAAQIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIQIAIgASgAFCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCFCACIAEoABgiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AhggAiABKAAcIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIcIAIgASgAICIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCICACIAEoACQiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AiQgAiABKAAoIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIoIAIgASgALCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCLCACIAEoADAiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AjAgAiABKAA0IgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgI0IAIgASgAOCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCOCACIAEoADwiAUEYdCABQYD+A3FBCHRyIAFBCHZBgP4DcSABQRh2cnI2AjwgAyAAKQIYNwIYIAMgACkCEDcCECADIAApAgg3AgggAyAAKQIANwIAA0AgAyADKAIcIAIgFEECdCIBaiIEKAIAIAMoAhAiDEEadyAMQRV3cyAMQQd3c2ogAUGglAJqKAIAaiAMIAMoAhgiBiADKAIUIgpzcSAGc2pqIgcgAygCDGoiCTYCDCADIAMoAgAiDUEedyANQRN3cyANQQp3cyAHaiADKAIIIgUgAygCBCILciANcSAFIAtxcmoiBzYCHCADIAUgAiABQQRyIghqIhIoAgAgBiAKIAkgCiAMc3FzaiAJQRp3IAlBFXdzIAlBB3dzamogCEGglAJqKAIAaiIGaiIFNgIIIAMgByALIA1ycSALIA1xciAGaiAHQR53IAdBE3dzIAdBCndzaiIGNgIYIAMgCiACIAFBCHIiCGoiDigCAGogCEGglAJqKAIAaiAMIAUgCSAMc3FzaiAFQRp3IAVBFXdzIAVBB3dzaiIIIAYgByANcnEgByANcXIgBkEedyAGQRN3cyAGQQp3c2pqIgo2AhQgAyAIIAtqIgs2AgQgAyAMIAIgAUEMciIIaiIPKAIAaiAIQaCUAmooAgBqIAsgBSAJc3EgCXNqIAtBGncgC0EVd3MgC0EHd3NqIgggCiAGIAdycSAGIAdxciAKQR53IApBE3dzIApBCndzamoiDDYCECADIAggDWoiDTYCACADIAkgAiABQRByIglqIhAoAgBqIAlBoJQCaigCAGogDSAFIAtzcSAFc2ogDUEadyANQRV3cyANQQd3c2oiCCAMIAYgCnJxIAYgCnFyIAxBHncgDEETd3MgDEEKd3NqaiIJNgIMIAMgByAIaiIINgIcIAMgAiABQRRyIgdqIhEoAgAgBWogB0GglAJqKAIAaiAIIAsgDXNxIAtzaiAIQRp3IAhBFXdzIAhBB3dzaiIFIAkgCiAMcnEgCiAMcXIgCUEedyAJQRN3cyAJQQp3c2pqIgc2AgggAyAFIAZqIgU2AhggAyACIAFBGHIiBmoiEygCACALaiAGQaCUAmooAgBqIAUgCCANc3EgDXNqIAVBGncgBUEVd3MgBUEHd3NqIgsgByAJIAxycSAJIAxxciAHQR53IAdBE3dzIAdBCndzamoiBjYCBCADIAogC2oiCzYCFCADIAIgAUEcciIKaiIWKAIAIA1qIApBoJQCaigCAGogCyAFIAhzcSAIc2ogC0EadyALQRV3cyALQQd3c2oiDSAGIAcgCXJxIAcgCXFyIAZBHncgBkETd3MgBkEKd3NqaiIKNgIAIAMgDCANaiINNgIQIAMgAiABQSByIgxqIhcoAgAgCGogDEGglAJqKAIAaiANIAUgC3NxIAVzaiANQRp3IA1BFXdzIA1BB3dzaiIIIAogBiAHcnEgBiAHcXIgCkEedyAKQRN3cyAKQQp3c2pqIgw2AhwgAyAIIAlqIgg2AgwgAyACIAFBJHIiCWoiGCgCACAFaiAJQaCUAmooAgBqIAggCyANc3EgC3NqIAhBGncgCEEVd3MgCEEHd3NqIgUgDCAGIApycSAGIApxciAMQR53IAxBE3dzIAxBCndzamoiCTYCGCADIAUgB2oiBTYCCCADIAsgAiABQShyIgdqIhkoAgBqIAdBoJQCaigCAGogBSAIIA1zcSANc2ogBUEadyAFQRV3cyAFQQd3c2oiCyAJIAogDHJxIAogDHFyIAlBHncgCUETd3MgCUEKd3NqaiIHNgIUIAMgBiALaiILNgIEIAMgAUEsciIGQaCUAmooAgAgAiAGaiIaKAIAaiANaiALIAUgCHNxIAhzaiALQRp3IAtBFXdzIAtBB3dzaiINIAcgCSAMcnEgCSAMcXIgB0EedyAHQRN3cyAHQQp3c2pqIgY2AhAgAyAKIA1qIgo2AgAgAyABQTByIg1BoJQCaigCACACIA1qIhsoAgBqIAhqIAogBSALc3EgBXNqIApBGncgCkEVd3MgCkEHd3NqIgggBiAHIAlycSAHIAlxciAGQR53IAZBE3dzIAZBCndzamoiDTYCDCADIAggDGoiDDYCHCADIAUgAUE0ciIFQaCUAmooAgAgAiAFaiIcKAIAamogDCAKIAtzcSALc2ogDEEadyAMQRV3cyAMQQd3c2oiCCANIAYgB3JxIAYgB3FyIA1BHncgDUETd3MgDUEKd3NqaiIFNgIIIAMgCCAJaiIJNgIYIAMgCyABQThyIgtBoJQCaigCACACIAtqIggoAgBqaiAJIAogDHNxIApzaiAJQRp3IAlBFXdzIAlBB3dzaiIVIAUgBiANcnEgBiANcXIgBUEedyAFQRN3cyAFQQp3c2pqIgs2AgQgAyAHIBVqIgc2AhQgAyABQTxyIgFBoJQCaigCACABIAJqIhUoAgBqIApqIAcgCSAMc3EgDHNqIAdBGncgB0EVd3MgB0EHd3NqIgEgCyAFIA1ycSAFIA1xciALQR53IAtBE3dzIAtBCndzamoiBzYCACADIAEgBmo2AhAgFEEwRkUEQCACIBRBEGoiFEECdGogBCgCACAYKAIAIgogCCgCACIBQQ93IAFBDXdzIAFBCnZzamogEigCACIGQRl3IAZBDndzIAZBA3ZzaiIHNgIAIAQgBiAZKAIAIgxqIBUoAgAiBkEPdyAGQQ13cyAGQQp2c2ogDigCACIFQRl3IAVBDndzIAVBA3ZzaiIJNgJEIAQgBSAaKAIAIg1qIAdBD3cgB0ENd3MgB0EKdnNqIA8oAgAiCEEZdyAIQQ53cyAIQQN2c2oiBTYCSCAEIAggGygCACILaiAJQQ93IAlBDXdzIAlBCnZzaiAQKAIAIg5BGXcgDkEOd3MgDkEDdnNqIgg2AkwgBCAOIBwoAgAiEmogBUEPdyAFQQ13cyAFQQp2c2ogESgCACIPQRl3IA9BDndzIA9BA3ZzaiIONgJQIAQgASAPaiAIQQ93IAhBDXdzIAhBCnZzaiATKAIAIhBBGXcgEEEOd3MgEEEDdnNqIg82AlQgBCAGIBBqIBYoAgAiEUEZdyARQQ53cyARQQN2c2ogDkEPdyAOQQ13cyAOQQp2c2oiEDYCWCAEIBcoAgAiEyAJIApBGXcgCkEOd3MgCkEDdnNqaiAQQQ93IBBBDXdzIBBBCnZzaiIJNgJgIAQgByARaiATQRl3IBNBDndzIBNBA3ZzaiAPQQ93IA9BDXdzIA9BCnZzaiIRNgJcIAQgDCANQRl3IA1BDndzIA1BA3ZzaiAIaiAJQQ93IAlBDXdzIAlBCnZzaiIINgJoIAQgCiAMQRl3IAxBDndzIAxBA3ZzaiAFaiARQQ93IBFBDXdzIBFBCnZzaiIKNgJkIAQgCyASQRl3IBJBDndzIBJBA3ZzaiAPaiAIQQ93IAhBDXdzIAhBCnZzaiIMNgJwIAQgDSALQRl3IAtBDndzIAtBA3ZzaiAOaiAKQQ93IApBDXdzIApBCnZzaiIKNgJsIAQgASAGQRl3IAZBDndzIAZBA3ZzaiARaiAMQQ93IAxBDXdzIAxBCnZzajYCeCAEIBIgAUEZdyABQQ53cyABQQN2c2ogEGogCkEPdyAKQQ13cyAKQQp2c2oiATYCdCAEIAYgB0EZdyAHQQ53cyAHQQN2c2ogCWogAUEPdyABQQ13cyABQQp2c2o2AnwMAQsLIAAgACgCACAHajYCACAAIAAoAgQgAygCBGo2AgQgACAAKAIIIAMoAghqNgIIIAAgACgCDCADKAIMajYCDCAAIAAoAhAgAygCEGo2AhAgACAAKAIUIAMoAhRqNgIUIAAgACgCGCADKAIYajYCGCAAIAAoAhwgAygCHGo2AhwLOwAgAEIANwMgIABBgJQCKQMANwMAIABBiJQCKQMANwMIIABBkJQCKQMANwMQIABBmJQCKQMANwMYQQALIgEBfyAAKAIAIgEEQCABEBALIABBADYCCCAAQgA3AgBBAAuYAgICfwF+IwBB4ABrIgYkACAGIAQgBUEAEBoaIAZBIGoiB0IgIARBEGoiBSAGEE4aQX8hBAJAAkAgAiABIAMgB0H4lgIoAgARDQANAEEAIQQgAEUNAQJAIAAgAUkgASAAa60gA1RxRQRAIAAgAU0NASAAIAFrrSADWg0BCyAAIAEgA6cQOiEBCwJAQiAgAyADQiBaGyIIUARAIAZBIGoiAiACIAhCIHwgBSAGEGIaDAELIAZBQGsgASAIpyICEAohBCAGQSBqIgcgByAIQiB8IAUgBhBiGiAAIAQgAhAKGgtBACEEIANCIVQNACAAIAinIgJqIAEgAmogAyAIfSAFQgEgBhA2GgsgBkEgEAgLIAZB4ABqJAAgBAs7AQF/IwBBQGoiAiQAIAAgAhAcGiAAQdABaiIAIAJCwAAQExogACABEBwaIAJBwAAQCCACQUBrJABBAAuqDwEMfyMAQTBrIgMkAAJAIAAQbSICDQBBZiECIAFBA2tBfkkNACAAKAIsIQQgACgCMCECIANBADYCACAAKAIoIQUgAyACNgIcIANBfzYCDCADIAU2AgggAyAEIAJBA3QiBSAEIAVLGyACQQJ0IgRuIgI2AhQgAyACQQJ0NgIYIAMgAiAEbDYCECAAKAI0IQIgAyABNgIkIAMgAjYCIAJ/IwAiASEJIAFBgAlrQUBxIgEkAEFnIQICQCADRQ0AIABFDQAgAyADKAIUQQN0EB0iBDYCBEFqIQIgBEUNAAJAAkAgAygCECICRQ0AIAJBCnQiBCACbkGACEcNACADQQwQHSICNgIAIAJFDQAgAkIANwIAQaSdAiABQYABaiAEENwBIgI2AgACQCACBEAgAUEANgKAAQwBCyABKAKAASICDQILIAMoAgAQECADQQA2AgALIAMgACgCOBCbASAJJABBagwCCyADKAIAIAI2AgAgAygCACACNgIEIAMoAgAgBDYCCCADKAIkIQQgAUGAAWoiAkEAQQBBwAAQRhogASAAKAIwNgJ8IAIgAUH8AGoiBUIEEBYaIAEgACgCBDYCfCACIAVCBBAWGiABIAAoAiw2AnwgAiAFQgQQFhogASAAKAIoNgJ8IAFBgAFqIAFB/ABqQgQQFhogAUETNgJ8IAFBgAFqIAFB/ABqQgQQFhogASAENgJ8IAFBgAFqIAFB/ABqQgQQFhogASAAKAIMNgJ8IAFBgAFqIAFB/ABqQgQQFhoCQCAAKAIIIgJFDQAgAUGAAWogAiAANQIMEBYaIAAtADhBAXFFDQAgACgCCCAAKAIMEAggAEEANgIMCyABIAAoAhQ2AnwgAUGAAWogAUH8AGpCBBAWGiAAKAIQIgIEQCABQYABaiACIAA1AhQQFhoLIAEgACgCHDYCfCABQYABaiABQfwAakIEEBYaAkAgACgCGCICRQ0AIAFBgAFqIAIgADUCHBAWGiAALQA4QQJxRQ0AIAAoAhggACgCHBAIIABBADYCHAsgASAAKAIkNgJ8IAFBgAFqIAFB/ABqQgQQFhogACgCICICBEAgAUGAAWogAiAANQIkEBYaCyABQYABaiABQTBqQcAAEEUaIAFB8ABqQQgQCCADKAIcBEBBACECA0AgAUEANgJwIAEgAjYCdCABQYABakGACCABQTBqQcgAEG8gAygCACgCBCADKAIYIAJsQQp0aiEFQQAhBANAIAUgBEEDdCIGaiABQYABaiIHIAZqKQMANwMAIAUgBkEIciIIaiAHIAhqKQMANwMAIAUgBkEQciIIaiAHIAhqKQMANwMAIAUgBkEYciIGaiAGIAdqKQMANwMAIARBBGoiBEGAAUcNAAsgAUEBNgJwIAFBgAFqQYAIIAFBMGpByAAQbyADKAIAKAIEIAMoAhggAmxBCnRqQYAIaiEFQQAhBANAIAUgBEEDdCIGaiABQYABaiIHIAZqKQMANwMAIAUgBkEIciIIaiAHIAhqKQMANwMAIAUgBkEQciIIaiAHIAhqKQMANwMAIAUgBkEYciIGaiAGIAdqKQMANwMAIARBBGoiBEGAAUcNAAsgAkEBaiICIAMoAhxJDQALCyABQYABakGACBAIIAFBMGpByAAQCEEAIQILIAkkACACCyICDQAgAygCCARAA0AjAEHQAGsiASQAAkAgA0UNACADKAIcRQ0AIAFBADoASCABIAs2AkBBACECA0AgAUEANgJMIAEgASkDSDcDOCABIAI2AkQgASABKQNANwMwIAMgAUEwahBTIAJBAWoiAiADKAIcIgRJDQALIAFBAToASCAERQ0AQQAhAgNAIAFBADYCTCABIAEpA0g3AyggASACNgJEIAEgASkDQDcDICADIAFBIGoQUyACQQFqIgIgAygCHCIESQ0ACyABQQI6AEggBEUNAEEAIQIDQCABQQA2AkwgASABKQNINwMYIAEgAjYCRCABIAEpA0A3AxAgAyABQRBqEFMgAkEBaiICIAMoAhwiBEkNAAsgAUEDOgBIIARFDQBBACECA0AgAUEANgJMIAEgASkDSDcDCCABIAI2AkQgASABKQNANwMAIAMgARBTIAJBAWoiAiADKAIcSQ0ACwsgAUHQAGokACALQQFqIgsgAygCCEkNAAsLIwBBgBBrIgEkAAJAIABFDQAgA0UNACABQYAIaiADKAIAIgsoAgQgAygCGCIHQQp0akGACGtBgAgQChogAygCHCIIQQJPBEAgB0EBayENQQEhBQNAIAsoAgQgDSAFIAdsakEKdGohAkEAIQYDQCAGQQN0IgQgAUGACGoiCWoiCiAKKQMAIAIgBGopAwCFNwMAIAkgBEEIciIKaiIMIAwpAwAgAiAKaikDAIU3AwAgCSAEQRByIgpqIgwgDCkDACACIApqKQMAhTcDACAJIARBGHIiBGoiCSAJKQMAIAIgBGopAwCFNwMAIAZBBGoiBkGAAUcNAAsgBUEBaiIFIAhHDQALCyABIAFBgAhqQYAIEAohAiAAKAIAIAAoAgQgAkGACBBvIAJBgAhqQYAIEAggAkGACBAIIAMgACgCOBCbAQsgAUGAEGokAEEAIQILIANBMGokACACC/sXAhB+EH8DQCACIBVBA3QiFmogASAWaikAACIEQjiGIARCgP4Dg0IohoQgBEKAgPwHg0IYhiAEQoCAgPgPg0IIhoSEIARCCIhCgICA+A+DIARCGIhCgID8B4OEIARCKIhCgP4DgyAEQjiIhISENwMAIBVBAWoiFUEQRw0ACyADIAApAwA3AwAgAyAAKQM4NwM4IAMgACkDMDcDMCADIAApAyg3AyggAyAAKQMgNwMgIAMgACkDGDcDGCADIAApAxA3AxAgAyAAKQMINwMIQQAhFgNAIAMgAykDOCACIBZBA3QiAWoiFSkDACADKQMgIgdCMokgB0IuiYUgB0IXiYV8IAFBoI0CaikDAHwgByADKQMwIgsgAykDKCIIhYMgC4V8fCIEIAMpAxh8Igo3AxggAyADKQMAIgVCJIkgBUIeiYUgBUIZiYUgBHwgAykDECIJIAMpAwgiBoQgBYMgBiAJg4R8IgQ3AzggAyAJIAIgAUEIciIUaiIaKQMAIAsgCCAKIAcgCIWDhXwgCkIyiSAKQi6JhSAKQheJhXx8IBRBoI0CaikDAHwiC3wiCTcDECADIAQgBSAGhIMgBSAGg4QgC3wgBEIkiSAEQh6JhSAEQhmJhXwiCzcDMCADIAggAiABQRByIhRqIhspAwB8IBRBoI0CaikDAHwgByAJIAcgCoWDhXwgCUIyiSAJQi6JhSAJQheJhXwiDCALIAQgBYSDIAQgBYOEIAtCJIkgC0IeiYUgC0IZiYV8fCIINwMoIAMgBiAMfCIGNwMIIAMgByACIAFBGHIiFGoiHCkDAHwgFEGgjQJqKQMAfCAGIAkgCoWDIAqFfCAGQjKJIAZCLomFIAZCF4mFfCIMIAggBCALhIMgBCALg4QgCEIkiSAIQh6JhSAIQhmJhXx8Igc3AyAgAyAFIAx8IgU3AwAgAyACIAFBIHIiFGoiHSkDACAKfCAUQaCNAmopAwB8IAUgBiAJhYMgCYV8IAVCMokgBUIuiYUgBUIXiYV8IgwgByAIIAuEgyAIIAuDhCAHQiSJIAdCHomFIAdCGYmFfHwiCjcDGCADIAQgDHwiDDcDOCADIAIgAUEociIUaiIeKQMAIAl8IBRBoI0CaikDAHwgDCAFIAaFgyAGhXwgDEIyiSAMQi6JhSAMQheJhXwiCSAKIAcgCISDIAcgCIOEIApCJIkgCkIeiYUgCkIZiYV8fCIENwMQIAMgCSALfCIJNwMwIAMgAiABQTByIhRqIh8pAwAgBnwgFEGgjQJqKQMAfCAJIAUgDIWDIAWFfCAJQjKJIAlCLomFIAlCF4mFfCIGIAQgByAKhIMgByAKg4QgBEIkiSAEQh6JhSAEQhmJhXx8Igs3AwggAyAGIAh8IgY3AyggAyACIAFBOHIiFGoiICkDACAFfCAUQaCNAmopAwB8IAYgCSAMhYMgDIV8IAZCMokgBkIuiYUgBkIXiYV8IgUgCyAEIAqEgyAEIAqDhCALQiSJIAtCHomFIAtCGYmFfHwiCDcDACADIAUgB3wiBTcDICADIAIgAUHAAHIiFGoiISkDACAMfCAUQaCNAmopAwB8IAUgBiAJhYMgCYV8IAVCMokgBUIuiYUgBUIXiYV8IgwgCCAEIAuEgyAEIAuDhCAIQiSJIAhCHomFIAhCGYmFfHwiBzcDOCADIAogDHwiDDcDGCADIAIgAUHIAHIiFGoiIikDACAJfCAUQaCNAmopAwB8IAwgBSAGhYMgBoV8IAxCMokgDEIuiYUgDEIXiYV8IgkgByAIIAuEgyAIIAuDhCAHQiSJIAdCHomFIAdCGYmFfHwiCjcDMCADIAQgCXwiCTcDECADIAYgAiABQdAAciIUaiIjKQMAfCAUQaCNAmopAwB8IAkgBSAMhYMgBYV8IAlCMokgCUIuiYUgCUIXiYV8IgYgCiAHIAiEgyAHIAiDhCAKQiSJIApCHomFIApCGYmFfHwiBDcDKCADIAYgC3wiBjcDCCADIAFB2AByIhRBoI0CaikDACACIBRqIhQpAwB8IAV8IAYgCSAMhYMgDIV8IAZCMokgBkIuiYUgBkIXiYV8IgUgBCAHIAqEgyAHIAqDhCAEQiSJIARCHomFIARCGYmFfHwiCzcDICADIAUgCHwiCDcDACADIAFB4AByIhdBoI0CaikDACACIBdqIhcpAwB8IAx8IAggBiAJhYMgCYV8IAhCMokgCEIuiYUgCEIXiYV8IgwgCyAEIAqEgyAEIAqDhCALQiSJIAtCHomFIAtCGYmFfHwiBTcDGCADIAcgDHwiBzcDOCADIAFB6AByIhhBoI0CaikDACACIBhqIhgpAwB8IAl8IAcgBiAIhYMgBoV8IAdCMokgB0IuiYUgB0IXiYV8IgwgBSAEIAuEgyAEIAuDhCAFQiSJIAVCHomFIAVCGYmFfHwiCTcDECADIAogDHwiCjcDMCADIAFB8AByIhlBoI0CaikDACACIBlqIhkpAwB8IAZ8IAogByAIhYMgCIV8IApCMokgCkIuiYUgCkIXiYV8IgwgCSAFIAuEgyAFIAuDhCAJQiSJIAlCHomFIAlCGYmFfHwiBjcDCCADIAQgDHwiBDcDKCADIAFB+AByIgFBoI0CaikDACABIAJqIgEpAwB8IAh8IAQgByAKhYMgB4V8IARCMokgBEIuiYUgBEIXiYV8IgQgBiAFIAmEgyAFIAmDhCAGQiSJIAZCHomFIAZCGYmFfHwiCDcDACADIAQgC3w3AyAgFkHAAEZFBEAgAiAWQRBqIhZBA3RqIBUpAwAgIikDACIHIBkpAwAiBEItiSAEQgOJhSAEQgaIhXx8IBopAwAiCEI/iSAIQjiJhSAIQgeIhXwiCzcDACAVIAggIykDACIKfCABKQMAIghCLYkgCEIDiYUgCEIGiIV8IBspAwAiBkI/iSAGQjiJhSAGQgeIhXwiBTcDiAEgFSAGIBQpAwAiCXwgC0ItiSALQgOJhSALQgaIhXwgHCkDACINQj+JIA1COImFIA1CB4iFfCIGNwOQASAVIA0gFykDACIMfCAFQi2JIAVCA4mFIAVCBoiFfCAdKQMAIg5CP4kgDkI4iYUgDkIHiIV8Ig03A5gBIBUgDiAYKQMAIhJ8IAZCLYkgBkIDiYUgBkIGiIV8IB4pAwAiD0I/iSAPQjiJhSAPQgeIhXwiDjcDoAEgFSAEIA98IA1CLYkgDUIDiYUgDUIGiIV8IB8pAwAiEEI/iSAQQjiJhSAQQgeIhXwiDzcDqAEgFSAIIBB8ICApAwAiEUI/iSARQjiJhSARQgeIhXwgDkItiSAOQgOJhSAOQgaIhXwiEDcDsAEgFSAhKQMAIhMgBSAHQj+JIAdCOImFIAdCB4iFfHwgEEItiSAQQgOJhSAQQgaIhXwiBTcDwAEgFSALIBF8IBNCP4kgE0I4iYUgE0IHiIV8IA9CLYkgD0IDiYUgD0IGiIV8IhE3A7gBIBUgCiAJQj+JIAlCOImFIAlCB4iFfCANfCAFQi2JIAVCA4mFIAVCBoiFfCINNwPQASAVIAcgCkI/iSAKQjiJhSAKQgeIhXwgBnwgEUItiSARQgOJhSARQgaIhXwiBzcDyAEgFSAMIBJCP4kgEkI4iYUgEkIHiIV8IA98IA1CLYkgDUIDiYUgDUIGiIV8Igo3A+ABIBUgCSAMQj+JIAxCOImFIAxCB4iFfCAOfCAHQi2JIAdCA4mFIAdCBoiFfCIHNwPYASAVIAQgCEI/iSAIQjiJhSAIQgeIhXwgEXwgCkItiSAKQgOJhSAKQgaIhXw3A/ABIBUgEiAEQj+JIARCOImFIARCB4iFfCAQfCAHQi2JIAdCA4mFIAdCBoiFfCIENwPoASAVIAggC0I/iSALQjiJhSALQgeIhXwgBXwgBEItiSAEQgOJhSAEQgaIhXw3A/gBDAELCyAAIAApAwAgCHw3AwAgACAAKQMIIAMpAwh8NwMIIAAgACkDECADKQMQfDcDECAAIAApAxggAykDGHw3AxggACAAKQMgIAMpAyB8NwMgIAAgACkDKCADKQMofDcDKCAAIAApAzAgAykDMHw3AzAgACAAKQM4IAMpAzh8NwM4CycAIAJCgICAgBBaBEAQDQALIAAgASACIANBACAEQaSXAigCABEQAAsnACACQoCAgIAQWgRAEA0ACyAAIAEgAiADQgAgBEGglwIoAgARCwALogkBMX8jAEFAaiEJIAAoAjwhHSAAKAI4IR4gACgCNCESIAAoAjAhEyAAKAIsIR8gACgCKCEgIAAoAiQhISAAKAIgISIgACgCHCEjIAAoAhghJCAAKAIUISUgACgCECEmIAAoAgwhJyAAKAIIISggACgCBCEpIAAoAgAhKgNAAkAgA0I/VgRAIAIhBQwBCyAJQgA3AzggCUIANwMwIAlCADcDKCAJQgA3AyAgCUIANwMYIAlCADcDECAJQgA3AwggCUIANwMAQQAhBCADQgBSBEADQCAEIAlqIAEgBGotAAA6AAAgAyAEQQFqIgStVg0ACwsgCSIFIQEgAiErC0EUIRYgKiEIICkhCiAoIQ4gJyEUICYhBCAlIQIgJCEGICMhByAiIQsgISEPICAhDCAdIRAgHiEXIBIhGCATIQ0gHyERA0AgBCAEIAhqIgQgDXNBEHciCCALaiILc0EMdyINIARqIhUgCHNBCHciCCALaiILIA1zQQd3IgQgByAHIBRqIgcgEHNBEHciECARaiINc0EMdyIRIAdqIgdqIhQgBiAGIA5qIgYgF3NBEHciDiAMaiIMc0EMdyIZIAZqIgYgDnNBCHciGnNBEHciDiACIAIgCmoiAiAYc0EQdyIKIA9qIg9zQQx3IhsgAmoiAiAKc0EIdyIKIA9qIhxqIg8gBHNBDHciBCAUaiIUIA5zQQh3IhcgD2oiDyAEc0EHdyEEIAsgCiAGIAcgEHNBCHciECANaiIGIBFzQQd3IgdqIgpzQRB3IgtqIg0gB3NBDHciByAKaiIOIAtzQQh3IhggDWoiCyAHc0EHdyEHIAYgCCACIAwgGmoiAiAZc0EHdyIGaiIIc0EQdyIMaiIRIAZzQQx3IgYgCGoiCiAMc0EIdyINIBFqIhEgBnNBB3chBiACIBsgHHNBB3ciAiAVaiIIIBBzQRB3IgxqIhUgAnNBDHciAiAIaiIIIAxzQQh3IhAgFWoiDCACc0EHdyECIBZBAmsiFg0ACyABKAAEIRYgASgACCEVIAEoAAwhGSABKAAQIRogASgAFCEbIAEoABghHCABKAAcISwgASgAICEtIAEoACQhLiABKAAoIS8gASgALCEwIAEoADAhMSABKAA0ITIgASgAOCEzIAEoADwhNCAFIAEoAAAgCCAqanM2AAAgBSA0IBAgHWpzNgA8IAUgMyAXIB5qczYAOCAFIDIgEiAYanM2ADQgBSAxIA0gE2pzNgAwIAUgMCARIB9qczYALCAFIC8gDCAganM2ACggBSAuIA8gIWpzNgAkIAUgLSALICJqczYAICAFICwgByAjanM2ABwgBSAcIAYgJGpzNgAYIAUgGyACICVqczYAFCAFIBogBCAmanM2ABAgBSAZIBQgJ2pzNgAMIAUgFSAOIChqczYACCAFIBYgCiApanM2AAQgEiATQQFqIhNFaiESIANCwABYBEACQCADQj9WDQAgA6ciAUUNAEEAIQQDQCAEICtqIAQgBWotAAA6AAAgBEEBaiIEIAFJDQALCyAAIBI2AjQgACATNgIwBSABQUBrIQEgBUFAayECIANCQHwhAwwBCwsL5AUBJH8CfyADRQRAQfTKgdkGIRFB5fDBiwYhEkGy2ojLByETQe7IgZkDDAELIAMoAAwhESADKAAIIRMgAygAACESIAMoAAQLIRUgAigAFCIZIQMgAigAGCIaIQ0gAigAHCIbIRQgESEFIAIoABAiHCEMIBMhBiABKAAMIh0hCiABKAAIIh4hDiABKAAEIh8hDyABKAAAIiAhASAVIQcgAigADCIhIQsgAigACCIiIQggAigABCIjIRAgAigAACIkIQIgEiEJIARBAEoEQANAIAIgB2pBB3cgCnMiFiAHakEJdyANcyImIAMgCWpBB3cgC3MiFyAJakEJdyAOcyInIBdqQQ13IANzIiggCCAFIAxqQQd3cyIYIAVqQQl3IA9zIgsgGGpBDXcgDHMiCCALakESdyAFcyIFIAEgBmpBB3cgFHMiCmpBB3dzIgMgBWpBCXdzIg0gA2pBDXcgCnMiFCANakESdyAFcyEFIAggCiAGIApqQQl3IBBzIghqQQ13IAFzIgEgCGpBEncgBnMiBiAWakEHd3MiDCAGakEJdyAncyIOIAxqQQ13IBZzIgogDmpBEncgBnMhBiAmIBYgJmpBDXcgAnMiAmpBEncgB3MiByAXakEHdyABcyIBIAdqQQl3IAtzIg8gAWpBDXcgF3MiCyAPakESdyAHcyEHICcgKGpBEncgCXMiCSAYakEHdyACcyICIAlqQQl3IAhzIhAgAmpBDXcgGHMiCCAQakESdyAJcyEJICVBAmoiJSAESA0ACwsgACAFIBFqNgA8IAAgFCAbajYAOCAAIA0gGmo2ADQgACADIBlqNgAwIAAgDCAcajYALCAAIAYgE2o2ACggACAKIB1qNgAkIAAgDiAeajYAICAAIA8gH2o2ABwgACABICBqNgAYIAAgByAVajYAFCAAIAsgIWo2ABAgACAIICJqNgAMIAAgECAjajYACCAAIAIgJGo2AAQgACAJIBJqNgAAC7YJARV/IwBBwAJrIgMkACADQfABaiIEIAIQBSAEIAQgAhAGIAAgBBAFIAAgACACEAYgACAAIAEQBiAAIAAQaSAAIAAgBBAGIAAgACABEAYgA0HAAWoiBCAAEAUgBCAEIAIQBiABKAIEIQUgASgCCCENIAEoAgwhDiABKAIQIQ8gASgCFCEQIAEoAhghESABKAIcIRIgASgCICETIAEoAgAhFCADKALAASECIAMoAsQBIQQgAygCyAEhBiADKALMASEHIAMoAtABIQggAygC1AEhCSADKALYASEKIAMoAtwBIQsgAygC4AEhDCADIAMoAuQBIhUgASgCJCIWazYCtAEgAyAMIBNrNgKwASADIAsgEms2AqwBIAMgCiARazYCqAEg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DiACIAggABARIAYgAiADEAYgByAEIAUQBiAJIAUgAxAGIAogAiAEEAYgAUHgDWogBhAOIAFCADcDICABQgA3AxggAUIANwMQIAFCADcDCCABQgA3AiwgAUIANwI0IAFCADcCPCABQgA3AkQgAUKAgICAEDcCTCABQgA3AwAgAUEBNgIoIAFB1ABqQQBBzAAQDBogAUH4AGohCCABQdAAaiEMIAFBKGohDUH8ASEAA0AgASABKQMgNwOoDyABIAEpAxg3A6APIAEgASkDEDcDmA8gASABKQMINwOQDyABIAEpAwA3A4gPIAEgASkDSDcD0A8gASABKQNANwPIDyABIAEpAzg3A8APIAEgASkDMDcDuA8gASABKQMoNwOwDyABIAEpA1A3A9gPIAEgASkDWDcD4A8gASABKQNgNwPoDyABIAEpA2g3A/APIAEgASkDcDcD+A8gACICQcCHAmosAAAhACABQeADaiABQYgPahAXAkAgAEEASgRAIAFBwAJqIgsgAUHgA2oiBiADEAYgByAEIAUQBiAJIAUgAxAGIAogBiAEEAYgBiALIAFBgAVqIABB/gFxQQF2QaABbGoQEQwBCyAAQQBODQAgAUHAAmoiCyABQeADaiIGIAMQBiAHIAQgBRAGIAkgBSADEAYgCiAGIAQQBiAGIAsgAUGABWpBACAAa0H+AXFBAXZBoAFsahBQCyABIAFB4ANqIgAgAxAGIA0gBCAFEAYgDCAFIAMQBiAIIAAgBBAGIAJBAWshACACDQALIAFBgAVqIgAgARAPIABBIBAYIQAgAUGAEGokACAAC+AJAR5/IAEoAighAyABKAIEIQQgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEOIAFBQGsiDygCACEQIAEoAhwhESABKAJEIRIgASgCICETIAEoAkghFCABKAIAIRUgACABKAIkIAEoAkxqNgIkIAAgEyAUajYCICAAIBEgEmo2AhwgACAOIBBqNgIYIAAgDCANajYCFCAAIAogC2o2AhAgACAIIAlqNgIMIAAgBiAHajYCCCAAIAQgBWo2AgQgACADIBVqNgIAIAEoAighBSABKAIEIQMgASgCLCEGIAEoAgghByABKAIwIQggASgCDCEJIAEoAjQhCiABKAIQIQsgASgCOCEMIAEoAhQhDSABKAI8IQ4gASgCGCEQIA8oAgAhDyABKAIcIQQgASgCRCERIAEoAiAhEiABKAJIIRMgASgCACEUIAAgASgCTCABKAIkazYCTCAAIBMgEms2AkggACARIARrNgJEIABBQGsiBCAPIBBrNgIAIAAgDiANazYCPCAAIAwgC2s2AjggACAKIAlrNgI0IAAgCCAHazYCMCAAIAYgA2s2AiwgAEEoaiIDIAUgFGs2AgAgAEHQAGogACACEAYgAyADIAJBKGoQBiAAQfgAaiACQdAAaiABQfgAahAGIAEoAlAhFSABKAJUIRYgASgCWCEXIAEoAlwhGCABKAJgIRkgASgCZCEaIAEoAmghGyABKAJsIRwgASgCcCEdIAEoAnQhHiADKAIAIQEgACgCUCECIAAoAiwhBSAAKAJUIQYgACgCMCEHIAAoAlghCCAAKAI0IQkgACgCXCEKIAAoAjghCyAAKAJgIQwgACgCPCENIAAoAmQhDiAEKAIAIQ8gACgCaCEQIAAoAkQhESAAKAJsIRIgACgCSCETIAAoAnAhFCAAIAAoAkwiHyAAKAJ0IiBqNgJMIAAgEyAUajYCSCAAIBEgEmo2AkQgBCAPIBBqNgIAIAAgDSAOajYCPCAAIAsgDGo2AjggACAJIApqNgI0IAAgByAIajYCMCAAIAUgBmo2AiwgAyABIAJqNgIAIAAgICAfazYCJCAAIBQgE2s2AiAgACASIBFrNgIcIAAgECAPazYCGCAAIA4gDWs2AhQgACAMIAtrNgIQIAAgCiAJazYCDCAAIAggB2s2AgggACAGIAVrNgIEIAAgAiABazYCACAAIB5BAXQiASAAKAKcASICazYCnAEgACAdQQF0IgMgACgCmAEiBGs2ApgBIAAgHEEBdCIFIAAoApQBIgZrNgKUASAAIBtBAXQiByAAKAKQASIIazYCkAEgACAaQQF0IgkgACgCjAEiCms2AowBIAAgGUEBdCILIAAoAogBIgxrNgKIASAAIBhBAXQiDSAAKAKEASIOazYChAEgACAXQQF0Ig8gACgCgAEiEGs2AoABIAAgFkEBdCIRIAAoAnwiEms2AnwgACAVQQF0IhMgACgCeCIUazYCeCAAIAMgBGo2AnAgACAFIAZqNgJsIAAgByAIajYCaCAAIAkgCmo2AmQgACALIAxqNgJgIAAgDSAOajYCXCAAIA8gEGo2AlggACARIBJqNgJUIAAgEyAUajYCUCAAIAEgAmo2AnQLrggBA38jAEGQAWsiAyQAIANB4ABqIgQgARAFIANBMGoiAiAEEAUgAiACEAUgAiABIAIQBiAEIAQgAhAGIAQgBBAFIAQgAiAEEAYgAiAEEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgBCACIAQQBiACIAQQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIgBBAGIAMgAhAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAIgAyACEAYgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgBCACIAQQBiACIAQQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIgBBAGIAMgAhAFQQEhAgNAIAMgAxAFIAJBAWoiAkHkAEcNAAsgA0EwaiICIAMgAhAGIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAF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AYkiAyABKQMgIg8gASkDACIKfCAKQgGGQv7///8fgyAPQv////8Pg358IgogASkDYIVCIIkiECABQUBrIhYpAwAiE3wgE0IBhkL+////H4MgEEL/////D4N+fCITIA+FQiiJIg8gCnwgD0L/////D4MgCkIBhkL+////H4N+fCIKfCADQv////8PgyAKQgGGQv7///8fg358IgmFQiCJIhQgASkDMCIRIAEpAxAiDXwgDUIBhkL+////H4MgEUL/////D4N+fCINIAEpA3CFQiCJIhIgASkDUCIOfCAOQgGGQv7///8fgyASQv////8Pg358Ig4gEYVCKIkiESANfCARQv////8PgyANQgGGQv7///8fg358Ig0gEoVCMIkiEiAOfCASQv////8PgyAOQgGGQv7///8fg358Ig58IBRC/////w+DIA5CAYZC/v///x+DfnwiFSADhUIoiSIDIAl8IANC/////w+DIAlCAYZC/v///x+DfnwiCTcDACABIAkgFIVCMIkiCTcDeCABIAkgFXwgCUL/////D4MgFUIBhkL+////H4N+fCIJNwNQIAEgAyAJhUIBiTcDKCABIAQgBXwgBEL/////D4MgBUIBhkL+////H4N+fCIEIA4gEYVCAYkiBSAIfCAFQv////8PgyAIQgGGQv7///8fg358IgMgCiAQhUIwiSIIhUIgiSIKfCAEQgGGQv7///8fgyAKQv////8Pg358IhAgBYVCKIkiBSADfCAFQv////8PgyADQgGGQv7///8fg358IgkgCoVCMIkiAzcDYCABIAk3AwggASAFIAMgEHwgA0L/////D4MgEEIBhkL+////H4N+fCIFhUIBiTcDMCABIAU3A1ggASAEIAaFQgGJIgYgDXwgBkL/////D4MgDUIBhkL+////H4N+fCIEIAuFQiCJIgUgCCATfCAIQv////8PgyATQgGGQv7///8fg358IgN8IAVC/////w+DIANCAYZC/v///x+DfnwiCCAGhUIoiSIGIAR8IAZC/////w+DIARCAYZC/v///x+DfnwiBDcDECABIAQgBYVCMIkiBDcDaCAWIAQgCHwgBEL/////D4MgCEIBhkL+////H4N+fCIINwMAIAEgByADIA+FQgGJIgR8IAdCAYZC/v///x+DIARC/////w+DfnwiByAShUIgiSIFIAx8IAVC/////w+DIAxCAYZC/v///x+DfnwiAyAEhUIoiSIEIAd8IARC/////w+DIAdCAYZC/v///x+DfnwiCyAFhUIwiSIHIAN8IAdC/////w+DIANCAYZC/v///x+DfnwiBTcDSCABIAc3A3AgASALNwMYIAEgBiAIhUIBiTcDOCABIAQgBYVCAYk3AyAgAEEBaiIAQQhHDQALQQAhAANAIBhBgAhqIABBBHRqIgEgASkDiAMiBiABKQOIASIHfCAHQgGGQv7///8fgyAGQv////8Pg358IgcgASkDiAeFQiCJIgQgASkDiAUiBXwgBUIBhkL+////H4MgBEL/////D4N+fCIFIAaFQiiJIgYgB3wgBkL/////D4MgB0IBhkL+////H4N+fCIHIASFQjCJIgQgASkDiAIiAyABKQMIIgh8IAhCAYZC/v///x+DIANC/////w+DfnwiCCABKQOIBoVCIIkiCyABKQOIBCIMfCAMQgGGQv7///8fgyALQv////8Pg358IgwgA4VCKIkiAyAIfCADQv////8PgyAIQgGGQv7///8fg358IgggC4VCMIkiCyAMfCALQv////8PgyAMQgGGQv7///8fg358IgwgA4VCAYkiAyABKQOAAiIPIAEpAwAiCnwgCkIBhkL+////H4MgD0L/////D4N+fCIKIAEpA4AGhUIgiSIQIAEpA4AEIhN8IBNCAYZC/v///x+DIBBC/////w+DfnwiEyAPhUIoiSIPIAp8IA9C/////w+DIApCAYZC/v///x+DfnwiCnwgA0L/////D4MgCkIBhkL+////H4N+fCIJhUIgiSIUIAEpA4ADIhEgASkDgAEiDXwgDUIBhkL+////H4MgEUL/////D4N+fCINIAEpA4AHhUIgiSISIAEpA4AFIg58IA5CAYZC/v///x+DIBJC/////w+DfnwiDiARhUIoiSIRIA18IBFC/////w+DIA1CAYZC/v///x+DfnwiDSAShUIwiSISIA58IBJC/////w+DIA5CAYZC/v///x+DfnwiDnwgFEL/////D4MgDkIBhkL+////H4N+fCIVIAOFQiiJIgMgCXwgA0L/////D4MgCUIBhkL+////H4N+fCIJNwMAIAEgCSAUhUIwiSIJNwOIByABIAkgFXwgCUL/////D4MgFUIBhkL+////H4N+fCIJNwOABSABIAMgCYVCAYk3A4gCIAEgBCAFfCAEQv////8PgyAFQgGGQv7///8fg358IgQgDiARhUIBiSIFIAh8IAVC/////w+DIAhCAYZC/v///x+DfnwiAyAKIBCFQjCJIgiFQiCJIgp8IARCAYZC/v///x+DIApC/////w+DfnwiECAFhUIoiSIFIAN8IAVC/////w+DIANCAYZC/v///x+DfnwiCSAKhUIwiSIDNwOABiABIAk3AwggASADIBB8IANC/////w+DIBBCAYZC/v///x+DfnwiAzcDiAUgASADIAWFQgGJNwOAAyABIAQgBoVCAYkiBiANfCAGQv////8PgyANQgGGQv7///8fg358IgQgC4VCIIkiBSAIIBN8IAhC/////w+DIBNCAYZC/v///x+DfnwiA3wgBUL/////D4MgA0IBhkL+////H4N+fCIIIAaFQiiJIgYgBHwgBkL/////D4MgBEIBhkL+////H4N+fCILIAWFQjCJIgQ3A4gGIAEgCzcDgAEgASAEIAh8IARC/////w+DIAhCAYZC/v///x+DfnwiBDcDgAQgASAEIAaFQgGJNwOIAyABIAcgAyAPhUIBiSIGfCAHQgGGQv7///8fgyAGQv////8Pg358IgcgEoVCIIkiBCAMfCAEQv////8PgyAMQgGGQv7///8fg358IgUgBoVCKIkiBiAHfCAGQv////8PgyAHQgGGQv7///8fg358IgMgBIVCMIkiBzcDgAcgASADNwOIASABIAUgB3wgB0L/////D4MgBUIBhkL+////H4N+fCIHNwOIBCABIAYgB4VCAYk3A4ACIABBAWoiAEEIRw0ACyACIBhBgAgQCiEBQQAhAANAIAEgAEEDdCICaiIWIBYpAwAgGEGACGoiGSACaikDAIU3AwAgASACQQhyIhZqIhcgFykDACAWIBlqKQMAhTcDACABIAJBEHIiFmoiFyAXKQMAIBhBgAhqIBZqKQMAhTcDACABIAJBGHIiAmoiFiAWKQMAIBhBgAhqIAJqKQMAhTcDACAAQQRqIgBBgAFHDQALIBhBgBBqJAALygQBAn8jACIEIQUgBEHABGtBQHEiBCQAIAQgATYCvAECQCABQcAATQRAIARBwAFqQQBBACABEEZBAEgNASAEQcABaiAEQbwBakIEEBZBAEgNASAEQcAB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gAJUDQAaQRYgAEKAgIAEVA0AGkEXIABCgICACFQNABpBGCAAQoCAgBBUDQAaQRkgAEKAgIAgVA0AGkEaIABCgICAwABUDQAaQRsgAEKAgICAAVQNABpBHCAAQoCAgIACVA0AGkEdIABCgICAgARUDQAaQR4gAEKAgICACFQNABpBHyAAQoCAgIAQVA0AGkEgIABCgICAgCBUDQAaQSEgAEKAgICAwABUDQAaQSIgAEKAgICAgAFUDQAaQSMgAEKAgICAgAJUDQAaQSQgAEKAgICAgARUDQAaQSUgAEKAgICAgAhUDQAaQSYgAEKAgICAgBBUDQAaQScgAEKAgICAgCBUDQAaQSggAEKAgICAgMAAVA0AGkEpIABCgICAgICAAVQNABpBKiAAQoCAgICAgAJUDQAaQSsgAEKAgICAgIAEVA0AGkEsIABCgICAgICACFQNABpBLSAAQoCAgICAgBBUDQAaQS4gAEKAgICAgIAgVA0AGkEvIABCgICAgICAwABUDQAaQTAgAEKAgICAgICAAVQNABpBMSAAQoCAgICAgIACVA0AGkEyIABCgICAgICAgARUDQAaQTMgAEKAgICAgICACFQNABpBNCAAQoCAgICAgIAQVA0AGkE1IABCgICAgICAgCBUDQAaQTYgAEKAgICAgICAwABUDQAaQTcgAEKAgICAgICAgAFUDQAaQTggAEKAgICAgICAgAJUDQAaQTkgAEKAgICAgICAgARUDQAaQTogAEKAgICAgICAgAhUDQAaQTsgAEKAgICAgICAgBBUDQAaQTwgAEKAgICAgICAgCBUDQAaQT0gAEKAgICAgICAgMAAVA0AGkE+QT8gAEIAWRsLNgIAC2oBBX8DQCAAIANqIgIgAi0AACABIANqLQAAayAEaiICOgAAIAAgA0EBciIEaiIGIAYtAAAgASAEai0AAGsgAkEXdEEfdWoiAjoAACACQRd0QR91IQQgA0ECaiEDIAVBAmoiBUHAAEcNAAsLDQAgACABIAIQHxpBAAsNACAAIAEgAhATGkEAC60iAjh+BX8jAEGwBGsiPyQAID9B4AJqEC0aIAUEQCA/QeACakGwkwJCIhATGgsgP0GgAmogBEIgED0aID9B4AJqIkEgP0HAAmpCIBATGiBBIAIgAxATGiBBID9B4AFqIj4QHBogBCkAICEIIAQpACgh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BkcNAAsgC0EBaiILIANHDQALIAYgCEUNARogDEEMIARrdEE/cSICQeb/A2pBCHYiAyACQcEAanEhCiACQfwBaiACQcL/A2pBCHZxIAJBzP8DakEIdiIEQX9zcSEFIAJBxwBqIANBf3NxIARxIQggAkHB/wBqIQMgAkHB/wBzQQFqQX9zQQh2QStxIQRBLwshAiAAIAZqIAIgA0F/c0EIdnEgCnIgBXIgBHIgCHI6AAAgBkEBagshBQJAAkAgBSAJTQRAIAUgCUkNASAFIQkMAgtB0AhBsQlB5gFB4QsQAQALIAAgBWpBPSAJIAVrEAwaCyAAIAlqQQAgASAJQQFqIgIgASACSxsgCWsQDBogAAteAQF/IwBBQGoiAyQAIAMgAkIgED0aIAEgAykDGDcAGCABIAMpAxA3ABAgASADKQMINwAIIAEgAykDADcAACADQcAAEAggACABQYyXAigCABEAACEAIANBQGskACAAC3sBAn8jAEEgayIFJABBfyEGAkAgAkIgVA0AIAVCICADIAQQ4QEaIAFBEGogAUEgaiACQiB9IAVB+JYCKAIAEQ0ADQAgACABIAIgAyAEEIUBGiAAQgA3ABggAEIANwAQIABCADcACCAAQgA3AABBACEGCyAFQSBqJAAgBgtHACACQiBaBH8gACABIAIgAyAEEIUBGiAAQRBqIABBIGogAkIgfSAAQfSWAigCABENABogAEIANwAIIABCADcAAEEABUF/CwtCAQF/IwBBIGsiBSQAIAUgAyAEQQAQKhogACABIAIgA0EQakIAIAVBlJcCKAIAEQsAIQAgBUEgEAggBUEgaiQAIAALEAAgACABQYyXAigCABEAAAvSDwEkfyMAQfAEayICJAAgAkHgA2oiAyABEAUgA0HwDCADEAYgAiACKAKEBCIHNgKUAiACIAIoAoAEIgg2ApACIAIgAigC/AMiCTYCjAIgAiACKAL4AyIKNgKIAiACIAIoAvQDIgs2AoQCIAIgAigC8AMiDDYCgAIgAiACKALsAyINNgL8ASACIAIoAugDIg42AvgBIAIgAigC5AMiBTYC9AEgAiACKALgAyIGQQFqNgLwASACQfABaiIEIARBwIkCEAYgAiAHQczk3wVrNgLUAyACIAhBgJL1CGs2AtADIAIgCUHnnMYBazYCzAMgAiAKQcSG/wJrNgLIAyACIAtB6K6YBGs2AsQDIAIgDEGpgAdqNgLAAyACIA1Bj5SoA2o2ArwDIAIgDkHDoqoHazYCuAMgAiAFQYXlzQZqNgK0AyACIAZByo6aBWs2ArADIAJBwAFqIhkgA0HADBAGIAJBACACKALkAWs2AuQBIAJBACACKALgAWs2AuABIAJBACACKALcAWs2AtwBIAJBACACKALYAWs2AtgBIAJBACACKALUAWs2AtQBIAJBACACKALQAWs2AtABIAJBACACKALMAWs2AswBIAJBACACKALIAWs2AsgBIAJBACACKALEAWs2AsQBIAIgAigCwAFBf3M2AsABIBkgGSACQbADahAGIAJBgANqIiIgBCAZEGUhAyACQdACaiIEICIgARAGIAJBwARqIiQgBBAPIAItAMAEISUgAigCpAMhGiACKAL0AiEEIAIoAqADIRsgAigC8AIhECACKAKcAyEcIAIoAuwCIREgAigCmAMhHSACKALoAiESIAIoApQDIR4gAigC5AIhEyACKAKQAyEfIAIoAuACIRQgAigCjAMhICACKALcAiEVIAIoAogDISEgAigC2AIhFiACKAKEAyEPIAIoAtQCIRcgAigCgAMhIyACKALQAiEYIAIgByADQQFrIgFxNgLkBCACIAEgCHE2AuAEIAIgASAJcTYC3AQgAiABIApxNgLYBCACIAEgC3E2AtQEIAIgASAMcTYC0AQgAiABIA1xNgLMBCACIAEgDnE2AsgEIAIgASAFcTYCxAQgAiAGQQAgA2tyNgLABCACICMgI0EAIBhBACAlQQFxayIDIBhBACAYa3Nxc2tzIAFxcyIYNgKAAyACIA8gD0EAIBcgF0EAIBdrcyADcXNrcyABcXMiFzYChAMgAiAhICFBACAWIBZBACAWa3MgA3Fza3MgAXFzIhY2AogDIAIgICAgQQAgFSAVQQAgFWtzIANxc2tzIAFxcyIVNgKMAyACIB8gH0EAIBQgFEEAIBRrcyADcXNrcyABcXMiFDYCkAMgAiAeIB5BACATIBNBACATa3MgA3Fza3MgAXFzIhM2ApQDIAIgHSAdQQAgEiASQQAgEmtzIANxc2tzIAFxcyISNgKYAyACIBwgHEEAIBEgEUEAIBFrcyADcXNrcyABcXMiETYCnAMgAiAbIBtBACAQIBBBACAQa3MgA3Fza3MgAXFzIhA2AqAD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IAQgBCkD0AU3A/AEIAQgBCkDyAU3A+gEIAQgBCkDwAU3A+AEIAQgBCkDuAU3A9gEIAQgBCkDsAU3A9AEIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAxAFIAMgAyAEQdAEaiIFEAYgBCAEKQPQBTcD8AQgBCAEKQPIBTcD6AQgBCAEKQPABTcD4AQgBCAEKQO4BTcD2AQgBCAEKQOwBTcD0AQgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADIAUQBiAEIAQpA9AFNwPwBCAEIAQpA8gFNwPoBCAEIAQpA8AFNwPgBCAEIAQpA7gFNwPYBCAEIAQpA7AFNwPQBANAIARBsAVqIgMgAxAFIAFBAWoiAUH4AEcNAAsgBEGwBWoiASABIARB0ARqEAYgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIARBgAVqEAYgASABEAUgASABEAUgASABEAUgASABIAQQBiABIAEQBSAEQbAEaiAB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AmghFSADQdAeaiINIAIpAnA3AwAgA0HIHmoiDiAVNwMAIANBwB5qIg8gFDcDACADQbgeaiIQIBM3AwAgAyASNwOwHiADQcgbaiIIIANB4B1qIhEQFyADQegSaiILIAggA0HAHGoiBBAGIANBkBNqIANB8BtqIgUgA0GYHGoiChAGIANBuBNqIAogBBAGIANB4BNqIAggBRAGIANBwAJqIgQgCxAOIANBqBpqIgggAiAEEBEgA0HIEWoiCyAIIANBoBtqIgQQBiADQfARaiADQdAaaiIFIANB+BpqIgoQBiADQZgSaiAKIAQQBiADQcASaiAIIAUQBiADQeADaiALEA4gBiADQbATaikDADcDACAHIANBqBNqKQMANwMAIAkgA0GgE2opAwA3AwAgDCADQZgTaikDADcDACADIAMpA4gTNwOAHiADIAMpA4ATNwP4HSADIAMpA/gSNwPwHSADIAMpA/ASNwPoHSADIAMpA+gSNwPgHSADIAMpA5ATNwOIHiAQIANBwBNqKQMANwMAIA8gA0HIE2opAwA3AwAgDiADQdATaikDADcDACANIANB2BNqKQMANwMAIAMgAykDuBM3A7AeIANBiBlqIgggERAXIANBqBBqIgsgCCADQYAaaiIEEAYgA0HQEGogA0GwGWoiBSADQdgZaiIKEAYgA0H4EGogCiAEEAYgA0GgEWogCCAFEAYgA0GABWoiBCALEA4gA0HoF2oiCCACIAQQESADQYgPaiILIAggA0HgGGoiBBAGIANBsA9qIANBkBhqIgUgA0G4GGoiChAGIANB2A9qIAogBBAGIANBgBBqIAggBRAGIANBoAZqIAsQDiAGIANBkBJqKQMANwMAIAcgA0GIEmopAwA3AwAgCSADQYASaikDADcDACAMIANB+BFqKQMANwMAIAMgAykD6BE3A4AeIAMgAykD4BE3A/gdIAMgAykD2BE3A/AdIAMgAykD0BE3A+gdIAMgAykDyBE3A+AdIAMgAykD8BE3A4geIBAgA0GgEmopAwA3AwAgDyADQagSaikDADcDACAOIANBsBJqKQMANwMAIA0gA0G4EmopAwA3AwAgAyADKQOYEjcDsB4gA0HIFmoiCCAREBcgA0HoDWoiCyAIIANBwBdqIgQQBiADQZAOaiADQfAWaiIFIANBmBdqIgoQBiADQbgOaiAKIAQQBiADQeAOaiAIIAUQBiADQcAHaiIEIAsQDiADQagVaiIKIAIgBBARIANByAxqIgggCiADQaAWaiICEAYgA0HwDGogA0HQFWoiBCADQfgVaiIFEAYgA0GYDWogBSACEAYgA0HADWogCiAEEAYgA0HgCGogCBAOIAYgA0HwEGopAwA3AwAgByADQegQaikDADcDACAJIANB4BBqKQMANwMAIAwgA0HYEGopAwA3AwAgAyADKQPIEDcDgB4gAyADKQPAEDcD+B0gAyADKQO4EDcD8B0gAyADKQOwEDcD6B0gAyADKQOoEDcD4B0gAyADKQPQEDcDiB4gECADQYARaikDADcDACAPIANBiBFqKQMANwMAIA4gA0GQEWopAwA3AwAgDSADQZgRaikDADcDACADIAMpA/gQNwOwHiADQYgUaiIEIBEQFyADQagLaiIJIAQgA0GAFWoiAhAGIANB0AtqIANBsBRqIgYgA0HYFGoiBxAGIANB+AtqIAcgAhAGIANBoAxqIAQgBhAGIANBgApqIAkQDkEAIQZBACECA0AgA0GAH2oiBCACQQF0aiIHIAEgAmotAAAiCUEEdjoAASAHIAlBD3E6AAAgAkEBciIHQQF0IARqIgkgASAHai0AACIHQQR2OgABIAkgB0EPcToAACACQQJqIgJBIEcNAAtBACEBA0AgA0GAH2ogBmoiAiACLQAAIAFqIgEgAUEIaiIBQfABcWs6AAAgAiACLQABIAHAQQR1aiIBIAFBCGoiAUHwAXFrOgABIAIgAi0AAiABwEEEdWoiASABQQhqIgFB8AFxazoAAiABwEEEdSEBIAZBA2oiBkE/Rw0ACyADIAMtAL8fIAFqOgC/HyAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AgggAEIANwIAIABCADcCLCAAQShqIg1BATYCACAAQgA3AjQgAEIANwI8IABCADcCRCAAQoCAgIAQNwJMIABB1ABqQQBBzAAQDBogAEH4AGohDiAAQdAAaiEPIANBuB1qIQcgA0GwHmohASADQYgeaiEGIANBkB1qIQkgA0HYHmohAkE/IQwDQCADIANBoAFqIANBgB9qIAxqLAAAEI0BIANB4B1qIgQgACADEBEgA0HoHGoiBSAEIAIQBiAJIAYgARAGIAcgASACEAYgBCAFEBcgBSAEIAIQBiAJIAYgARAG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IABBACAAKAIEazYCBAsgAEH4AGogACAGEAZBACEHCyACQcACaiQAIAcLKQEBfyMAQRBrIgAkACAAQQA6AA9BzJcCIABBD2pBABAAGiAAQRBqJAALBQBBgAILEAAgACABQYSXAigCABEAAAsQACAAIAFB/JYCKAIAEQAAC4wBAQF/IwBBEGsiAiAANgIMIAIgATYCCEEAIQAgAkEANgIEA0AgAiACKAIEIAIoAgwgAGotAAAgAigCCCAAai0AAHNyNgIEIAIgAigCBCAAQQFyIgEgAigCDGotAAAgAigCCCABai0AAHNyNgIEIABBAmoiAEHAAEcNAAsgAigCBEEBa0EIdkEBcUEBawstAQF+IAKtIAOtQiCGhCIGQhBaBH8gACABQRBqIAEgBkIQfSAEIAUQXQVBfwsLGAAgACABIAIgA60gBK1CIIaEIAUgBhBdCxgAIAAgASACIAOtIAStQiCGhCAFIAYQSgsXACAAIAEgAq0gA61CIIaEIAQgBRCFAQsVACAAIAGtIAKtQiCGhCADIAQQ4QELcgEBfwJAIAFBBHFFDQAgACgCACIBBEAgASgCBCAAKAIQQQp0EAgLIAAoAgQiAUUNACABIAAoAhRBA3QQCAsgACgCBBAQIABBADYCBAJAIAAoAgAiAUUNACABKAIAIgJFDQAgAhAQCyABEBAgAEEANgIACxMAIAAgASACrSADrUIghoQQ7gILFQAgACABIAKtIAOtQiCGhCAEEPICCxcAIAAgASACIAOtIAStQiCGhCAFEJADCxcAIAAgASACIAOtIAStQiCGhCAFEPECCxcAIAAgASACIAOtIAStQiCGhCAFEI8DCxUAIAAgASACrSADrUIghoQgBBDjAgsfACAAIAEgAq0gA61CIIaEIAStIAWtQiCGhCAGEM8BCxoAIAAgASACrSADrUIghoRBgJcCKAIAEQEACxwAIAAgASACrSADrUIghoQgBEH4lgIoAgARDQALHAAgACABIAKtIAOtQiCGhCAEQfSWAigCABENAAsXACAAIAEgAq0gA61CIIaEIAQgBRDSAgsSACAAIAEgAq0gA61CIIaEED0LLQEBfiACrSADrUIghoQiBkIQWgR/IAAgAUEQaiABIAZCEH0gBCAFEFUFQX8LCxgAIAAgASACIAOtIAStQiCGhCAFIAYQVQsYACAAIAEgAiADrSAErUIghoQgBSAGEEcLGQAgACABIAKtIAOtQiCGhCAEIAUgBhCZAwsZACAAIAEgAq0gA61CIIaEIAQgBSAGEJoDCxIAIAAgASACrSADrUIghoQQeAsVACAAIAEgAq0gA61CIIaEIAQQzQILFQAgACABIAKtIAOtQiCGhCAEEM4CC6QHAgN/BH5BfyEIAkAgAUHBAGtBQEkNACAFQcAASw0AAn8gAUH/AXEhCCAFQf8BcSEFIwAiASEJIAFBgARrQUBxIgEkAAJAIAJFIANCAFJxDQAgAEUNACAIQcEAa0H/AXFBvwFNDQAgBEEBIAUbRQ0AIAVBwQBPDQACfyAFBEAgBEUNAgJ+IAZFBEBCn9j52cKR2oKbfyELQtGFmu/6z5SH0QAMAQsgBikACEKf2PnZwpHagpt/hSELIAYpAABC0YWa7/rPlIfRAIULIQ0CfiAHRQRAQvnC+JuRo7Pw2wAhDELr+obav7X2wR8MAQsgBykACEL5wvibkaOz8NsAhSEMIAcpAABC6/qG2r+19sEfhQshDiABQUBrQQBBpQIQDBogASAMNwM4IAEgDjcDMCABIAs3AyggASANNwMgIAFC8e30+KWn/aelfzcDGCABQqvw0/Sv7ry3PDcDECABQrvOqqbY0Ouzu383AwggASAIrSAFrUIIhoRCiJL3lf/M+YTqAIU3AwAgAUGAA2oiBiAFakEAQYABIAVrEAwaIAYgBCAFEAoaIAFB4ABqIAZBgAEQChogAUGAATYC4AIgBkGAARAIQYABDAELAn4gBkUEQEKf2PnZwpHagpt/IQtC0YWa7/rPlIfRAAwBCyAGKQAIQp/Y+dnCkdqCm3+FIQsgBikAAELRhZrv+s+Uh9EAhQshDQJ+IAdFBEBC+cL4m5Gjs/DbACEMQuv6htq/tfbBHwwBCyAHKQAIQvnC+JuRo7Pw2wCFIQwgBykAAELr+obav7X2wR+FCyEOIAFBQGtBAEGlAhAMGiABIAw3AzggASAONwMwIAEgCzcDKCABIA03AyAgAULx7fT4paf9p6V/NwMYIAFCq/DT9K/uvLc8NwMQIAFCu86qptjQ67O7fzcDCCABIAitQoiS95X/zPmE6gCFNwMAQQALIQQCQCADUA0AIAFB4AFqIQogAUHgAGohBQNAIAQgBWohB0GAAiAEayIGrSILIANaBEAgByACIAOnIgIQChogASABKALgAiACajYC4AIMAgsgByACIAYQChogASABKALgAiAGajYC4AIgASABKQNAIgxCgAF8NwNAIAEgASkDSCAMQv9+Vq18NwNIIAEgBRBJIAUgCkGAARAKGiABIAEoAuACQYABayIENgLgAiACIAZqIQIgAyALfSIDQgBSDQALCyABIAAgCBBzGiAJJABBAAwBCxANAAshCAsgCAtKAQJ/IwBBIGsiBiQAQX8hBwJAIAJCEFQNACAGIAQgBRBIDQAgACABQRBqIAEgAkIQfSADIAYQVSEHIAZBIBAICyAGQSBqJAAgBwtPAQJ/IwBBIGsiBiQAIAJC8P///w9UBEBBfyEHIAYgBCAFEEhFBEAgAEEQaiAAIAEgAiADIAYQRyEHIAZBIBAICyAGQSBqJAAgBw8LEA0ACwgAIAAgARBNCywBAX8jAEFAaiIDJAAgACADEBwaIAEgA0LAACACQQEQdCEAIANBQGskACAACy4BAX8jAEFAaiIEJAAgACAEEBwaIAEgAiAEQsAAIANBARB5IQAgBEFAayQAIAALCQAgABAtGkEACwUAQb9/C7sBAgJ/A34jAEHAAWsiAiQAIAJBIBAZIAEgAkIgED0aIAEgAS0AAEH4AXE6AAAgASABLQAfQT9xQcAAcjoAHyACQSBqIgMgARA4IAAgAxAsIAEgAikDGDcAGCABIAIpAxA3ABAgASACKQMINwAIIAEgAikDADcAACAAKQAIIQQgACkAECEFIAApAAAhBiABIAApABg3ADggASAFNwAwIAEgBDcAKCABIAY3ACAgAkEgEAggAkHAAWokAEEAC7YBAgF/A34jAEGgAWsiAyQAIAEgAkIgED0aIAEgAS0AAEH4AXE6AAAgASABLQAfQT9xQcAAcjoAHyADIAEQOCAAIAMQLCACKQAIIQQgAikAECEFIAIpAAAhBiABIAIpABg3ABggASAFNwAQIAEgBDcACCABIAY3AAAgACkACCEEIAApABAhBSAAKQAAIQYgASAAKQAYNwA4IAEgBTcAMCABIAQ3ACggASAGNwAgIANBoAFqJABBAAvoBAECfyMAQaABayIEJAAgACABLQAAOgAAIAAgAS0AAToAASAAIAEtAAI6AAIgACABLQADOgADIAAgAS0ABDoABCAAIAEtAAU6AAUgACABLQAGOgAGIAAgAS0ABzoAByAAIAEtAAg6AAggACABLQAJOgAJIAAgAS0ACjoACiAAIAEtAAs6AAsgACABLQAMOgAMIAAgAS0ADToADSAAIAEtAA46AA4gACABLQAPOgAPIAAgAS0AEDoAECAAIAEtABE6ABEgACABLQASOgASIAAgAS0AEzoAEyAAIAEtABQ6ABQgACABLQAVOgAVIAAgAS0AFjoAFiAAIAEtABc6ABcgACABLQAYOgAYIAAgAS0AGToAGSAAIAEtABo6ABogACABLQAbOgAbIAAgAS0AHDoAHCAAIAEtAB06AB0gACABLQAeOgAeIAEtAB8hAyAAIAIEfyAAIAAtAABB+AFxOgAAIANBwAByBSADC0H/AHE6AB8gBCAAEDggACAEECxBfyEDIAAtAB9B/wBxIAAtAB4gAC0AHSAALQAcIAAtABsgAC0AGiAALQAZIAAtABggAC0AFyAALQAWIAAtABUgAC0AFCAALQATIAAtABIgAC0AESAALQAQIAAtAA8gAC0ADiAALQANIAAtAAwgAC0ACyAALQAKIAAtAAkgAC0ACCAALQAHIAAtAAYgAC0ABSAALQAEIAAtAAMgAC0AAiAALQABIAAtAABBAXNycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyQQFrQYACcUUEQEF/QQAgAUEgEBgbIQMLIARBoAFqJAAgAwuOBQECfyMAQcACayIEJABBfyEFAkAgAhBmRQ0AIAIQQg0AIAQgAhAvDQAgBBBnRQ0AIAAgAS0AADoAACAAIAEtAAE6AAEgACABLQACOgACIAAgAS0AAzoAAyAAIAEtAAQ6AAQgACABLQAFOgAFIAAgAS0ABjoABiAAIAEtAAc6AAcgACABLQAIOgAIIAAgAS0ACToACSAAIAEtAAo6AAogACABLQALOgALIAAgAS0ADDoADCAAIAEtAA06AA0gACABLQAOOgAOIAAgAS0ADzoADyAAIAEtABA6ABAgACABLQAROgARIAAgAS0AEjoAEiAAIAEtABM6ABMgACABLQAUOgAUIAAgAS0AFToAFSAAIAEtABY6ABYgACABLQAXOgAXIAAgAS0AGDoAGCAAIAEtABk6ABkgACABLQAaOgAaIAAgAS0AGzoAGyAAIAEtABw6ABwgACABLQAdOgAdIAAgAS0AHjoAHiABLQAfIQIgACADBH8g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AiADQUBrIgQQdiACECQgAyADKQOYATcDGCADIAMpA5ABNwMQIAMgAykDiAE3AwggAyADKQOAATcDACADQgA3A3ggA0IANwNwIANCADcDaCADQgA3A2AgAyABKQAQNwNQIAMgASkAGDcDWCABKQAIIQUgASkAACEGIANCADcDOCADQgA3AzAgA0IANwMoIAMgBjcDQCADIAU3A0ggA0IANwMgIAQgAxDDASADIAMpA3g3A7gBIAMgAykDcDcDsAEgAyADKQNoNwOoASADIAMpA2A3A6ABIAMgAykDWDcDmAEgAyADKQNQNwOQASADIAMpA0g3A4gBIAMgAykDQDcDgAEgAhAkIAAgAykDmAE3ABggACADKQOQATcAECAAIAMpA4gBNwAIIAAgAykDgAE3AAAgAkHAABAIIANBwAFqJAALlwEBAX8jAEFAaiICJAAgAiABKQA4NwM4IAIgASkAMDcDMCACIAEpACg3AyggAiABKQAgNwMgIAIgASkAGDcDGCACIAEpABA3AxAgAiABKQAANwMAIAIgASkACDcDCCACECQgACACKQMYNwAYIAAgAikDEDcAECAAIAIpAwg3AAggACACKQMANwAAIAJBwAAQCCACQUBrJAALxwICAX8CfiMAQcABayIDJAAgA0IANwNgIANCADcDaCADQgA3A3AgA0IANwN4IAMgASkAEDcDUCADIAEpABg3A1ggASkACCEEIAEpAAAhBSADQgA3AyggA0IANwMwIANCADcDOCADIAU3A0AgAyAENwNIIANCADcDICADIAIpABA3AxAgAyACKQAYNwMYIAMgAikAADcDACADIAIpAAg3AwggA0FAayADEMMBIAMgAykDeDcDuAEgAyADKQNwNwOwASADIAMpA2g3A6gBIAMgAykDYDcDoAEgAyADKQNYNwOYASADIAMpA1A3A5ABIAMgAykDSDcDiAEgAyADKQNANwOAASADQYABaiIBECQgACADKQOYATcAGCAAIAMpA5ABNwAQIAAgAykDiAE3AAggACADKQOAATcAACABQcAAEAggA0HAAWokAAvkAQEBfyMAQYABayICJAAgAkIANwNQIAJCADcDWCACQgA3AyggAkIANwMwIAJCADcDOCACQciMAikDADcDaCACQdCMAikDADcDcCACQdiMAikDADcDeCACQgA3A0AgAkIANwNIIAJBAToAQCACQgA3AyAgAkHAjAIpAwA3A2AgAiABKQAYNwMYIAIgASkAEDcDECACIAEpAAg3AwggAiABKQAANwMAIAJBQGsiASACEHYgARAkIAAgAikDWDcAGCAAIAIpA1A3ABAgACACKQNINwAIIAAgAikDQDcAACACQYABaiQAC90BAQF/IwBBgAFrIgIkACACQgA3A1AgAkIANwNYIAJCADcDKCACQgA3AzAgAkIANwM4IAJByIwCKQMANwNoIAJB0IwCKQMANwNwIAJB2IwCKQMANwN4IAJCADcDQCACQgA3A0ggAkIANwMgIAJBwIwCKQMANwNgIAIgASkAEDcDECACIAEpABg3AxggAiABKQAANwMAIAIgASkACDcDCCACQUBrIgEgAhB2IAEQJCAAIAIpA1g3ABggACACKQNQNwAQIAAgAikDSDcACCAAIAIpA0A3AAAgAkGAAWokAAvPCwELfyMAQeAFayICJAAgAkHABWoiByABIAEQByACQeABaiIGIAEgBxAHIAJBoAVqIgQgASAGEAcgAkGABWoiBSAEIAQQByACQaADaiIJIAcgBRAHIAJBwAJqIgcgASAJEAcgAkHgBGoiAyAFIAUQByACQaACaiIFIAcgBxAHIAJBwARqIgggCSAFEAcgAkHAA2oiDCADIAUQByACQaAEaiIKIAggCBAHIAJBgANqIgggAyAKEAcgAkHgAmoiCyAGIAgQByACQcABaiIGIAMgCxAHIAJBoAFqIgMgBCAGEAcgAkHgAGogBCADEAcgAkGABGoiBiAKIAsQByACQeADaiIDIAQgBhAHIAJBgAJqIgYgDCADEAcgAkGAAWogBSAGEAcgAkFAayIFIAggAxAHIAJBIGoiAyAEIAUQByACIAkgAxAHIAAgByACEAdBACEEA0AgACAAIAAQByAEQQFqIgRB/gBHDQALIAAgACACQeACahAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACQcAFahAHIAAgACACEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkGgAWoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAhAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkGAAmoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAJBQGsQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHgAGoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHAAmoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAJBgARqEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHAAWoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHgA2oQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACQYABahAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkEgahAHIAJB4AVqJABBACABQSAQGGsLKAADQCAAQSAQGSAAIAAtAB9BH3E6AB8gABCLAUUNACAAQSAQGA0ACwuiAgEDfyMAQeACayIIJAAgCEEgaiIKQsAAIAYgBxAuGiAIQeAAaiIJIApB/JYCKAIAEQAAGiAKQcAAEAggCSAEIAVBgJcCKAIAEQEAGiAJQbCMAkIAIAV9Qg+DQYCXAigCABEBABogCSABIAJBgJcCKAIAEQEAGiAJQbCMAkIAIAJ9Qg+DQYCXAigCABEBABogCCAFNwMYIAkgCEEYaiIEQghBgJcCKAIAEQEAGiAIIAI3AxggCSAEQghBgJcCKAIAEQEAGiAJIAhBhJcCKAIAEQAAGiAJQYACEAggCCADEEQhBCAIQRAQCAJAIABFDQAgBARAIABBACACpxAMGkF/IQQMAQsgACABIAIgBkEBIAcQNRpBACEECyAIQeACaiQAIAQL8AEBA38jAEHgAmsiCCQAIAhBIGoiCkLAACAGIAcQThogCEHgAGoiCSAKQfyWAigCABEAABogCkHAABAIIAkgBCAFQYCXAigCABEBABogCCAFNwMYIAkgCEEYaiIEQghBgJcCKAIAEQEAGiAJIAEgAkGAlwIoAgARAQAaIAggAjcDGCAJIARCCEGAlwIoAgARAQAaIAkgCEGElwIoAgARAAAaIAlBgAIQCCAIIAMQRCEEIAhBEBAIAkAgAEUNACAEBEAgAEEAIAKnEAwaQX8hBAwBCyAAIAEgAiAGQgEgBxA2GkEAIQQLIAhB4AJqJAAgBAv/AQEDfyMAQdACayIKJAAgCkEQaiILQsAAIAcgCBAuGiAKQdAAaiIJIAtB/JYCKAIAEQAAGiALQcAAEAggCSAFIAZBgJcCKAIAEQEAGiAJQbCMAkIAIAZ9Qg+DQYCXAigCABEBABogACADIAQgB0EBIAgQNRogCSAAIARBgJcCKAIAEQEAGiAJQbCMAkIAIAR9Qg+DQYCXAigCABEBABogCiAGNwMIIAkgCkEIaiIAQghBgJcCKAIAEQEAGiAKIAQ3AwggCSAAQghBgJcCKAIAEQEAGiAJIAFBhJcCKAIAEQAAGiAJQYACEAggAgRAIAJCEDcDAAsgCkHQAmokAEEAC80BAQN/IwBB0AJrIgkkACAJQRBqIgtCwAAgByAIEE4aIAlB0ABqIgogC0H8lgIoAgARAAAaIAtBwAAQCCAKIAUgBkGAlwIoAgARAQAaIAkgBjcDCCAKIAlBCGoiBUIIQYCXAigCABEBABogACADIAQgB0IBIAgQNhogCiAAIARBgJcCKAIAEQEAGiAJIAQ3AwggCiAFQghBgJcCKAIAEQEAGiAKIAFBhJcCKAIAEQAAGiAKQYACEAggAgRAIAJCEDcDAAsgCUHQAmokAEEACygAIAJCgICAgBBaBEAQDQALIAAgASACIANBASAEQaSXAigCABEQABoLBABBDAuGBgEUfyMAQbACayICJAAgACABLQAAOgAAIAAgAS0AAToAASAAIAEtAAI6AAIgACABLQADOgADIAAgAS0ABDoABCAAIAEtAAU6AAUgACABLQAGOgAGIAAgAS0ABzoAByAAIAEtAAg6AAggACABLQAJOgAJIAAgAS0ACjoACiAAIAEtAAs6AAsgACABLQAMOgAMIAAgAS0ADToADSAAIAEtAA46AA4gACABLQAPOgAPIAAgAS0AEDoAECAAIAEtABE6ABEgACABLQASOgASIAAgAS0AEzoAEyAAIAEtABQ6ABQgACABLQAVOgAVIAAgAS0AFjoAFiAAIAEtABc6ABcgACABLQAYOgAYIAAgAS0AGToAGSAAIAEtABo6ABogACABLQAbOgAbIAAgAS0AHDoAHCAAIAEtAB06AB0gACABLQAeOgAeIAEtAB8hASAAIAAtAABB+AFxOgAAIAAgAUE/cUHAAHI6AB8gAkEwaiAAEDggAigChAEhASACKAJcIQMgAigCiAEhBCACKAJgIQUgAigCjAEhBiACKAJkIQcgAigCkAEhCCACKAJoIQkgAigClAEhCiACKAJsIQsgAigCmAEhDCACKAJwIQ0gAigCnAEhDiACKAJ0IQ8gAigCoAEhECACKAJ4IREgAigCgAEhEiACKAJYIRMgAiACKAJ8IhQgAigCpAEiFWo2AqQCIAIgECARajYCoAIgAiAOIA9qNgKcAiACIAwgDWo2ApgCIAIgCiALajYClAIgAiAIIAlqNgKQAiACIAYgB2o2AowCIAIgBCAFajYCiAIgAiABIANqNgKEAiACIBIgE2o2AoACIAIgFSAUazYC9AEgAiAQIBFrNgLwASACIA4gD2s2AuwBIAIgDCANazYC6AEgAiAKIAtrNgLkASACIAggCWs2AuABIAIgBiAHazYC3AEgAiAEIAVrNgLYASACIAEgA2s2AtQBIAIgEiATazYC0AEgAkHQAWoiASABEDAgAiACQYACaiABEAYgACACEA8gAkGwAmokAEEAC/kcAj1/DH4jAEHwAmsiAyQAA0AgAiAGai0AACIEIAZB0IoCaiIJLQAAcyAHciEHIAQgCS0AwAFzIAVyIQUgBCAJLQCgAXMgDHIhDCAEIAktAIABcyAIciEIIAQgCS0AYHMgDXIhDSAEIAlBQGstAABzIAtyIQsgBCAJLQAgcyAKciEKIAZBAWoiBkEfRw0AC0F/IQkgAi0AH0H/AHEiBCAKckH/AXFBAWsgBCAHckH/AXFBAWtyIAQgC3JB/wFxQQFrciAEQdcAcyANckH/AXFBAWtyIARB/wBzIgQgCHJB/wFxQQFrciAEIAxyQf8BcUEBa3IgBCAFckH/AXFBAWtyQYACcUUEQCADIAEpABg3A+gCIAMgASkAEDcD4AIgAyABKQAAIkI3A9ACIAMgASkACDcD2AIgAyBCp0H4AXE6ANACIAMgAy0A7wJBP3FBwAByOgDvAiADQaACaiACECcgA0IANwKEAiADQgA3AowCIANBADYClAIgA0IANwPQASADQgA3A9gBIANCADcD4AEgA0IANwL0ASADQQE2AvABIANCADcC/AEgA0IANwPAASADQgA3A8gBIAMgAykDuAI3A6gBIAMgAykDsAI3A6ABIAMgAykDqAI3A5gBIAMgAykDoAI3A5ABIAMgAykDwAI3A7ABIANCADcCdCADQgA3AnwgA0EANgKEASADQgA3AmQgA0EBNgJgIANCADcCbEH+ASECQQAhBANAIAMoApQCIQkgAygCtAEhBiADKAJgIQcgAygCwAEhCiADKAKQASELIAMoAvABIQ0gAygCZCEIIAMoAsQBIQwgAygClAEhBSADKAL0ASEQIAMoAmghDiADKALIASERIAMoApgBIRIgAygC+AEhEyADKAJsIQ8gAygCzAEhFCADKAKcASEVIAMoAvwBIRYgAygCcCEYIAMoAtABIRwgAygCoAEhHSADKAKAAiEeIAMoAnQhGiADKALUASEfIAMoAqQBISAgAygChAIhISADKAJ4IRkgAygC2AEhIiADKAKoASEjIAMoAogCISQgAygCfCEbIAMoAtwBISUgAygCrAEhJiADKAKMAiEnIAMoAoABIRcgAygC4AEhKCADKAKwASEpIAMoApACISwgA0EAIAQgA0HQAmogAiIBQQN2ai0AACACQQdxdkEBcSIEc2siAiADKAKEASIqIAMoAuQBIitzcSItICpzIio2AoQBIAMgBiAGIAlzIAJxIi5zIi8gKms2AlQgAyAXIBcgKHMgAnEiMHMiBjYCgAEgAyApICkgLHMgAnEiF3MiKSAGazYCUCADIBsgGyAlcyACcSIxcyIbNgJ8IAMgJiAmICdzIAJxIjJzIiYgG2s2AkwgAyAZIBkgInMgAnEiM3MiGTYCeCADICMgIyAkcyACcSI0cyIjIBlrNgJIIAMgGiAaIB9zIAJxIjVzIho2AnQgAyAgICAgIXMgAnEiNnMiICAaazYCRCADIBggGCAccyACcSI3cyIYNgJwIAMgHSAdIB5zIAJxIjhzIh0gGGs2AkAgAyAPIA8gFHMgAnEiOXMiDzYCbCADIBUgFSAWcyACcSI6cyIVIA9rNgI8IAMgDiAOIBFzIAJxIjtzIg42AmggAyASIBIgE3MgAnEiPHMiEiAOazYCOCADIAggCCAMcyACcSI9cyIINgJkIAMgBSAFIBBzIAJxIj5zIgUgCGs2AjQgAyAHIAcgCnMgAnEiP3MiBzYCYCADIAsgCyANcyACcSICcyILIAdrNgIwIAMgCSAucyIJICsgLXMiK2s2AiQgAyAXICxzIhcgKCAwcyIoazYCICADICcgMnMiJyAlIDFzIiVrNgIcIAMgJCA0cyIkICIgM3MiIms2AhggAyAhIDZzIiEgHyA1cyIfazYCFCADIB4gOHMiHiAcIDdzIhxrNgIQIAMgFiA6cyIWIBQgOXMiFGs2AgwgAyATIDxzIhMgESA7cyIRazYCCCADIBAgPnMiECAMID1zIgxrNgIEIAMgAiANcyICIAogP3MiCms2AgAgAyAJICtqNgKUAiADIBcgKGo2ApACIAMgJSAnajYCjAIgAyAiICRqNgKIAiADIB8gIWo2AoQCIAMgHCAeajYCgAIgAyARIBNqNgL4ASADIAwgEGo2AvQBIAMgAiAKajYC8AEgAyAUIBZqNgL8ASADICogL2o2AuQBIAMgBiApajYC4AEgAyAbICZqNgLcASADIBkgI2o2AtgBIAMgGiAgajYC1AEgAyAYIB1qNgLQASADIA8gFWo2AswBIAMgDiASajYCyAEgAyAFIAhqNgLEASADIAcgC2o2AsABIANB4ABqIhsgA0EwaiIaIANB8AFqIhkQBiADQcABaiIXIBcgAxAGIBogAxAFIAMgGRAFIAMoAsABIQIgAygCYCEJIAMoAsQBIQYgAygCZCEHIAMoAsgBIQogAygCaCELIAMoAswBIQ0gAygCbCEIIAMoAtABIQwgAygCcCEFIAMoAtQBIRAgAygCdCEOIAMoAtgBIREgAygCeCESIAMoAtwBIRMgAygCfCEPIAMoAuABIRQgAygCgAEhFSADIAMoAuQBIhYgAygChAEiGGo2ArQBIAMgFCAVajYCsAEgAyAPIBNqNgKsASADIBEgEmo2AqgBIAMgDiAQajYCpAEgAyAFIAxqNgKgASADIAggDWo2ApwBIAMgCiALajYCmAEgAyAGIAdqNgKUASADIAIgCWo2ApABIAMgGCAWazYC5AEgAyAVIBRrNgLgASADIA8gE2s2AtwBIAMgEiARazYC2AEgAyAOIBBrNgLUASADIAUgDGs2AtABIAMgCCANazYCzAEgAyALIAprNgLIASADIAcgBms2AsQBIAMgCSACazYCwAEgGSADIBoQBiADKAI0IQIgAygCBCEFIAMoAjghCSADKAIIIRAgAygCQCEGIAMoAhAhDiADKAI8IQcgAygCDCERIAMoAkghCiADKAIYIRIgAygCRCELIAMoAhQhEyADKAJQIQ0gAygCICEPIAMoAkwhCCADKAIcIRQgAygCVCEMIAMoAiQhFSADIAMoAgAgAygCMCIWayIYNgIAIAMgFSAMayIVNgIkIAMgFCAIayIUNgIcIAMgDyANayIPNgIgIAMgEyALayITNgIUIAMgEiAKayISNgIYIAMgESAHayIRNgIMIAMgDiAGayIONgIQIAMgECAJayIQNgIIIAMgBSACayIFNgIEIBcgFxAFIAMgFaxCwrYHfiJCQoCAgAh8IkZCGYdCE34gGKxCwrYHfnwiQCBAQoCAgBB8IkBCgICA4A+DfaciFTYCYCADIAWsQsK2B34iQSBBQoCAgAh8IkFCgICA8A+DfSBAQhqIfKciBTYCZCADIBCsQsK2B34gQUIZh3wiQCBAQoCAgBB8IkBCgICA4A+DfaciEDYCaCADIA6sQsK2B34gEaxCwrYHfiJBQoCAgAh8IkdCGYd8IkMgQ0KAgIAQfCJDQoCAgOAPg32nIg42AnAgAyASrELCtgd+IBOsQsK2B34iSEKAgIAIfCJJQhmHfCJEIERCgICAEHwiREKAgIDgD4N9pyIRNgJ4IAMgD6xCwrYHfiAUrELCtgd+IkpCgICACHwiS0IZh3wiRSBFQoCAgBB8IkVCgICA4A+DfaciEjYCgAEgAyBAQhqIIEF8IEdCgICA8A+DfaciEzYCbCADIENCGoggSHwgSUKAgIDwD4N9pyIPNgJ0IAMgREIaiCBKfCBLQoCAgPAPg32nIhQ2AnwgAyBFQhqIIEJ8IEZCgICA8A+DfaciGDYChAEgA0GQAWoiGSAZEAUgAyAMIBhqNgJUIAMgDSASajYCUCADIAggFGo2AkwgAyAKIBFqNgJIIAMgCyAPajYCRCADIAYgDmo2AkAgAyAHIBNqNgI8IAMgCSAQajYCOCADIAIgBWo2AjQgAyAVIBZqNgIwIAFBAWshAiAbIANBoAJqIBcQBiAXIAMgGhAGIAENAAsgAygCkAEhECADKALwASECIAMoApQBIQ4gAygC9AEhBiADKAKYASERIAMoAvgBIQcgAygCnAEhEiADKAL8ASEKIAMoAqABIRMgAygCgAIhCyADKAKkASEPIAMoAoQCIQ0gAygCqAEhFCADKAKIAiEIIAMoAqwBIRUgAygCjAIhDCADKAKwASEWIAMoApACIQUgA0EAIARrIgEgAygClAIiBCADKAK0AXNxIARzNgKUAiADIAUgBSAWcyABcXM2ApACIAMgDCAMIBVzIAFxczYCjAIgAyAIIAggFHMgAXFzNgKIAiADIA0gDSAPcyABcXM2AoQCIAMgCyALIBNzIAFxczYCgAIgAyAKIAogEnMgAXFzNgL8ASADIAcgByARcyABcXM2AvgBIAMgBiAGIA5zIAFxczYC9AEgAyACIAIgEHMgAXFzNgLwASADKALAASECIAMoAmAhBSADKALEASEEIAMoAmQhECADKALIASEGIAMoAmghDiADKALMASEHIAMoAmwhESADKALQASEKIAMoAnAhEiADKALUASELIAMoAnQhEyADKALYASENIAMoAnghDyADKALcASEIIAMoAnwhFCADKALgASEMIAMoAoABIRUgAyADKALkASIWIAMoAoQBcyABcSAWczYC5AEgAyAMIAwgFXMgAXFzNgLgASADIAggCCAUcyABcXM2AtwBIAMgDSANIA9zIAFxczYC2AEgAyALIAsgE3MgAXFzNgLUASADIAogCiAScyABcXM2AtABIAMgByAHIBFzIAFxczYCzAEgAyAGIAYgDnMgAXFzNgLIASADIAQgBCAQcyABcXM2AsQBIAMgAiACIAVzIAFxczYCwAEgA0HAAWoiASABEDAgA0HwAWoiAiACIAEQBiAAIAIQDyADQdACakEgEAhBACEJCyADQfACaiQAIAkLDwAgACABrUGmDCACEC4aC00BA38jAEEQayICJAAgAEECTwRAQQAgAGsgAHAhAQNAIAJBADoAD0GolwIgAkEPakEAEAAiAyABSQ0ACyADIABwIQELIAJBEGokACABCwoAIAAgARBrQQALDAAgACABIAIQbEEACywBAn8jAEEQayIAJAAgAEEAOgAPQaiXAiAAQQ9qQQAQACEBIABBEGokACABC7QBAQF/IAAgASgAAEH///8fcTYCACAAIAEoAANBAnZBg/7/H3E2AgQgACABKAAGQQR2Qf+B/x9xNgIIIAAgASgACUEGdkH//8AfcTYCDCABKAAMIQIgAEIANwIUIABCADcCHCAAQQA2AiQgACACQQh2Qf//P3E2AhAgACABKAAQNgIoIAAgASgAFDYCLCAAIAEoABg2AjAgASgAHCEBIABBADoAUCAAQgA3AzggACABNgI0QQAL6AEBA38jACIFQcABa0FAcSIEJAAgBCADKAAAQf///x9xNgJAIAQgAygAA0ECdkGD/v8fcTYCRCAEIAMoAAZBBHZB/4H/H3E2AkggBCADKAAJQQZ2Qf//wB9xNgJMIAMoAAwhBiAEQgA3AlQgBEIANwJcIARBADYCZCAEIAZBCHZB//8/cTYCUCAEIAMoABA2AmggBCADKAAUNgJsIAQgAygAGDYCcCADKAAcIQMgBEEAOgCQASAEQgA3A3ggBCADNgJ0IARBQGsiAyABIAIQbCADIARBMGoiARBrIAAgARBEIQAgBSQAIAAL1QEBA38jACIFQYABa0FAcSIEJAAgBCADKAAAQf///x9xNgIAIAQgAygAA0ECdkGD/v8fcTYCBCAEIAMoAAZBBHZB/4H/H3E2AgggBCADKAAJQQZ2Qf//wB9xNgIMIAMoAAwhBiAEQgA3AhQg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AEF/DAELIAAgAUEAQgAgBEEgIAUgBUEQahCwAQshACAFQSBqJAAgAAsEAEEKCwUAQbELCwUAQaMKC/4BAQR/IwAiBSEIIAVBgARrQUBxIgUkACAAIAEgABsiBwRAQX8hBiAFQeAAaiADIAQQckUEQCABIAAgARshAUEAIQAgBUGAAWoiA0EAQQBBwAAQNBogAyAFQeAAaiIGQiAQGxogBkEgEAggAyAEQiAQGxogAyACQiAQGxogAyAFQSBqQcAAEDIaIANBgAMQCANAIAAgAWogBUEgaiIEIABqIgItAAA6AAAgACAHaiACLQAgOgAAIAEgAEEBciIDaiADIARqLQAAOgAAIAMgB2ogAi0AIToAACAAQQJqIgBBIEcNAAsgBUEgakHAABAIQQAhBgsgCCQAIAYPCxANAAv+AQEEfyMAIgUhCCAFQYAEa0FAcSIFJAAgACABIAAbIgcEQEF/IQYgBUHgAGogAyAEEHJFBEAgASAAIAEbIQFBACEAIAVBgAFqIgNBAEEAQcAAEDQaIAMgBUHgAGoiBkIgEBsaIAZBIBAIIAMgAkIgEBsaIAMgBEIgEBsaIAMgBUEgakHAABAyGiADQYADEAgDQCAAIAdqIAVBIGoiBCAAaiICLQAAOgAAIAAgAWogAi0AIDoAACAHIABBAXIiA2ogAyAEai0AADoAACABIANqIAItACE6AAAgAEECaiIAQSBHDQALIAVBIGpBwAAQCEEAIQYLIAgkACAGDwsQDQALIAAgAUEgIAJCIEEAQQAQywEaIAAgAUGMlwIoAgARAAALBQBBngsLBABBbgsEAEERCwQAQTQLlQECAX8BfiMAQTBrIgEkACABIAApABg3AxggASAAKQAQNwMQIAEgACkAADcDACABIAApAAg3AwggASAAKQAkNwMgIAEgAUIoIABBIGogABBhGiAAIAEpAxg3ABggACABKQMQNwAQIAAgASkDCDcACCAAIAEpAwA3AAAgASkDICECIABBATYAICAAIAI3ACQgAUEwaiQACy0BAX4gACABIAJBABAaGiAAQQE2ACAgASkAECEDIABCADcALCAAIAM3ACRBAAszAQF+IAFBGBAZIAAgASACQQAQGhogAEEBNgAgIAEpABAhAyAAQgA3ACwgACADNwAkQQALBQBB6AALCAAgAEEQEBkLBQBB8wsL8gUCBn4BfyADKQAAIgRC9crNg9es27fzAIUhBiAEQuHklfPW7Nm87ACFIQcgAykACCIFQu3ekfOWzNy35ACFIQQgBULzytHLp4zZsvQAhSEFIAEgASACpyIDaiADQQdxIgprIgNHBEADQCAHIAEpAAAiCCAFhSIHfCIFIAQgBnwiBiAEQg2JhSIEfCIJIARCEYmFIgRCDYkgBCAHQhCJIAWFIgQgBkIgiXwiBnwiB4UiBUIRiSAFIARCFYkgBoUiBiAJQiCJfCIFfCIJhSEEIAZCEIkgBYUiBkIViSAGIAdCIIl8IgaFIQUgCUIgiSEHIAYgCIUhBiABQQhqIgEgA0cNAAsgAyEBCyACQjiGIQICQAJAAkACQAJAAkACQAJAIApBAWsOBwYFBAMCAQAHCyABMQAGQjCGIAKEIQILIAExAAVCKIYgAoQhAgsgATEABEIghiAChCECCyABMQADQhiGIAKEIQILIAExAAJCEIYgAoQhAgsgATEAAUIIhiAChCECCyACIAExAACEIQILIAAgAiAFhSIFQhCJIAUgB3wiB4UiBUIViSAFIAQgBnwiBkIgiXwiBYUiCEIQiSAIIAcgBiAEQg2JhSIEfCIGQiCJfCIHhSIIQhWJIAggBSAGIARCEYmFIgR8IgZCIIl8IgWFIghCEIkgByAEQg2JIAaFIgR8IgZCIIlC/wGFIAh8IgeFIghCFYkgBEIRiSAGhSIEIAIgBYV8IgJCIIkgCHwiBoUiBUIQiSACIARCDYmFIgIgB3wiBEIgiSAFfCIHhSIFQhWJIAJCEYkgBIUiAiAGfCIEQiCJIAV8IgaFIgVCEIkgAkINiSAEhSICIAd8IgRCIIkgBXwiB4UiBUIViSACQhGJIASFIgIgBnwiBEIgiSAFfCIGhSIFQhCJIAJCDYkgBIUiAiAHfCIEQiCJIAV8IgeFQhWJIAJCEYkgBIUiAkINiSACIAZ8hSICQhGJhSACIAd8IgJCIImFIAKFNwAAQQALCwAgACABIAIQggELBQBBxgsL9QIBAX8jAEGgAWsiAiQAIAAgAS0AADoAACAAIAEtAAE6AAEgACABLQACOgACIAAgAS0AAzoAAyAAIAEtAAQ6AAQgACABLQAFOgAFIAAgAS0ABjoABiAAIAEtAAc6AAcgACABLQAIOgAIIAAgAS0ACToACSAAIAEtAAo6AAogACABLQALOgALIAAgAS0ADDoADCAAIAEtAA06AA0gACABLQAOOgAOIAAgAS0ADzoADyAAIAEtABA6ABAgACABLQAROgARIAAgAS0AEjoAEiAAIAEtABM6ABMgACABLQAUOgAUIAAgAS0AFToAFSAAIAEtABY6ABYgACABLQAXOgAXIAAgAS0AGDoAGCAAIAEtABk6ABkgACABLQAaOgAaIAAgAS0AGzoAGyAAIAEtABw6ABwgACABLQAdOgAdIAAgAS0AHjoAHiAAIAEtAB9B/wBxOgAfIAIgABA4IAAgAhBBIABBIBAYIQAgAkGgAWokAEF/QQAgABsLjAMBAn8jAEHAAmsiAyQAQX8hBCADIAIQN0UEQCAAIAEtAAA6AAAgACABLQABOgABIAAgAS0AAjoAAiAAIAEtAAM6AAMgACABLQAEOgAEIAAgAS0ABToABSAAIAEtAAY6AAYgACABLQAHOgAHIAAgAS0ACDoACCAAIAEtAAk6AAkgACABLQAKOgAKIAAgAS0ACzoACyAAIAEtAAw6AAwgACABLQANOgANIAAgAS0ADjoADiAAIAEtAA86AA8gACABLQAQOgAQIAAgAS0AEToAESAAIAEtABI6ABIgACABLQATOgATIAAgAS0AFDoAFCAAIAEtABU6ABUgACABLQAWOgAWIAAgAS0AFzoAFyAAIAEtABg6ABggACABLQAZOgAZIAAgAS0AGjoAGiAAIAEtABs6ABsgACABLQAcOgAcIAAgAS0AHToAHSAAIAEtAB46AB4gACABLQAfQf8AcToAHyADQaABaiIBIAAgAxCOASAAIAEQQUF/QQAgAEEgEBgbIQQLIANBwAJqJAAgBAsLACAAIAEgAhC0AQsNACAAIAEgAiADELUBCwcAIAAQtgELCQAgACABELgBCwsAIAAgASACELkBCwUAQakLCwoAIAAgASACEBMLOgEDfiABKQAgIQIgASkAKCEDIAEpADAhBCAAIAEpADg3ABggACAENwAQIAAgAzcACCAAIAI3AABBAAs6AQN+IAEpAAghAiABKQAQIQMgASkAACEEIAAgASkAGDcAGCAAIAM3ABAgACACNwAIIAAgBDcAAEEAC3wBAX8CQAJAAkAgA0LAAFQNACADQkB8IgNCv////w9WDQAgAiACQUBrIgUgAyAEQQAQdEUNASAARQ0AIABBACADpxAM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QUBqIgYkAAJAIAZBIGogBSAEECEEQEF/IQQMAQtBfyEEIAZBoJMCIAZBIGpBABAqDQAgACABIAIgAyAGEIQBIQQgBkEgEAgLIAZBQGskACAECw8AIAAgASACIAMgBBCDAQsPACAAIAEgAiADIAQQhAELIQEBfyMAQSBrIgEkACABQSAQGSAAIAEQigEgAUEgaiQAC+wEAQx/IwBBoAFrIgIkACABLQAAIQ0DQCACQYABaiIFIANqIAEgA2siBC0APzoAACACQeAAaiIGIANqIAQtAB86AAAgBSADQQFyIgdqIAQtAD46AAAgBiAHaiAELQAeOgAAIANBAmoiA0EgRw0ACyACIAItAJ8BQf8AcToAnwEgAiACLQB/Qf8AcToAfyACQTBqIgMgAkGAAWoQJyACIAJB4ABqECcgAiACKAJQIAIoAiBBJmxqIgQgAigCTCACKAIcQSZsaiIFIAIoAkggAigCGEEmbGoiBiACKAJEIAIoAhRBJmxqIgcgAigCQCACKAIQQSZsaiIIIAIoAjwgAigCDEEmbGoiCSACKAI4IAIoAghBJmxqIgogAigCNCACKAIEQSZsaiILIAIoAjAgASwAIEEfdUETcWogAigCAEEmbGoiDCACKAJUIAIoAiRBJmxqIgFBE2xBgICACGpBGXZqQRp1akEZdWpBGnVqQRl1akEadWpBGXVqQRp1akEZdWpBGnUgAWpBGXVBE2wgDGoiDEH///8fcTYCMCACIAxBGnUgC2oiC0H///8PcTYCNCACIAtBGXUgCmoiCkH///8fcTYCOCACIApBGnUgCWoiCUH///8PcTYCPCACIAlBGXUgCGoiCEH///8fcTYCQCACIAhBGnUgB2oiB0H///8PcTYCRCACIAdBGXUgBmoiBkH///8fcTYCSCACIAZBGnUgBWoiBUH///8PcTYCTCACIAVBGXUgBGoiBEH///8fcTYCUCACIARBGnUgAWpB////D3E2AlQgACADIA1BgAFxEIkBIAJBoAFqJABBAAsLACAAIAEQigFBAAt/AQJ/IwBBoAZrIgMkAEF/IQQCQCADQYAFaiABEC8NACADQYAFahBDRQ0AIANB4ANqIAIQLw0AIANB4ANqEENFDQAgAyADQeADahAOIANBoAFqIgEgA0GABWogAxBQIANBwAJqIgIgARBRIAAgAhAsQQAhBAsg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wNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/AEGwFQsBAQBB0BULsAEm6JWPwrInsEXD9Iny75jw1d+sBdPGMzmxOAKIbVP8BccXanA9TdhPujwLdg0QZw8qIFP6LDnMxk7H/XeSrAN67P///////////////////////////////////////3/t////////////////////////////////////////f+7///////////////////////////////////////9/7dP1XBpjEljWnPei3vneFABBjxcLrPEBEP1AXQCgaj8AOdNX/gzSugBYvHT+QdgBAP/IPQHYQpT/APtcACSy4f8AAAAAAAAAAIU7jAG98ST/+CXDAWDcNwC3TD7/w0I9ADJMpAHhpEz/TD2j/3U+HwBRkUD/dkEOAKJz1v8Gii4AfOb0/wqKjwA0GsIAuPRMAIGPKQG+9BP/e6p6/2KBRAB51ZMAVmUe/6FnmwCMWUP/7+W+AUMLtQDG8In+7kW8/+pxPP8l/zn/RbK2/oDQswB2Gn3+AwfW//EyTf9Vy8X/04f6/xkwZP+71bT+EVhpAFPRngEFc2IABK48/qs3bv/ZtRH/FLyqAJKcZv5X1q7/cnqbAeksqgB/CO8B1uzqAK8F2wAxaj3/BkLQ/wJqbv9R6hP/12vA/0OX7gATKmz/5VVxATJEh/8RagkAMmcB/1ABqAEjmB7/EKi5AThZ6P9l0vwAKfpHAMyqT/8OLu//UE3vAL3WS/8RjfkAJlBM/75VdQBW5KoAnNjQAcPPpP+WQkz/r+EQ/41Q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Zf8AAAAAAAAAABsuewESqP3/06+X/sPbYAA4dr7+/tH1/5lkfv7ogRX/Nbjy/8ek3QBB8IoCCwEBAEGQiwILoAHg63p8O0G4rhZW4/rxn8Rq2gmN65wysf2GYgUWX0m4AF+clbyjUIwksdCxVZyD71sERFzEWByOhtgiTt3QnxFX7P///////////////////////////////////////3/t////////////////////////////////////////f+7///////////////////////////////////////9/AEHAjAILEO3T9VwaYxJY1pz3ot753hQAQd+MAgvCBRAIybzzZ+YJajunyoSFrme7K/iU/nLzbjzxNh1fOvVPpdGC5q1/Ug5RH2w+K4xoBZtrvUH7q9mDH3khfhMZzeBbIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbIAAQbCTAgshU2lnRWQyNTUxOSBubyBFZDI1NTE5IGNvbGxpc2lvbnMBAEGAlAILoQJn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5gvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccaAAEHwlgILNcCQAQABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAAN")||(J=U,U=Q.locateFile?Q.locateFile(J,n):n+J);var P={35752:()=>Q.getRandomValue(),35788:()=>{if(void 0===Q.getRandomValue)try{var A="object"==typeof window?window:self,I=void 0!==A.crypto?A.crypto:A.msCrypto,g=function(){var A=new Uint32Array(1);return I.getRandomValues(A),A[0]>>>0};g(),Q.getRandomValue=g}catch(A){try{var C=require("crypto"),B=function(){var A=C.randomBytes(4);return(A[0]<<24|A[1]<<16|A[2]<<8|A[3])>>>0};B(),Q.getRandomValue=B}catch(A){throw"No secure random number generator found"}}}};function q(A){for(;A.length>0;)A.shift()(Q)}var j=[];function z(A){var I=_.buffer;try{return _.grow(A-I.byteLength+65535>>>16),F(),1}catch(A){}}var X="function"==typeof atob?atob:function(A){var I,g,C,B,a,Q,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="",r=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=t.indexOf(A.charAt(r++))<<2|(B=t.indexOf(A.charAt(r++)))>>4,g=(15&B)<<4|(a=t.indexOf(A.charAt(r++)))>>2,C=(3&a)<<6|(Q=t.indexOf(A.charAt(r++))),i+=String.fromCharCode(I),64!==a&&(i+=String.fromCharCode(g)),64!==Q&&(i+=String.fromCharCode(C))}while(r>=2;g=p[A++];)I+=105!=g&I,j.push(105==g?h[I]:D[I++>>1]),++I;return j}(I,g);return P[A].apply(null,C)}(A,I,g)},d:function(A,I,g){p.copyWithin(A,I,I+g)},e:function(A){var I,g=p.length,C=2147483648;if((A>>>=0)>C)return!1;for(var B=1;B<=4;B*=2){var a=g*(1+.2/B);if(a=Math.min(a,A+100663296),z(Math.min(C,(I=Math.max(A,a))+(65536-I%65536)%65536)))return!0}return!1}};function O(){function A(){W||(W=!0,Q.calledRun=!0,w||(q(G),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),function(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)A=Q.postRun.shift(),N.unshift(A);var A;q(N)}()))}b>0||(function(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)A=Q.preRun.shift(),S.unshift(A);var A;q(S)}(),b>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),A()}),1)):A()))}if(function(){var A={a:Z};function I(A,I){var g=A.exports;Q.asm=g,_=Q.asm.f,F(),Q.asm.Aj,function(A){if(b--,Q.monitorRunDependencies&&Q.monitorRunDependencies(b),0==b&&(null!==M&&(clearInterval(M),M=null),H)){var I=H;H=null,I()}}()}function g(A){I(A.instance)}function C(I){return function(){if(!E&&(i||r)){if("function"==typeof fetch&&!R(U))return fetch(U,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+U+"'";return A.arrayBuffer()})).catch((function(){return L(U)}));if(B)return new Promise((function(A,I){B(U,(function(I){A(new Uint8Array(I))}),I)}))}return Promise.resolve().then((function(){return L(U)}))}().then((function(I){return WebAssembly.instantiate(I,A)})).then((function(A){return A})).then(I,(function(A){y("failed to asynchronously prepare wasm: "+A),Y(A)}))}if(b++,Q.monitorRunDependencies&&Q.monitorRunDependencies(b),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return y("Module.instantiateWasm callback failed with error: "+A),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||v(U)||R(U)||o||"function"!=typeof fetch?C(g):fetch(U,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){return y("wasm streaming compile failed: "+A),y("falling back to ArrayBuffer instantiation"),C(g)}))}))}(),Q._crypto_aead_chacha20poly1305_encrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_encrypt_detached=Q.asm.g).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_encrypt=function(){return(Q._crypto_aead_chacha20poly1305_encrypt=Q.asm.h).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_encrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_ietf_encrypt_detached=Q.asm.i).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_encrypt=function(){return(Q._crypto_aead_chacha20poly1305_ietf_encrypt=Q.asm.j).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_decrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_decrypt_detached=Q.asm.k).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_decrypt=function(){return(Q._crypto_aead_chacha20poly1305_decrypt=Q.asm.l).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_decrypt_detached=function(){return(Q._crypto_aead_chacha20poly1305_ietf_decrypt_detached=Q.asm.m).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_decrypt=function(){return(Q._crypto_aead_chacha20poly1305_ietf_decrypt=Q.asm.n).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_keybytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_keybytes=Q.asm.o).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_npubbytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_npubbytes=Q.asm.p).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_nsecbytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_nsecbytes=Q.asm.q).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_abytes=function(){return(Q._crypto_aead_chacha20poly1305_ietf_abytes=Q.asm.r).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_messagebytes_max=function(){return(Q._crypto_aead_chacha20poly1305_ietf_messagebytes_max=Q.asm.s).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_ietf_keygen=function(){return(Q._crypto_aead_chacha20poly1305_ietf_keygen=Q.asm.t).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_keybytes=function(){return(Q._crypto_aead_chacha20poly1305_keybytes=Q.asm.u).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_npubbytes=function(){return(Q._crypto_aead_chacha20poly1305_npubbytes=Q.asm.v).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_nsecbytes=function(){return(Q._crypto_aead_chacha20poly1305_nsecbytes=Q.asm.w).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_abytes=function(){return(Q._crypto_aead_chacha20poly1305_abytes=Q.asm.x).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_messagebytes_max=function(){return(Q._crypto_aead_chacha20poly1305_messagebytes_max=Q.asm.y).apply(null,arguments)},Q._crypto_aead_chacha20poly1305_keygen=function(){return(Q._crypto_aead_chacha20poly1305_keygen=Q.asm.z).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=Q.asm.A).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_encrypt=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_encrypt=Q.asm.B).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=Q.asm.C).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_decrypt=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_decrypt=Q.asm.D).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_keybytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_keybytes=Q.asm.E).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_npubbytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_npubbytes=Q.asm.F).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_nsecbytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_nsecbytes=Q.asm.G).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_abytes=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_abytes=Q.asm.H).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=Q.asm.I).apply(null,arguments)},Q._crypto_aead_xchacha20poly1305_ietf_keygen=function(){return(Q._crypto_aead_xchacha20poly1305_ietf_keygen=Q.asm.J).apply(null,arguments)},Q._crypto_auth_bytes=function(){return(Q._crypto_auth_bytes=Q.asm.K).apply(null,arguments)},Q._crypto_auth_keybytes=function(){return(Q._crypto_auth_keybytes=Q.asm.L).apply(null,arguments)},Q._crypto_auth_primitive=function(){return(Q._crypto_auth_primitive=Q.asm.M).apply(null,arguments)},Q._crypto_auth=function(){return(Q._crypto_auth=Q.asm.N).apply(null,arguments)},Q._crypto_auth_verify=function(){return(Q._crypto_auth_verify=Q.asm.O).apply(null,arguments)},Q._crypto_auth_keygen=function(){return(Q._crypto_auth_keygen=Q.asm.P).apply(null,arguments)},Q._crypto_auth_hmacsha256_bytes=function(){return(Q._crypto_auth_hmacsha256_bytes=Q.asm.Q).apply(null,arguments)},Q._crypto_auth_hmacsha256_keybytes=function(){return(Q._crypto_auth_hmacsha256_keybytes=Q.asm.R).apply(null,arguments)},Q._crypto_auth_hmacsha256_statebytes=function(){return(Q._crypto_auth_hmacsha256_statebytes=Q.asm.S).apply(null,arguments)},Q._crypto_auth_hmacsha256_keygen=function(){return(Q._crypto_auth_hmacsha256_keygen=Q.asm.T).apply(null,arguments)},Q._crypto_auth_hmacsha256_init=function(){return(Q._crypto_auth_hmacsha256_init=Q.asm.U).apply(null,arguments)},Q._crypto_auth_hmacsha256_update=function(){return(Q._crypto_auth_hmacsha256_update=Q.asm.V).apply(null,arguments)},Q._crypto_auth_hmacsha256_final=function(){return(Q._crypto_auth_hmacsha256_final=Q.asm.W).apply(null,arguments)},Q._crypto_auth_hmacsha256=function(){return(Q._crypto_auth_hmacsha256=Q.asm.X).apply(null,arguments)},Q._crypto_auth_hmacsha256_verify=function(){return(Q._crypto_auth_hmacsha256_verify=Q.asm.Y).apply(null,arguments)},Q._crypto_auth_hmacsha512_bytes=function(){return(Q._crypto_auth_hmacsha512_bytes=Q.asm.Z).apply(null,arguments)},Q._crypto_auth_hmacsha512_keybytes=function(){return(Q._crypto_auth_hmacsha512_keybytes=Q.asm._).apply(null,arguments)},Q._crypto_auth_hmacsha512_statebytes=function(){return(Q._crypto_auth_hmacsha512_statebytes=Q.asm.$).apply(null,arguments)},Q._crypto_auth_hmacsha512_keygen=function(){return(Q._crypto_auth_hmacsha512_keygen=Q.asm.aa).apply(null,arguments)},Q._crypto_auth_hmacsha512_init=function(){return(Q._crypto_auth_hmacsha512_init=Q.asm.ba).apply(null,arguments)},Q._crypto_auth_hmacsha512_update=function(){return(Q._crypto_auth_hmacsha512_update=Q.asm.ca).apply(null,arguments)},Q._crypto_auth_hmacsha512_final=function(){return(Q._crypto_auth_hmacsha512_final=Q.asm.da).apply(null,arguments)},Q._crypto_auth_hmacsha512=function(){return(Q._crypto_auth_hmacsha512=Q.asm.ea).apply(null,arguments)},Q._crypto_auth_hmacsha512_verify=function(){return(Q._crypto_auth_hmacsha512_verify=Q.asm.fa).apply(null,arguments)},Q._crypto_auth_hmacsha512256_bytes=function(){return(Q._crypto_auth_hmacsha512256_bytes=Q.asm.ga).apply(null,arguments)},Q._crypto_auth_hmacsha512256_keybytes=function(){return(Q._crypto_auth_hmacsha512256_keybytes=Q.asm.ha).apply(null,arguments)},Q._crypto_auth_hmacsha512256_statebytes=function(){return(Q._crypto_auth_hmacsha512256_statebytes=Q.asm.ia).apply(null,arguments)},Q._crypto_auth_hmacsha512256_keygen=function(){return(Q._crypto_auth_hmacsha512256_keygen=Q.asm.ja).apply(null,arguments)},Q._crypto_auth_hmacsha512256_init=function(){return(Q._crypto_auth_hmacsha512256_init=Q.asm.ka).apply(null,arguments)},Q._crypto_auth_hmacsha512256_update=function(){return(Q._crypto_auth_hmacsha512256_update=Q.asm.la).apply(null,arguments)},Q._crypto_auth_hmacsha512256_final=function(){return(Q._crypto_auth_hmacsha512256_final=Q.asm.ma).apply(null,arguments)},Q._crypto_auth_hmacsha512256=function(){return(Q._crypto_auth_hmacsha512256=Q.asm.na).apply(null,arguments)},Q._crypto_auth_hmacsha512256_verify=function(){return(Q._crypto_auth_hmacsha512256_verify=Q.asm.oa).apply(null,arguments)},Q._crypto_box_seedbytes=function(){return(Q._crypto_box_seedbytes=Q.asm.pa).apply(null,arguments)},Q._crypto_box_publickeybytes=function(){return(Q._crypto_box_publickeybytes=Q.asm.qa).apply(null,arguments)},Q._crypto_box_secretkeybytes=function(){return(Q._crypto_box_secretkeybytes=Q.asm.ra).apply(null,arguments)},Q._crypto_box_beforenmbytes=function(){return(Q._crypto_box_beforenmbytes=Q.asm.sa).apply(null,arguments)},Q._crypto_box_noncebytes=function(){return(Q._crypto_box_noncebytes=Q.asm.ta).apply(null,arguments)},Q._crypto_box_zerobytes=function(){return(Q._crypto_box_zerobytes=Q.asm.ua).apply(null,arguments)},Q._crypto_box_boxzerobytes=function(){return(Q._crypto_box_boxzerobytes=Q.asm.va).apply(null,arguments)},Q._crypto_box_macbytes=function(){return(Q._crypto_box_macbytes=Q.asm.wa).apply(null,arguments)},Q._crypto_box_messagebytes_max=function(){return(Q._crypto_box_messagebytes_max=Q.asm.xa).apply(null,arguments)},Q._crypto_box_primitive=function(){return(Q._crypto_box_primitive=Q.asm.ya).apply(null,arguments)},Q._crypto_box_seed_keypair=function(){return(Q._crypto_box_seed_keypair=Q.asm.za).apply(null,arguments)},Q._crypto_box_keypair=function(){return(Q._crypto_box_keypair=Q.asm.Aa).apply(null,arguments)},Q._crypto_box_beforenm=function(){return(Q._crypto_box_beforenm=Q.asm.Ba).apply(null,arguments)},Q._crypto_box_afternm=function(){return(Q._crypto_box_afternm=Q.asm.Ca).apply(null,arguments)},Q._crypto_box_open_afternm=function(){return(Q._crypto_box_open_afternm=Q.asm.Da).apply(null,arguments)},Q._crypto_box=function(){return(Q._crypto_box=Q.asm.Ea).apply(null,arguments)},Q._crypto_box_open=function(){return(Q._crypto_box_open=Q.asm.Fa).apply(null,arguments)},Q._crypto_box_detached_afternm=function(){return(Q._crypto_box_detached_afternm=Q.asm.Ga).apply(null,arguments)},Q._crypto_box_detached=function(){return(Q._crypto_box_detached=Q.asm.Ha).apply(null,arguments)},Q._crypto_box_easy_afternm=function(){return(Q._crypto_box_easy_afternm=Q.asm.Ia).apply(null,arguments)},Q._crypto_box_easy=function(){return(Q._crypto_box_easy=Q.asm.Ja).apply(null,arguments)},Q._crypto_box_open_detached_afternm=function(){return(Q._crypto_box_open_detached_afternm=Q.asm.Ka).apply(null,arguments)},Q._crypto_box_open_detached=function(){return(Q._crypto_box_open_detached=Q.asm.La).apply(null,arguments)},Q._crypto_box_open_easy_afternm=function(){return(Q._crypto_box_open_easy_afternm=Q.asm.Ma).apply(null,arguments)},Q._crypto_box_open_easy=function(){return(Q._crypto_box_open_easy=Q.asm.Na).apply(null,arguments)},Q._crypto_box_seal=function(){return(Q._crypto_box_seal=Q.asm.Oa).apply(null,arguments)},Q._crypto_box_seal_open=function(){return(Q._crypto_box_seal_open=Q.asm.Pa).apply(null,arguments)},Q._crypto_box_sealbytes=function(){return(Q._crypto_box_sealbytes=Q.asm.Qa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_seed_keypair=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_seed_keypair=Q.asm.Ra).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_keypair=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_keypair=Q.asm.Sa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_beforenm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_beforenm=Q.asm.Ta).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_afternm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_afternm=Q.asm.Ua).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_open_afternm=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_open_afternm=Q.asm.Va).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305=function(){return(Q._crypto_box_curve25519xsalsa20poly1305=Q.asm.Wa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_open=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_open=Q.asm.Xa).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_seedbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_seedbytes=Q.asm.Ya).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_publickeybytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_publickeybytes=Q.asm.Za).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=Q.asm._a).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=Q.asm.$a).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_noncebytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_noncebytes=Q.asm.ab).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_zerobytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_zerobytes=Q.asm.bb).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=Q.asm.cb).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_macbytes=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_macbytes=Q.asm.db).apply(null,arguments)},Q._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=function(){return(Q._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=Q.asm.eb).apply(null,arguments)},Q._crypto_core_hchacha20=function(){return(Q._crypto_core_hchacha20=Q.asm.fb).apply(null,arguments)},Q._crypto_core_hchacha20_outputbytes=function(){return(Q._crypto_core_hchacha20_outputbytes=Q.asm.gb).apply(null,arguments)},Q._crypto_core_hchacha20_inputbytes=function(){return(Q._crypto_core_hchacha20_inputbytes=Q.asm.hb).apply(null,arguments)},Q._crypto_core_hchacha20_keybytes=function(){return(Q._crypto_core_hchacha20_keybytes=Q.asm.ib).apply(null,arguments)},Q._crypto_core_hchacha20_constbytes=function(){return(Q._crypto_core_hchacha20_constbytes=Q.asm.jb).apply(null,arguments)},Q._crypto_core_hsalsa20=function(){return(Q._crypto_core_hsalsa20=Q.asm.kb).apply(null,arguments)},Q._crypto_core_hsalsa20_outputbytes=function(){return(Q._crypto_core_hsalsa20_outputbytes=Q.asm.lb).apply(null,arguments)},Q._crypto_core_hsalsa20_inputbytes=function(){return(Q._crypto_core_hsalsa20_inputbytes=Q.asm.mb).apply(null,arguments)},Q._crypto_core_hsalsa20_keybytes=function(){return(Q._crypto_core_hsalsa20_keybytes=Q.asm.nb).apply(null,arguments)},Q._crypto_core_hsalsa20_constbytes=function(){return(Q._crypto_core_hsalsa20_constbytes=Q.asm.ob).apply(null,arguments)},Q._crypto_core_salsa20=function(){return(Q._crypto_core_salsa20=Q.asm.pb).apply(null,arguments)},Q._crypto_core_salsa20_outputbytes=function(){return(Q._crypto_core_salsa20_outputbytes=Q.asm.qb).apply(null,arguments)},Q._crypto_core_salsa20_inputbytes=function(){return(Q._crypto_core_salsa20_inputbytes=Q.asm.rb).apply(null,arguments)},Q._crypto_core_salsa20_keybytes=function(){return(Q._crypto_core_salsa20_keybytes=Q.asm.sb).apply(null,arguments)},Q._crypto_core_salsa20_constbytes=function(){return(Q._crypto_core_salsa20_constbytes=Q.asm.tb).apply(null,arguments)},Q._crypto_core_salsa2012=function(){return(Q._crypto_core_salsa2012=Q.asm.ub).apply(null,arguments)},Q._crypto_core_salsa2012_outputbytes=function(){return(Q._crypto_core_salsa2012_outputbytes=Q.asm.vb).apply(null,arguments)},Q._crypto_core_salsa2012_inputbytes=function(){return(Q._crypto_core_salsa2012_inputbytes=Q.asm.wb).apply(null,arguments)},Q._crypto_core_salsa2012_keybytes=function(){return(Q._crypto_core_salsa2012_keybytes=Q.asm.xb).apply(null,arguments)},Q._crypto_core_salsa2012_constbytes=function(){return(Q._crypto_core_salsa2012_constbytes=Q.asm.yb).apply(null,arguments)},Q._crypto_core_salsa208=function(){return(Q._crypto_core_salsa208=Q.asm.zb).apply(null,arguments)},Q._crypto_core_salsa208_outputbytes=function(){return(Q._crypto_core_salsa208_outputbytes=Q.asm.Ab).apply(null,arguments)},Q._crypto_core_salsa208_inputbytes=function(){return(Q._crypto_core_salsa208_inputbytes=Q.asm.Bb).apply(null,arguments)},Q._crypto_core_salsa208_keybytes=function(){return(Q._crypto_core_salsa208_keybytes=Q.asm.Cb).apply(null,arguments)},Q._crypto_core_salsa208_constbytes=function(){return(Q._crypto_core_salsa208_constbytes=Q.asm.Db).apply(null,arguments)},Q._crypto_generichash_bytes_min=function(){return(Q._crypto_generichash_bytes_min=Q.asm.Eb).apply(null,arguments)},Q._crypto_generichash_bytes_max=function(){return(Q._crypto_generichash_bytes_max=Q.asm.Fb).apply(null,arguments)},Q._crypto_generichash_bytes=function(){return(Q._crypto_generichash_bytes=Q.asm.Gb).apply(null,arguments)},Q._crypto_generichash_keybytes_min=function(){return(Q._crypto_generichash_keybytes_min=Q.asm.Hb).apply(null,arguments)},Q._crypto_generichash_keybytes_max=function(){return(Q._crypto_generichash_keybytes_max=Q.asm.Ib).apply(null,arguments)},Q._crypto_generichash_keybytes=function(){return(Q._crypto_generichash_keybytes=Q.asm.Jb).apply(null,arguments)},Q._crypto_generichash_primitive=function(){return(Q._crypto_generichash_primitive=Q.asm.Kb).apply(null,arguments)},Q._crypto_generichash_statebytes=function(){return(Q._crypto_generichash_statebytes=Q.asm.Lb).apply(null,arguments)},Q._crypto_generichash=function(){return(Q._crypto_generichash=Q.asm.Mb).apply(null,arguments)},Q._crypto_generichash_init=function(){return(Q._crypto_generichash_init=Q.asm.Nb).apply(null,arguments)},Q._crypto_generichash_update=function(){return(Q._crypto_generichash_update=Q.asm.Ob).apply(null,arguments)},Q._crypto_generichash_final=function(){return(Q._crypto_generichash_final=Q.asm.Pb).apply(null,arguments)},Q._crypto_generichash_keygen=function(){return(Q._crypto_generichash_keygen=Q.asm.Qb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes_min=function(){return(Q._crypto_generichash_blake2b_bytes_min=Q.asm.Rb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes_max=function(){return(Q._crypto_generichash_blake2b_bytes_max=Q.asm.Sb).apply(null,arguments)},Q._crypto_generichash_blake2b_bytes=function(){return(Q._crypto_generichash_blake2b_bytes=Q.asm.Tb).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes_min=function(){return(Q._crypto_generichash_blake2b_keybytes_min=Q.asm.Ub).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes_max=function(){return(Q._crypto_generichash_blake2b_keybytes_max=Q.asm.Vb).apply(null,arguments)},Q._crypto_generichash_blake2b_keybytes=function(){return(Q._crypto_generichash_blake2b_keybytes=Q.asm.Wb).apply(null,arguments)},Q._crypto_generichash_blake2b_saltbytes=function(){return(Q._crypto_generichash_blake2b_saltbytes=Q.asm.Xb).apply(null,arguments)},Q._crypto_generichash_blake2b_personalbytes=function(){return(Q._crypto_generichash_blake2b_personalbytes=Q.asm.Yb).apply(null,arguments)},Q._crypto_generichash_blake2b_statebytes=function(){return(Q._crypto_generichash_blake2b_statebytes=Q.asm.Zb).apply(null,arguments)},Q._crypto_generichash_blake2b_keygen=function(){return(Q._crypto_generichash_blake2b_keygen=Q.asm._b).apply(null,arguments)},Q._crypto_generichash_blake2b=function(){return(Q._crypto_generichash_blake2b=Q.asm.$b).apply(null,arguments)},Q._crypto_generichash_blake2b_salt_personal=function(){return(Q._crypto_generichash_blake2b_salt_personal=Q.asm.ac).apply(null,arguments)},Q._crypto_generichash_blake2b_init=function(){return(Q._crypto_generichash_blake2b_init=Q.asm.bc).apply(null,arguments)},Q._crypto_generichash_blake2b_init_salt_personal=function(){return(Q._crypto_generichash_blake2b_init_salt_personal=Q.asm.cc).apply(null,arguments)},Q._crypto_generichash_blake2b_update=function(){return(Q._crypto_generichash_blake2b_update=Q.asm.dc).apply(null,arguments)},Q._crypto_generichash_blake2b_final=function(){return(Q._crypto_generichash_blake2b_final=Q.asm.ec).apply(null,arguments)},Q._crypto_hash_bytes=function(){return(Q._crypto_hash_bytes=Q.asm.fc).apply(null,arguments)},Q._crypto_hash=function(){return(Q._crypto_hash=Q.asm.gc).apply(null,arguments)},Q._crypto_hash_primitive=function(){return(Q._crypto_hash_primitive=Q.asm.hc).apply(null,arguments)},Q._crypto_hash_sha256_bytes=function(){return(Q._crypto_hash_sha256_bytes=Q.asm.ic).apply(null,arguments)},Q._crypto_hash_sha256_statebytes=function(){return(Q._crypto_hash_sha256_statebytes=Q.asm.jc).apply(null,arguments)},Q._crypto_hash_sha256_init=function(){return(Q._crypto_hash_sha256_init=Q.asm.kc).apply(null,arguments)},Q._crypto_hash_sha256_update=function(){return(Q._crypto_hash_sha256_update=Q.asm.lc).apply(null,arguments)},Q._crypto_hash_sha256_final=function(){return(Q._crypto_hash_sha256_final=Q.asm.mc).apply(null,arguments)},Q._crypto_hash_sha256=function(){return(Q._crypto_hash_sha256=Q.asm.nc).apply(null,arguments)},Q._crypto_hash_sha512_bytes=function(){return(Q._crypto_hash_sha512_bytes=Q.asm.oc).apply(null,arguments)},Q._crypto_hash_sha512_statebytes=function(){return(Q._crypto_hash_sha512_statebytes=Q.asm.pc).apply(null,arguments)},Q._crypto_hash_sha512_init=function(){return(Q._crypto_hash_sha512_init=Q.asm.qc).apply(null,arguments)},Q._crypto_hash_sha512_update=function(){return(Q._crypto_hash_sha512_update=Q.asm.rc).apply(null,arguments)},Q._crypto_hash_sha512_final=function(){return(Q._crypto_hash_sha512_final=Q.asm.sc).apply(null,arguments)},Q._crypto_hash_sha512=function(){return(Q._crypto_hash_sha512=Q.asm.tc).apply(null,arguments)},Q._crypto_kdf_blake2b_bytes_min=function(){return(Q._crypto_kdf_blake2b_bytes_min=Q.asm.uc).apply(null,arguments)},Q._crypto_kdf_blake2b_bytes_max=function(){return(Q._crypto_kdf_blake2b_bytes_max=Q.asm.vc).apply(null,arguments)},Q._crypto_kdf_blake2b_contextbytes=function(){return(Q._crypto_kdf_blake2b_contextbytes=Q.asm.wc).apply(null,arguments)},Q._crypto_kdf_blake2b_keybytes=function(){return(Q._crypto_kdf_blake2b_keybytes=Q.asm.xc).apply(null,arguments)},Q._crypto_kdf_blake2b_derive_from_key=function(){return(Q._crypto_kdf_blake2b_derive_from_key=Q.asm.yc).apply(null,arguments)},Q._crypto_kdf_primitive=function(){return(Q._crypto_kdf_primitive=Q.asm.zc).apply(null,arguments)},Q._crypto_kdf_bytes_min=function(){return(Q._crypto_kdf_bytes_min=Q.asm.Ac).apply(null,arguments)},Q._crypto_kdf_bytes_max=function(){return(Q._crypto_kdf_bytes_max=Q.asm.Bc).apply(null,arguments)},Q._crypto_kdf_contextbytes=function(){return(Q._crypto_kdf_contextbytes=Q.asm.Cc).apply(null,arguments)},Q._crypto_kdf_keybytes=function(){return(Q._crypto_kdf_keybytes=Q.asm.Dc).apply(null,arguments)},Q._crypto_kdf_derive_from_key=function(){return(Q._crypto_kdf_derive_from_key=Q.asm.Ec).apply(null,arguments)},Q._crypto_kdf_keygen=function(){return(Q._crypto_kdf_keygen=Q.asm.Fc).apply(null,arguments)},Q._crypto_kx_seed_keypair=function(){return(Q._crypto_kx_seed_keypair=Q.asm.Gc).apply(null,arguments)},Q._crypto_kx_keypair=function(){return(Q._crypto_kx_keypair=Q.asm.Hc).apply(null,arguments)},Q._crypto_kx_client_session_keys=function(){return(Q._crypto_kx_client_session_keys=Q.asm.Ic).apply(null,arguments)},Q._crypto_kx_server_session_keys=function(){return(Q._crypto_kx_server_session_keys=Q.asm.Jc).apply(null,arguments)},Q._crypto_kx_publickeybytes=function(){return(Q._crypto_kx_publickeybytes=Q.asm.Kc).apply(null,arguments)},Q._crypto_kx_secretkeybytes=function(){return(Q._crypto_kx_secretkeybytes=Q.asm.Lc).apply(null,arguments)},Q._crypto_kx_seedbytes=function(){return(Q._crypto_kx_seedbytes=Q.asm.Mc).apply(null,arguments)},Q._crypto_kx_sessionkeybytes=function(){return(Q._crypto_kx_sessionkeybytes=Q.asm.Nc).apply(null,arguments)},Q._crypto_kx_primitive=function(){return(Q._crypto_kx_primitive=Q.asm.Oc).apply(null,arguments)},Q._crypto_onetimeauth_statebytes=function(){return(Q._crypto_onetimeauth_statebytes=Q.asm.Pc).apply(null,arguments)},Q._crypto_onetimeauth_bytes=function(){return(Q._crypto_onetimeauth_bytes=Q.asm.Qc).apply(null,arguments)},Q._crypto_onetimeauth_keybytes=function(){return(Q._crypto_onetimeauth_keybytes=Q.asm.Rc).apply(null,arguments)},Q._crypto_onetimeauth=function(){return(Q._crypto_onetimeauth=Q.asm.Sc).apply(null,arguments)},Q._crypto_onetimeauth_verify=function(){return(Q._crypto_onetimeauth_verify=Q.asm.Tc).apply(null,arguments)},Q._crypto_onetimeauth_init=function(){return(Q._crypto_onetimeauth_init=Q.asm.Uc).apply(null,arguments)},Q._crypto_onetimeauth_update=function(){return(Q._crypto_onetimeauth_update=Q.asm.Vc).apply(null,arguments)},Q._crypto_onetimeauth_final=function(){return(Q._crypto_onetimeauth_final=Q.asm.Wc).apply(null,arguments)},Q._crypto_onetimeauth_primitive=function(){return(Q._crypto_onetimeauth_primitive=Q.asm.Xc).apply(null,arguments)},Q._crypto_onetimeauth_keygen=function(){return(Q._crypto_onetimeauth_keygen=Q.asm.Yc).apply(null,arguments)},Q._crypto_onetimeauth_poly1305=function(){return(Q._crypto_onetimeauth_poly1305=Q.asm.Zc).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_verify=function(){return(Q._crypto_onetimeauth_poly1305_verify=Q.asm._c).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_init=function(){return(Q._crypto_onetimeauth_poly1305_init=Q.asm.$c).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_update=function(){return(Q._crypto_onetimeauth_poly1305_update=Q.asm.ad).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_final=function(){return(Q._crypto_onetimeauth_poly1305_final=Q.asm.bd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_bytes=function(){return(Q._crypto_onetimeauth_poly1305_bytes=Q.asm.cd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_keybytes=function(){return(Q._crypto_onetimeauth_poly1305_keybytes=Q.asm.dd).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_statebytes=function(){return(Q._crypto_onetimeauth_poly1305_statebytes=Q.asm.ed).apply(null,arguments)},Q._crypto_onetimeauth_poly1305_keygen=function(){return(Q._crypto_onetimeauth_poly1305_keygen=Q.asm.fd).apply(null,arguments)},Q._crypto_pwhash_argon2i_alg_argon2i13=function(){return(Q._crypto_pwhash_argon2i_alg_argon2i13=Q.asm.gd).apply(null,arguments)},Q._crypto_pwhash_argon2i_bytes_min=function(){return(Q._crypto_pwhash_argon2i_bytes_min=Q.asm.hd).apply(null,arguments)},Q._crypto_pwhash_argon2i_bytes_max=function(){return(Q._crypto_pwhash_argon2i_bytes_max=Q.asm.id).apply(null,arguments)},Q._crypto_pwhash_argon2i_passwd_min=function(){return(Q._crypto_pwhash_argon2i_passwd_min=Q.asm.jd).apply(null,arguments)},Q._crypto_pwhash_argon2i_passwd_max=function(){return(Q._crypto_pwhash_argon2i_passwd_max=Q.asm.kd).apply(null,arguments)},Q._crypto_pwhash_argon2i_saltbytes=function(){return(Q._crypto_pwhash_argon2i_saltbytes=Q.asm.ld).apply(null,arguments)},Q._crypto_pwhash_argon2i_strbytes=function(){return(Q._crypto_pwhash_argon2i_strbytes=Q.asm.md).apply(null,arguments)},Q._crypto_pwhash_argon2i_strprefix=function(){return(Q._crypto_pwhash_argon2i_strprefix=Q.asm.nd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_min=function(){return(Q._crypto_pwhash_argon2i_opslimit_min=Q.asm.od).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_max=function(){return(Q._crypto_pwhash_argon2i_opslimit_max=Q.asm.pd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_min=function(){return(Q._crypto_pwhash_argon2i_memlimit_min=Q.asm.qd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_max=function(){return(Q._crypto_pwhash_argon2i_memlimit_max=Q.asm.rd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_interactive=function(){return(Q._crypto_pwhash_argon2i_opslimit_interactive=Q.asm.sd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_interactive=function(){return(Q._crypto_pwhash_argon2i_memlimit_interactive=Q.asm.td).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_moderate=function(){return(Q._crypto_pwhash_argon2i_opslimit_moderate=Q.asm.ud).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_moderate=function(){return(Q._crypto_pwhash_argon2i_memlimit_moderate=Q.asm.vd).apply(null,arguments)},Q._crypto_pwhash_argon2i_opslimit_sensitive=function(){return(Q._crypto_pwhash_argon2i_opslimit_sensitive=Q.asm.wd).apply(null,arguments)},Q._crypto_pwhash_argon2i_memlimit_sensitive=function(){return(Q._crypto_pwhash_argon2i_memlimit_sensitive=Q.asm.xd).apply(null,arguments)},Q._crypto_pwhash_argon2i=function(){return(Q._crypto_pwhash_argon2i=Q.asm.yd).apply(null,arguments)},Q._crypto_pwhash_argon2i_str=function(){return(Q._crypto_pwhash_argon2i_str=Q.asm.zd).apply(null,arguments)},Q._crypto_pwhash_argon2i_str_verify=function(){return(Q._crypto_pwhash_argon2i_str_verify=Q.asm.Ad).apply(null,arguments)},Q._crypto_pwhash_argon2i_str_needs_rehash=function(){return(Q._crypto_pwhash_argon2i_str_needs_rehash=Q.asm.Bd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str_needs_rehash=function(){return(Q._crypto_pwhash_argon2id_str_needs_rehash=Q.asm.Cd).apply(null,arguments)},Q._crypto_pwhash_argon2id_alg_argon2id13=function(){return(Q._crypto_pwhash_argon2id_alg_argon2id13=Q.asm.Dd).apply(null,arguments)},Q._crypto_pwhash_argon2id_bytes_min=function(){return(Q._crypto_pwhash_argon2id_bytes_min=Q.asm.Ed).apply(null,arguments)},Q._crypto_pwhash_argon2id_bytes_max=function(){return(Q._crypto_pwhash_argon2id_bytes_max=Q.asm.Fd).apply(null,arguments)},Q._crypto_pwhash_argon2id_passwd_min=function(){return(Q._crypto_pwhash_argon2id_passwd_min=Q.asm.Gd).apply(null,arguments)},Q._crypto_pwhash_argon2id_passwd_max=function(){return(Q._crypto_pwhash_argon2id_passwd_max=Q.asm.Hd).apply(null,arguments)},Q._crypto_pwhash_argon2id_saltbytes=function(){return(Q._crypto_pwhash_argon2id_saltbytes=Q.asm.Id).apply(null,arguments)},Q._crypto_pwhash_argon2id_strbytes=function(){return(Q._crypto_pwhash_argon2id_strbytes=Q.asm.Jd).apply(null,arguments)},Q._crypto_pwhash_argon2id_strprefix=function(){return(Q._crypto_pwhash_argon2id_strprefix=Q.asm.Kd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_min=function(){return(Q._crypto_pwhash_argon2id_opslimit_min=Q.asm.Ld).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_max=function(){return(Q._crypto_pwhash_argon2id_opslimit_max=Q.asm.Md).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_min=function(){return(Q._crypto_pwhash_argon2id_memlimit_min=Q.asm.Nd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_max=function(){return(Q._crypto_pwhash_argon2id_memlimit_max=Q.asm.Od).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_interactive=function(){return(Q._crypto_pwhash_argon2id_opslimit_interactive=Q.asm.Pd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_interactive=function(){return(Q._crypto_pwhash_argon2id_memlimit_interactive=Q.asm.Qd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_moderate=function(){return(Q._crypto_pwhash_argon2id_opslimit_moderate=Q.asm.Rd).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_moderate=function(){return(Q._crypto_pwhash_argon2id_memlimit_moderate=Q.asm.Sd).apply(null,arguments)},Q._crypto_pwhash_argon2id_opslimit_sensitive=function(){return(Q._crypto_pwhash_argon2id_opslimit_sensitive=Q.asm.Td).apply(null,arguments)},Q._crypto_pwhash_argon2id_memlimit_sensitive=function(){return(Q._crypto_pwhash_argon2id_memlimit_sensitive=Q.asm.Ud).apply(null,arguments)},Q._crypto_pwhash_argon2id=function(){return(Q._crypto_pwhash_argon2id=Q.asm.Vd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str=function(){return(Q._crypto_pwhash_argon2id_str=Q.asm.Wd).apply(null,arguments)},Q._crypto_pwhash_argon2id_str_verify=function(){return(Q._crypto_pwhash_argon2id_str_verify=Q.asm.Xd).apply(null,arguments)},Q._crypto_pwhash_alg_argon2i13=function(){return(Q._crypto_pwhash_alg_argon2i13=Q.asm.Yd).apply(null,arguments)},Q._crypto_pwhash_alg_argon2id13=function(){return(Q._crypto_pwhash_alg_argon2id13=Q.asm.Zd).apply(null,arguments)},Q._crypto_pwhash_alg_default=function(){return(Q._crypto_pwhash_alg_default=Q.asm._d).apply(null,arguments)},Q._crypto_pwhash_bytes_min=function(){return(Q._crypto_pwhash_bytes_min=Q.asm.$d).apply(null,arguments)},Q._crypto_pwhash_bytes_max=function(){return(Q._crypto_pwhash_bytes_max=Q.asm.ae).apply(null,arguments)},Q._crypto_pwhash_passwd_min=function(){return(Q._crypto_pwhash_passwd_min=Q.asm.be).apply(null,arguments)},Q._crypto_pwhash_passwd_max=function(){return(Q._crypto_pwhash_passwd_max=Q.asm.ce).apply(null,arguments)},Q._crypto_pwhash_saltbytes=function(){return(Q._crypto_pwhash_saltbytes=Q.asm.de).apply(null,arguments)},Q._crypto_pwhash_strbytes=function(){return(Q._crypto_pwhash_strbytes=Q.asm.ee).apply(null,arguments)},Q._crypto_pwhash_strprefix=function(){return(Q._crypto_pwhash_strprefix=Q.asm.fe).apply(null,arguments)},Q._crypto_pwhash_opslimit_min=function(){return(Q._crypto_pwhash_opslimit_min=Q.asm.ge).apply(null,arguments)},Q._crypto_pwhash_opslimit_max=function(){return(Q._crypto_pwhash_opslimit_max=Q.asm.he).apply(null,arguments)},Q._crypto_pwhash_memlimit_min=function(){return(Q._crypto_pwhash_memlimit_min=Q.asm.ie).apply(null,arguments)},Q._crypto_pwhash_memlimit_max=function(){return(Q._crypto_pwhash_memlimit_max=Q.asm.je).apply(null,arguments)},Q._crypto_pwhash_opslimit_interactive=function(){return(Q._crypto_pwhash_opslimit_interactive=Q.asm.ke).apply(null,arguments)},Q._crypto_pwhash_memlimit_interactive=function(){return(Q._crypto_pwhash_memlimit_interactive=Q.asm.le).apply(null,arguments)},Q._crypto_pwhash_opslimit_moderate=function(){return(Q._crypto_pwhash_opslimit_moderate=Q.asm.me).apply(null,arguments)},Q._crypto_pwhash_memlimit_moderate=function(){return(Q._crypto_pwhash_memlimit_moderate=Q.asm.ne).apply(null,arguments)},Q._crypto_pwhash_opslimit_sensitive=function(){return(Q._crypto_pwhash_opslimit_sensitive=Q.asm.oe).apply(null,arguments)},Q._crypto_pwhash_memlimit_sensitive=function(){return(Q._crypto_pwhash_memlimit_sensitive=Q.asm.pe).apply(null,arguments)},Q._crypto_pwhash=function(){return(Q._crypto_pwhash=Q.asm.qe).apply(null,arguments)},Q._crypto_pwhash_str=function(){return(Q._crypto_pwhash_str=Q.asm.re).apply(null,arguments)},Q._crypto_pwhash_str_alg=function(){return(Q._crypto_pwhash_str_alg=Q.asm.se).apply(null,arguments)},Q._crypto_pwhash_str_verify=function(){return(Q._crypto_pwhash_str_verify=Q.asm.te).apply(null,arguments)},Q._crypto_pwhash_str_needs_rehash=function(){return(Q._crypto_pwhash_str_needs_rehash=Q.asm.ue).apply(null,arguments)},Q._crypto_pwhash_primitive=function(){return(Q._crypto_pwhash_primitive=Q.asm.ve).apply(null,arguments)},Q._crypto_scalarmult_primitive=function(){return(Q._crypto_scalarmult_primitive=Q.asm.we).apply(null,arguments)},Q._crypto_scalarmult_base=function(){return(Q._crypto_scalarmult_base=Q.asm.xe).apply(null,arguments)},Q._crypto_scalarmult=function(){return(Q._crypto_scalarmult=Q.asm.ye).apply(null,arguments)},Q._crypto_scalarmult_bytes=function(){return(Q._crypto_scalarmult_bytes=Q.asm.ze).apply(null,arguments)},Q._crypto_scalarmult_scalarbytes=function(){return(Q._crypto_scalarmult_scalarbytes=Q.asm.Ae).apply(null,arguments)},Q._crypto_scalarmult_curve25519=function(){return(Q._crypto_scalarmult_curve25519=Q.asm.Be).apply(null,arguments)},Q._crypto_scalarmult_curve25519_base=function(){return(Q._crypto_scalarmult_curve25519_base=Q.asm.Ce).apply(null,arguments)},Q._crypto_scalarmult_curve25519_bytes=function(){return(Q._crypto_scalarmult_curve25519_bytes=Q.asm.De).apply(null,arguments)},Q._crypto_scalarmult_curve25519_scalarbytes=function(){return(Q._crypto_scalarmult_curve25519_scalarbytes=Q.asm.Ee).apply(null,arguments)},Q._crypto_secretbox_keybytes=function(){return(Q._crypto_secretbox_keybytes=Q.asm.Fe).apply(null,arguments)},Q._crypto_secretbox_noncebytes=function(){return(Q._crypto_secretbox_noncebytes=Q.asm.Ge).apply(null,arguments)},Q._crypto_secretbox_zerobytes=function(){return(Q._crypto_secretbox_zerobytes=Q.asm.He).apply(null,arguments)},Q._crypto_secretbox_boxzerobytes=function(){return(Q._crypto_secretbox_boxzerobytes=Q.asm.Ie).apply(null,arguments)},Q._crypto_secretbox_macbytes=function(){return(Q._crypto_secretbox_macbytes=Q.asm.Je).apply(null,arguments)},Q._crypto_secretbox_messagebytes_max=function(){return(Q._crypto_secretbox_messagebytes_max=Q.asm.Ke).apply(null,arguments)},Q._crypto_secretbox_primitive=function(){return(Q._crypto_secretbox_primitive=Q.asm.Le).apply(null,arguments)},Q._crypto_secretbox=function(){return(Q._crypto_secretbox=Q.asm.Me).apply(null,arguments)},Q._crypto_secretbox_open=function(){return(Q._crypto_secretbox_open=Q.asm.Ne).apply(null,arguments)},Q._crypto_secretbox_keygen=function(){return(Q._crypto_secretbox_keygen=Q.asm.Oe).apply(null,arguments)},Q._crypto_secretbox_detached=function(){return(Q._crypto_secretbox_detached=Q.asm.Pe).apply(null,arguments)},Q._crypto_secretbox_easy=function(){return(Q._crypto_secretbox_easy=Q.asm.Qe).apply(null,arguments)},Q._crypto_secretbox_open_detached=function(){return(Q._crypto_secretbox_open_detached=Q.asm.Re).apply(null,arguments)},Q._crypto_secretbox_open_easy=function(){return(Q._crypto_secretbox_open_easy=Q.asm.Se).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305=function(){return(Q._crypto_secretbox_xsalsa20poly1305=Q.asm.Te).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_open=function(){return(Q._crypto_secretbox_xsalsa20poly1305_open=Q.asm.Ue).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_keybytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_keybytes=Q.asm.Ve).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_noncebytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_noncebytes=Q.asm.We).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_zerobytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_zerobytes=Q.asm.Xe).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_boxzerobytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_boxzerobytes=Q.asm.Ye).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_macbytes=function(){return(Q._crypto_secretbox_xsalsa20poly1305_macbytes=Q.asm.Ze).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_messagebytes_max=function(){return(Q._crypto_secretbox_xsalsa20poly1305_messagebytes_max=Q.asm._e).apply(null,arguments)},Q._crypto_secretbox_xsalsa20poly1305_keygen=function(){return(Q._crypto_secretbox_xsalsa20poly1305_keygen=Q.asm.$e).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_keygen=function(){return(Q._crypto_secretstream_xchacha20poly1305_keygen=Q.asm.af).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_init_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_init_push=Q.asm.bf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_init_pull=function(){return(Q._crypto_secretstream_xchacha20poly1305_init_pull=Q.asm.cf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_rekey=function(){return(Q._crypto_secretstream_xchacha20poly1305_rekey=Q.asm.df).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_push=Q.asm.ef).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_pull=function(){return(Q._crypto_secretstream_xchacha20poly1305_pull=Q.asm.ff).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_statebytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_statebytes=Q.asm.gf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_abytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_abytes=Q.asm.hf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_headerbytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_headerbytes=Q.asm.jf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_keybytes=function(){return(Q._crypto_secretstream_xchacha20poly1305_keybytes=Q.asm.kf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_secretstream_xchacha20poly1305_messagebytes_max=Q.asm.lf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_message=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_message=Q.asm.mf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_push=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_push=Q.asm.nf).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_rekey=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_rekey=Q.asm.of).apply(null,arguments)},Q._crypto_secretstream_xchacha20poly1305_tag_final=function(){return(Q._crypto_secretstream_xchacha20poly1305_tag_final=Q.asm.pf).apply(null,arguments)},Q._crypto_shorthash_bytes=function(){return(Q._crypto_shorthash_bytes=Q.asm.qf).apply(null,arguments)},Q._crypto_shorthash_keybytes=function(){return(Q._crypto_shorthash_keybytes=Q.asm.rf).apply(null,arguments)},Q._crypto_shorthash_primitive=function(){return(Q._crypto_shorthash_primitive=Q.asm.sf).apply(null,arguments)},Q._crypto_shorthash=function(){return(Q._crypto_shorthash=Q.asm.tf).apply(null,arguments)},Q._crypto_shorthash_keygen=function(){return(Q._crypto_shorthash_keygen=Q.asm.uf).apply(null,arguments)},Q._crypto_shorthash_siphash24_bytes=function(){return(Q._crypto_shorthash_siphash24_bytes=Q.asm.vf).apply(null,arguments)},Q._crypto_shorthash_siphash24_keybytes=function(){return(Q._crypto_shorthash_siphash24_keybytes=Q.asm.wf).apply(null,arguments)},Q._crypto_shorthash_siphash24=function(){return(Q._crypto_shorthash_siphash24=Q.asm.xf).apply(null,arguments)},Q._crypto_sign_statebytes=function(){return(Q._crypto_sign_statebytes=Q.asm.yf).apply(null,arguments)},Q._crypto_sign_bytes=function(){return(Q._crypto_sign_bytes=Q.asm.zf).apply(null,arguments)},Q._crypto_sign_seedbytes=function(){return(Q._crypto_sign_seedbytes=Q.asm.Af).apply(null,arguments)},Q._crypto_sign_publickeybytes=function(){return(Q._crypto_sign_publickeybytes=Q.asm.Bf).apply(null,arguments)},Q._crypto_sign_secretkeybytes=function(){return(Q._crypto_sign_secretkeybytes=Q.asm.Cf).apply(null,arguments)},Q._crypto_sign_messagebytes_max=function(){return(Q._crypto_sign_messagebytes_max=Q.asm.Df).apply(null,arguments)},Q._crypto_sign_primitive=function(){return(Q._crypto_sign_primitive=Q.asm.Ef).apply(null,arguments)},Q._crypto_sign_seed_keypair=function(){return(Q._crypto_sign_seed_keypair=Q.asm.Ff).apply(null,arguments)},Q._crypto_sign_keypair=function(){return(Q._crypto_sign_keypair=Q.asm.Gf).apply(null,arguments)},Q._crypto_sign=function(){return(Q._crypto_sign=Q.asm.Hf).apply(null,arguments)},Q._crypto_sign_open=function(){return(Q._crypto_sign_open=Q.asm.If).apply(null,arguments)},Q._crypto_sign_detached=function(){return(Q._crypto_sign_detached=Q.asm.Jf).apply(null,arguments)},Q._crypto_sign_verify_detached=function(){return(Q._crypto_sign_verify_detached=Q.asm.Kf).apply(null,arguments)},Q._crypto_sign_init=function(){return(Q._crypto_sign_init=Q.asm.Lf).apply(null,arguments)},Q._crypto_sign_update=function(){return(Q._crypto_sign_update=Q.asm.Mf).apply(null,arguments)},Q._crypto_sign_final_create=function(){return(Q._crypto_sign_final_create=Q.asm.Nf).apply(null,arguments)},Q._crypto_sign_final_verify=function(){return(Q._crypto_sign_final_verify=Q.asm.Of).apply(null,arguments)},Q._crypto_sign_ed25519ph_statebytes=function(){return(Q._crypto_sign_ed25519ph_statebytes=Q.asm.Pf).apply(null,arguments)},Q._crypto_sign_ed25519_bytes=function(){return(Q._crypto_sign_ed25519_bytes=Q.asm.Qf).apply(null,arguments)},Q._crypto_sign_ed25519_seedbytes=function(){return(Q._crypto_sign_ed25519_seedbytes=Q.asm.Rf).apply(null,arguments)},Q._crypto_sign_ed25519_publickeybytes=function(){return(Q._crypto_sign_ed25519_publickeybytes=Q.asm.Sf).apply(null,arguments)},Q._crypto_sign_ed25519_secretkeybytes=function(){return(Q._crypto_sign_ed25519_secretkeybytes=Q.asm.Tf).apply(null,arguments)},Q._crypto_sign_ed25519_messagebytes_max=function(){return(Q._crypto_sign_ed25519_messagebytes_max=Q.asm.Uf).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_seed=function(){return(Q._crypto_sign_ed25519_sk_to_seed=Q.asm.Vf).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_pk=function(){return(Q._crypto_sign_ed25519_sk_to_pk=Q.asm.Wf).apply(null,arguments)},Q._crypto_sign_ed25519ph_init=function(){return(Q._crypto_sign_ed25519ph_init=Q.asm.Xf).apply(null,arguments)},Q._crypto_sign_ed25519ph_update=function(){return(Q._crypto_sign_ed25519ph_update=Q.asm.Yf).apply(null,arguments)},Q._crypto_sign_ed25519ph_final_create=function(){return(Q._crypto_sign_ed25519ph_final_create=Q.asm.Zf).apply(null,arguments)},Q._crypto_sign_ed25519ph_final_verify=function(){return(Q._crypto_sign_ed25519ph_final_verify=Q.asm._f).apply(null,arguments)},Q._crypto_sign_ed25519_seed_keypair=function(){return(Q._crypto_sign_ed25519_seed_keypair=Q.asm.$f).apply(null,arguments)},Q._crypto_sign_ed25519_keypair=function(){return(Q._crypto_sign_ed25519_keypair=Q.asm.ag).apply(null,arguments)},Q._crypto_sign_ed25519_pk_to_curve25519=function(){return(Q._crypto_sign_ed25519_pk_to_curve25519=Q.asm.bg).apply(null,arguments)},Q._crypto_sign_ed25519_sk_to_curve25519=function(){return(Q._crypto_sign_ed25519_sk_to_curve25519=Q.asm.cg).apply(null,arguments)},Q._crypto_sign_ed25519_verify_detached=function(){return(Q._crypto_sign_ed25519_verify_detached=Q.asm.dg).apply(null,arguments)},Q._crypto_sign_ed25519_open=function(){return(Q._crypto_sign_ed25519_open=Q.asm.eg).apply(null,arguments)},Q._crypto_sign_ed25519_detached=function(){return(Q._crypto_sign_ed25519_detached=Q.asm.fg).apply(null,arguments)},Q._crypto_sign_ed25519=function(){return(Q._crypto_sign_ed25519=Q.asm.gg).apply(null,arguments)},Q._crypto_stream_chacha20_keybytes=function(){return(Q._crypto_stream_chacha20_keybytes=Q.asm.hg).apply(null,arguments)},Q._crypto_stream_chacha20_noncebytes=function(){return(Q._crypto_stream_chacha20_noncebytes=Q.asm.ig).apply(null,arguments)},Q._crypto_stream_chacha20_messagebytes_max=function(){return(Q._crypto_stream_chacha20_messagebytes_max=Q.asm.jg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_keybytes=function(){return(Q._crypto_stream_chacha20_ietf_keybytes=Q.asm.kg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_noncebytes=function(){return(Q._crypto_stream_chacha20_ietf_noncebytes=Q.asm.lg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_messagebytes_max=function(){return(Q._crypto_stream_chacha20_ietf_messagebytes_max=Q.asm.mg).apply(null,arguments)},Q._crypto_stream_chacha20=function(){return(Q._crypto_stream_chacha20=Q.asm.ng).apply(null,arguments)},Q._crypto_stream_chacha20_xor_ic=function(){return(Q._crypto_stream_chacha20_xor_ic=Q.asm.og).apply(null,arguments)},Q._crypto_stream_chacha20_xor=function(){return(Q._crypto_stream_chacha20_xor=Q.asm.pg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf=function(){return(Q._crypto_stream_chacha20_ietf=Q.asm.qg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_xor_ic=function(){return(Q._crypto_stream_chacha20_ietf_xor_ic=Q.asm.rg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_xor=function(){return(Q._crypto_stream_chacha20_ietf_xor=Q.asm.sg).apply(null,arguments)},Q._crypto_stream_chacha20_ietf_keygen=function(){return(Q._crypto_stream_chacha20_ietf_keygen=Q.asm.tg).apply(null,arguments)},Q._crypto_stream_chacha20_keygen=function(){return(Q._crypto_stream_chacha20_keygen=Q.asm.ug).apply(null,arguments)},Q._crypto_stream_keybytes=function(){return(Q._crypto_stream_keybytes=Q.asm.vg).apply(null,arguments)},Q._crypto_stream_noncebytes=function(){return(Q._crypto_stream_noncebytes=Q.asm.wg).apply(null,arguments)},Q._crypto_stream_messagebytes_max=function(){return(Q._crypto_stream_messagebytes_max=Q.asm.xg).apply(null,arguments)},Q._crypto_stream_primitive=function(){return(Q._crypto_stream_primitive=Q.asm.yg).apply(null,arguments)},Q._crypto_stream=function(){return(Q._crypto_stream=Q.asm.zg).apply(null,arguments)},Q._crypto_stream_xor=function(){return(Q._crypto_stream_xor=Q.asm.Ag).apply(null,arguments)},Q._crypto_stream_keygen=function(){return(Q._crypto_stream_keygen=Q.asm.Bg).apply(null,arguments)},Q._crypto_stream_salsa20_keybytes=function(){return(Q._crypto_stream_salsa20_keybytes=Q.asm.Cg).apply(null,arguments)},Q._crypto_stream_salsa20_noncebytes=function(){return(Q._crypto_stream_salsa20_noncebytes=Q.asm.Dg).apply(null,arguments)},Q._crypto_stream_salsa20_messagebytes_max=function(){return(Q._crypto_stream_salsa20_messagebytes_max=Q.asm.Eg).apply(null,arguments)},Q._crypto_stream_salsa20=function(){return(Q._crypto_stream_salsa20=Q.asm.Fg).apply(null,arguments)},Q._crypto_stream_salsa20_xor_ic=function(){return(Q._crypto_stream_salsa20_xor_ic=Q.asm.Gg).apply(null,arguments)},Q._crypto_stream_salsa20_xor=function(){return(Q._crypto_stream_salsa20_xor=Q.asm.Hg).apply(null,arguments)},Q._crypto_stream_salsa20_keygen=function(){return(Q._crypto_stream_salsa20_keygen=Q.asm.Ig).apply(null,arguments)},Q._crypto_stream_xsalsa20=function(){return(Q._crypto_stream_xsalsa20=Q.asm.Jg).apply(null,arguments)},Q._crypto_stream_xsalsa20_xor_ic=function(){return(Q._crypto_stream_xsalsa20_xor_ic=Q.asm.Kg).apply(null,arguments)},Q._crypto_stream_xsalsa20_xor=function(){return(Q._crypto_stream_xsalsa20_xor=Q.asm.Lg).apply(null,arguments)},Q._crypto_stream_xsalsa20_keybytes=function(){return(Q._crypto_stream_xsalsa20_keybytes=Q.asm.Mg).apply(null,arguments)},Q._crypto_stream_xsalsa20_noncebytes=function(){return(Q._crypto_stream_xsalsa20_noncebytes=Q.asm.Ng).apply(null,arguments)},Q._crypto_stream_xsalsa20_messagebytes_max=function(){return(Q._crypto_stream_xsalsa20_messagebytes_max=Q.asm.Og).apply(null,arguments)},Q._crypto_stream_xsalsa20_keygen=function(){return(Q._crypto_stream_xsalsa20_keygen=Q.asm.Pg).apply(null,arguments)},Q._crypto_verify_16_bytes=function(){return(Q._crypto_verify_16_bytes=Q.asm.Qg).apply(null,arguments)},Q._crypto_verify_32_bytes=function(){return(Q._crypto_verify_32_bytes=Q.asm.Rg).apply(null,arguments)},Q._crypto_verify_64_bytes=function(){return(Q._crypto_verify_64_bytes=Q.asm.Sg).apply(null,arguments)},Q._crypto_verify_16=function(){return(Q._crypto_verify_16=Q.asm.Tg).apply(null,arguments)},Q._crypto_verify_32=function(){return(Q._crypto_verify_32=Q.asm.Ug).apply(null,arguments)},Q._crypto_verify_64=function(){return(Q._crypto_verify_64=Q.asm.Vg).apply(null,arguments)},Q._randombytes_implementation_name=function(){return(Q._randombytes_implementation_name=Q.asm.Wg).apply(null,arguments)},Q._randombytes_random=function(){return(Q._randombytes_random=Q.asm.Xg).apply(null,arguments)},Q._randombytes_stir=function(){return(Q._randombytes_stir=Q.asm.Yg).apply(null,arguments)},Q._randombytes_uniform=function(){return(Q._randombytes_uniform=Q.asm.Zg).apply(null,arguments)},Q._randombytes_buf=function(){return(Q._randombytes_buf=Q.asm._g).apply(null,arguments)},Q._randombytes_buf_deterministic=function(){return(Q._randombytes_buf_deterministic=Q.asm.$g).apply(null,arguments)},Q._randombytes_seedbytes=function(){return(Q._randombytes_seedbytes=Q.asm.ah).apply(null,arguments)},Q._randombytes_close=function(){return(Q._randombytes_close=Q.asm.bh).apply(null,arguments)},Q._randombytes=function(){return(Q._randombytes=Q.asm.ch).apply(null,arguments)},Q._sodium_bin2hex=function(){return(Q._sodium_bin2hex=Q.asm.dh).apply(null,arguments)},Q._sodium_hex2bin=function(){return(Q._sodium_hex2bin=Q.asm.eh).apply(null,arguments)},Q._sodium_base64_encoded_len=function(){return(Q._sodium_base64_encoded_len=Q.asm.fh).apply(null,arguments)},Q._sodium_bin2base64=function(){return(Q._sodium_bin2base64=Q.asm.gh).apply(null,arguments)},Q._sodium_base642bin=function(){return(Q._sodium_base642bin=Q.asm.hh).apply(null,arguments)},Q._sodium_init=function(){return(Q._sodium_init=Q.asm.ih).apply(null,arguments)},Q._sodium_pad=function(){return(Q._sodium_pad=Q.asm.jh).apply(null,arguments)},Q._sodium_unpad=function(){return(Q._sodium_unpad=Q.asm.kh).apply(null,arguments)},Q._sodium_version_string=function(){return(Q._sodium_version_string=Q.asm.lh).apply(null,arguments)},Q._sodium_library_version_major=function(){return(Q._sodium_library_version_major=Q.asm.mh).apply(null,arguments)},Q._sodium_library_version_minor=function(){return(Q._sodium_library_version_minor=Q.asm.nh).apply(null,arguments)},Q._sodium_library_minimal=function(){return(Q._sodium_library_minimal=Q.asm.oh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seed_keypair=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seed_keypair=Q.asm.ph).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_keypair=function(){return(Q._crypto_box_curve25519xchacha20poly1305_keypair=Q.asm.qh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_beforenm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_beforenm=Q.asm.rh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_detached_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_detached_afternm=Q.asm.sh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_detached=function(){return(Q._crypto_box_curve25519xchacha20poly1305_detached=Q.asm.th).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_easy_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_easy_afternm=Q.asm.uh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_easy=function(){return(Q._crypto_box_curve25519xchacha20poly1305_easy=Q.asm.vh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=Q.asm.wh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_detached=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_detached=Q.asm.xh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=Q.asm.yh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_open_easy=function(){return(Q._crypto_box_curve25519xchacha20poly1305_open_easy=Q.asm.zh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seedbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seedbytes=Q.asm.Ah).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_publickeybytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_publickeybytes=Q.asm.Bh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_secretkeybytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_secretkeybytes=Q.asm.Ch).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_beforenmbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_beforenmbytes=Q.asm.Dh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_noncebytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_noncebytes=Q.asm.Eh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_macbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_macbytes=Q.asm.Fh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_box_curve25519xchacha20poly1305_messagebytes_max=Q.asm.Gh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seal=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seal=Q.asm.Hh).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_seal_open=function(){return(Q._crypto_box_curve25519xchacha20poly1305_seal_open=Q.asm.Ih).apply(null,arguments)},Q._crypto_box_curve25519xchacha20poly1305_sealbytes=function(){return(Q._crypto_box_curve25519xchacha20poly1305_sealbytes=Q.asm.Jh).apply(null,arguments)},Q._crypto_core_ed25519_is_valid_point=function(){return(Q._crypto_core_ed25519_is_valid_point=Q.asm.Kh).apply(null,arguments)},Q._crypto_core_ed25519_add=function(){return(Q._crypto_core_ed25519_add=Q.asm.Lh).apply(null,arguments)},Q._crypto_core_ed25519_sub=function(){return(Q._crypto_core_ed25519_sub=Q.asm.Mh).apply(null,arguments)},Q._crypto_core_ed25519_from_uniform=function(){return(Q._crypto_core_ed25519_from_uniform=Q.asm.Nh).apply(null,arguments)},Q._crypto_core_ed25519_from_hash=function(){return(Q._crypto_core_ed25519_from_hash=Q.asm.Oh).apply(null,arguments)},Q._crypto_core_ed25519_random=function(){return(Q._crypto_core_ed25519_random=Q.asm.Ph).apply(null,arguments)},Q._crypto_core_ed25519_scalar_random=function(){return(Q._crypto_core_ed25519_scalar_random=Q.asm.Qh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_invert=function(){return(Q._crypto_core_ed25519_scalar_invert=Q.asm.Rh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_negate=function(){return(Q._crypto_core_ed25519_scalar_negate=Q.asm.Sh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_complement=function(){return(Q._crypto_core_ed25519_scalar_complement=Q.asm.Th).apply(null,arguments)},Q._crypto_core_ed25519_scalar_add=function(){return(Q._crypto_core_ed25519_scalar_add=Q.asm.Uh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_reduce=function(){return(Q._crypto_core_ed25519_scalar_reduce=Q.asm.Vh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_sub=function(){return(Q._crypto_core_ed25519_scalar_sub=Q.asm.Wh).apply(null,arguments)},Q._crypto_core_ed25519_scalar_mul=function(){return(Q._crypto_core_ed25519_scalar_mul=Q.asm.Xh).apply(null,arguments)},Q._crypto_core_ed25519_bytes=function(){return(Q._crypto_core_ed25519_bytes=Q.asm.Yh).apply(null,arguments)},Q._crypto_core_ed25519_nonreducedscalarbytes=function(){return(Q._crypto_core_ed25519_nonreducedscalarbytes=Q.asm.Zh).apply(null,arguments)},Q._crypto_core_ed25519_uniformbytes=function(){return(Q._crypto_core_ed25519_uniformbytes=Q.asm._h).apply(null,arguments)},Q._crypto_core_ed25519_hashbytes=function(){return(Q._crypto_core_ed25519_hashbytes=Q.asm.$h).apply(null,arguments)},Q._crypto_core_ed25519_scalarbytes=function(){return(Q._crypto_core_ed25519_scalarbytes=Q.asm.ai).apply(null,arguments)},Q._crypto_core_ristretto255_is_valid_point=function(){return(Q._crypto_core_ristretto255_is_valid_point=Q.asm.bi).apply(null,arguments)},Q._crypto_core_ristretto255_add=function(){return(Q._crypto_core_ristretto255_add=Q.asm.ci).apply(null,arguments)},Q._crypto_core_ristretto255_sub=function(){return(Q._crypto_core_ristretto255_sub=Q.asm.di).apply(null,arguments)},Q._crypto_core_ristretto255_from_hash=function(){return(Q._crypto_core_ristretto255_from_hash=Q.asm.ei).apply(null,arguments)},Q._crypto_core_ristretto255_random=function(){return(Q._crypto_core_ristretto255_random=Q.asm.fi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_random=function(){return(Q._crypto_core_ristretto255_scalar_random=Q.asm.gi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_invert=function(){return(Q._crypto_core_ristretto255_scalar_invert=Q.asm.hi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_negate=function(){return(Q._crypto_core_ristretto255_scalar_negate=Q.asm.ii).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_complement=function(){return(Q._crypto_core_ristretto255_scalar_complement=Q.asm.ji).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_add=function(){return(Q._crypto_core_ristretto255_scalar_add=Q.asm.ki).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_sub=function(){return(Q._crypto_core_ristretto255_scalar_sub=Q.asm.li).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_mul=function(){return(Q._crypto_core_ristretto255_scalar_mul=Q.asm.mi).apply(null,arguments)},Q._crypto_core_ristretto255_scalar_reduce=function(){return(Q._crypto_core_ristretto255_scalar_reduce=Q.asm.ni).apply(null,arguments)},Q._crypto_core_ristretto255_bytes=function(){return(Q._crypto_core_ristretto255_bytes=Q.asm.oi).apply(null,arguments)},Q._crypto_core_ristretto255_nonreducedscalarbytes=function(){return(Q._crypto_core_ristretto255_nonreducedscalarbytes=Q.asm.pi).apply(null,arguments)},Q._crypto_core_ristretto255_hashbytes=function(){return(Q._crypto_core_ristretto255_hashbytes=Q.asm.qi).apply(null,arguments)},Q._crypto_core_ristretto255_scalarbytes=function(){return(Q._crypto_core_ristretto255_scalarbytes=Q.asm.ri).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_ll=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_ll=Q.asm.si).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_bytes_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_bytes_min=Q.asm.ti).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_bytes_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_bytes_max=Q.asm.ui).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_passwd_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_passwd_min=Q.asm.vi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_passwd_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_passwd_max=Q.asm.wi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_saltbytes=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_saltbytes=Q.asm.xi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_strbytes=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_strbytes=Q.asm.yi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_strprefix=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_strprefix=Q.asm.zi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_min=Q.asm.Ai).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_max=Q.asm.Bi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_min=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_min=Q.asm.Ci).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_max=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_max=Q.asm.Di).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=Q.asm.Ei).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=Q.asm.Fi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=Q.asm.Gi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=Q.asm.Hi).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256=function(){return(Q._crypto_pwhash_scryptsalsa208sha256=Q.asm.Ii).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str=Q.asm.Ji).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str_verify=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str_verify=Q.asm.Ki).apply(null,arguments)},Q._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=function(){return(Q._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=Q.asm.Li).apply(null,arguments)},Q._crypto_scalarmult_ed25519=function(){return(Q._crypto_scalarmult_ed25519=Q.asm.Mi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_noclamp=function(){return(Q._crypto_scalarmult_ed25519_noclamp=Q.asm.Ni).apply(null,arguments)},Q._crypto_scalarmult_ed25519_base=function(){return(Q._crypto_scalarmult_ed25519_base=Q.asm.Oi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_base_noclamp=function(){return(Q._crypto_scalarmult_ed25519_base_noclamp=Q.asm.Pi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_bytes=function(){return(Q._crypto_scalarmult_ed25519_bytes=Q.asm.Qi).apply(null,arguments)},Q._crypto_scalarmult_ed25519_scalarbytes=function(){return(Q._crypto_scalarmult_ed25519_scalarbytes=Q.asm.Ri).apply(null,arguments)},Q._crypto_scalarmult_ristretto255=function(){return(Q._crypto_scalarmult_ristretto255=Q.asm.Si).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_base=function(){return(Q._crypto_scalarmult_ristretto255_base=Q.asm.Ti).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_bytes=function(){return(Q._crypto_scalarmult_ristretto255_bytes=Q.asm.Ui).apply(null,arguments)},Q._crypto_scalarmult_ristretto255_scalarbytes=function(){return(Q._crypto_scalarmult_ristretto255_scalarbytes=Q.asm.Vi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_detached=function(){return(Q._crypto_secretbox_xchacha20poly1305_detached=Q.asm.Wi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_easy=function(){return(Q._crypto_secretbox_xchacha20poly1305_easy=Q.asm.Xi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_open_detached=function(){return(Q._crypto_secretbox_xchacha20poly1305_open_detached=Q.asm.Yi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_open_easy=function(){return(Q._crypto_secretbox_xchacha20poly1305_open_easy=Q.asm.Zi).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_keybytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_keybytes=Q.asm._i).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_noncebytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_noncebytes=Q.asm.$i).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_macbytes=function(){return(Q._crypto_secretbox_xchacha20poly1305_macbytes=Q.asm.aj).apply(null,arguments)},Q._crypto_secretbox_xchacha20poly1305_messagebytes_max=function(){return(Q._crypto_secretbox_xchacha20poly1305_messagebytes_max=Q.asm.bj).apply(null,arguments)},Q._crypto_shorthash_siphashx24_bytes=function(){return(Q._crypto_shorthash_siphashx24_bytes=Q.asm.cj).apply(null,arguments)},Q._crypto_shorthash_siphashx24_keybytes=function(){return(Q._crypto_shorthash_siphashx24_keybytes=Q.asm.dj).apply(null,arguments)},Q._crypto_shorthash_siphashx24=function(){return(Q._crypto_shorthash_siphashx24=Q.asm.ej).apply(null,arguments)},Q._crypto_stream_salsa2012=function(){return(Q._crypto_stream_salsa2012=Q.asm.fj).apply(null,arguments)},Q._crypto_stream_salsa2012_xor=function(){return(Q._crypto_stream_salsa2012_xor=Q.asm.gj).apply(null,arguments)},Q._crypto_stream_salsa2012_keybytes=function(){return(Q._crypto_stream_salsa2012_keybytes=Q.asm.hj).apply(null,arguments)},Q._crypto_stream_salsa2012_noncebytes=function(){return(Q._crypto_stream_salsa2012_noncebytes=Q.asm.ij).apply(null,arguments)},Q._crypto_stream_salsa2012_messagebytes_max=function(){return(Q._crypto_stream_salsa2012_messagebytes_max=Q.asm.jj).apply(null,arguments)},Q._crypto_stream_salsa2012_keygen=function(){return(Q._crypto_stream_salsa2012_keygen=Q.asm.kj).apply(null,arguments)},Q._crypto_stream_salsa208=function(){return(Q._crypto_stream_salsa208=Q.asm.lj).apply(null,arguments)},Q._crypto_stream_salsa208_xor=function(){return(Q._crypto_stream_salsa208_xor=Q.asm.mj).apply(null,arguments)},Q._crypto_stream_salsa208_keybytes=function(){return(Q._crypto_stream_salsa208_keybytes=Q.asm.nj).apply(null,arguments)},Q._crypto_stream_salsa208_noncebytes=function(){return(Q._crypto_stream_salsa208_noncebytes=Q.asm.oj).apply(null,arguments)},Q._crypto_stream_salsa208_messagebytes_max=function(){return(Q._crypto_stream_salsa208_messagebytes_max=Q.asm.pj).apply(null,arguments)},Q._crypto_stream_salsa208_keygen=function(){return(Q._crypto_stream_salsa208_keygen=Q.asm.qj).apply(null,arguments)},Q._crypto_stream_xchacha20_keybytes=function(){return(Q._crypto_stream_xchacha20_keybytes=Q.asm.rj).apply(null,arguments)},Q._crypto_stream_xchacha20_noncebytes=function(){return(Q._crypto_stream_xchacha20_noncebytes=Q.asm.sj).apply(null,arguments)},Q._crypto_stream_xchacha20_messagebytes_max=function(){return(Q._crypto_stream_xchacha20_messagebytes_max=Q.asm.tj).apply(null,arguments)},Q._crypto_stream_xchacha20=function(){return(Q._crypto_stream_xchacha20=Q.asm.uj).apply(null,arguments)},Q._crypto_stream_xchacha20_xor_ic=function(){return(Q._crypto_stream_xchacha20_xor_ic=Q.asm.vj).apply(null,arguments)},Q._crypto_stream_xchacha20_xor=function(){return(Q._crypto_stream_xchacha20_xor=Q.asm.wj).apply(null,arguments)},Q._crypto_stream_xchacha20_keygen=function(){return(Q._crypto_stream_xchacha20_keygen=Q.asm.xj).apply(null,arguments)},Q._malloc=function(){return(Q._malloc=Q.asm.yj).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.zj).apply(null,arguments)},Q.UTF8ToString=k,Q.setValue=function(A,I,g="i8"){switch(g.endsWith("*")&&(g="*"),g){case"i1":case"i8":s[A>>0]=I;break;case"i16":f[A>>1]=I;break;case"i32":h[A>>2]=I;break;case"i64":K=[I>>>0,(d=I,+Math.abs(d)>=1?d>0?(0|Math.min(+Math.floor(d/4294967296),4294967295))>>>0:~~+Math.ceil((d-+(~~d>>>0))/4294967296)>>>0:0)],h[A>>2]=K[0],h[A+4>>2]=K[1];break;case"float":u[A>>2]=I;break;case"double":D[A>>3]=I;break;case"*":l[A>>2]=I;break;default:Y("invalid type for setValue: "+g)}},Q.getValue=function(A,I="i8"){switch(I.endsWith("*")&&(I="*"),I){case"i1":case"i8":return s[A>>0];case"i16":return f[A>>1];case"i32":case"i64":return h[A>>2];case"float":return u[A>>2];case"double":return D[A>>3];case"*":return l[A>>2];default:Y("invalid type for getValue: "+I)}return null},H=function A(){W||O(),W||(H=A)},Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();O()})).catch((function(){return C.useBackupModule()})),I}"function"==typeof define&&define.amd?define(["exports"],I):"object"==typeof exports&&"string"!=typeof exports.nodeName?I(exports):A.libsodium=I(A.libsodium_mod||(A.commonJsStrict={}))}(this); diff --git a/ts-client/node_modules/libsodium-sumo/package.json b/ts-client/node_modules/libsodium-sumo/package.json new file mode 100644 index 00000000..6313fc00 --- /dev/null +++ b/ts-client/node_modules/libsodium-sumo/package.json @@ -0,0 +1,43 @@ +{ + "name": "libsodium-sumo", + "version": "0.7.11", + "description": "The Sodium cryptographic library compiled to pure JavaScript (raw library, no wrappers, sumo variant)", + "main": "dist/modules-sumo/libsodium-sumo.js", + "files": [ + "dist/modules-sumo/libsodium-sumo.js", + "package.json" + ], + "repository": { + "type": "git", + "url": "https://github.com/jedisct1/libsodium.js.git" + }, + "keywords": [ + "crypto", + "sodium", + "libsodium", + "nacl", + "chacha20", + "poly1305", + "curve25519", + "ed25519", + "blake2", + "siphash", + "argon2", + "ecc" + ], + "author": "Ahmad Ben Mrad (@BatikhSouri)", + "contributors": [ + "Frank Denis (@jedisct1)", + "Ryan Lester (@buu700)" + ], + "license": "ISC", + "bugs": { + "url": "https://github.com/jedisct1/libsodium.js/issues" + }, + "homepage": "https://github.com/jedisct1/libsodium.js", + "browser": { + "fs": false, + "path": false, + "stream": false + } +} \ No newline at end of file diff --git a/ts-client/node_modules/libsodium-wrappers-sumo/LICENSE b/ts-client/node_modules/libsodium-wrappers-sumo/LICENSE new file mode 100644 index 00000000..0b160392 --- /dev/null +++ b/ts-client/node_modules/libsodium-wrappers-sumo/LICENSE @@ -0,0 +1,16 @@ +Copyright (c) 2015-2023 +Ahmad Ben Mrad +Frank Denis +Ryan Lester + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/libsodium-wrappers-sumo/README.md b/ts-client/node_modules/libsodium-wrappers-sumo/README.md new file mode 100644 index 00000000..c1811cce --- /dev/null +++ b/ts-client/node_modules/libsodium-wrappers-sumo/README.md @@ -0,0 +1,229 @@ +# libsodium.js + +## Overview + +The [sodium](https://github.com/jedisct1/libsodium) crypto library +compiled to WebAssembly and pure JavaScript using +[Emscripten](https://github.com/kripken/emscripten), with +automatically generated wrappers to make it easy to use in web +applications. + +The complete library weighs 188 KB (minified, gzipped, includes pure JS + +WebAssembly versions) and can run in a web browser as well as server-side. + +### Compatibility + +Supported browsers/JS engines: + +* Chrome >= 16 +* Edge >= 0.11 +* Firefox >= 21 +* Mobile Safari on iOS >= 8.0 (older versions produce incorrect results) +* NodeJS +* Opera >= 15 +* Safari >= 6 (older versions produce incorrect results) + +This is comparable to the WebCrypto API, which is compatible with a +similar number of browsers. + +Signatures and other Edwards25519-based operations are compatible with +[WasmCrypto](https://github.com/jedisct1/wasm-crypto). + +## Installation + +The [dist](https://github.com/jedisct1/libsodium.js/tree/master/dist) +directory contains pre-built scripts. Copy the files from one of its +subdirectories to your application: + +- [browsers](https://github.com/jedisct1/libsodium.js/tree/master/dist/browsers) +includes a single-file script that can be included in web pages. +It contains code for commonly used functions. +- [browsers-sumo](https://github.com/jedisct1/libsodium.js/tree/master/dist/browsers-sumo) +is a superset of the previous script, that contains all functions, +including rarely used ones and undocumented ones. +- [modules](https://github.com/jedisct1/libsodium.js/tree/master/dist/modules) +includes commonly used functions, and is designed to be loaded as a module. +`libsodium-wrappers` is the module your application should load, which +will in turn automatically load `libsodium` as a dependency. +- [modules-sumo](https://github.com/jedisct1/libsodium.js/tree/master/dist/modules-sumo) +contains sumo variants of the previous modules. + +The modules are also available on npm: +- [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) +- [libsodium-wrappers-sumo](https://www.npmjs.com/package/libsodium-wrappers-sumo) + +If you prefer Bower: + +```sh +bower install libsodium.js +``` + +### Usage (as a module) + +Load the `libsodium-wrappers` module. The returned object contains a `.ready` +property: a promise that must be resolve before the sodium functions +can be used. + +Example: + +```js +import _sodium from 'libsodium-wrappers'; +await (async() => { + await _sodium.ready; + const sodium = _sodium; + + let key = sodium.crypto_secretstream_xchacha20poly1305_keygen(); + + let res = sodium.crypto_secretstream_xchacha20poly1305_init_push(key); + let [state_out, header] = [res.state, res.header]; + let c1 = sodium.crypto_secretstream_xchacha20poly1305_push(state_out, + sodium.from_string('message 1'), null, + sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE); + let c2 = sodium.crypto_secretstream_xchacha20poly1305_push(state_out, + sodium.from_string('message 2'), null, + sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL); + + let state_in = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header, key); + let r1 = sodium.crypto_secretstream_xchacha20poly1305_pull(state_in, c1); + let [m1, tag1] = [sodium.to_string(r1.message), r1.tag]; + let r2 = sodium.crypto_secretstream_xchacha20poly1305_pull(state_in, c2); + let [m2, tag2] = [sodium.to_string(r2.message), r2.tag]; + + console.log(m1); + console.log(m2); +})(); +``` + +### Usage (in a web browser, via a callback) + +The `sodium.js` file includes both the core libsodium functions, as +well as the higher-level JavaScript wrappers. It can be loaded +asynchronusly. + +A `sodium` object should be defined in the global namespace, with the +following property: + +- `onload`: the function to call after the wrapper is initialized. + +Example: + +```html + + +``` + +## Additional helpers + +* `from_base64()`, `to_base64()` with an optional second parameter +whose value is one of: `base64_variants.ORIGINAL`, `base64_variants.ORIGINAL_NO_PADDING`, +`base64_variants.URLSAFE` or `base64_variants.URLSAFE_NO_PADDING`. Default is `base64_variants.URLSAFE_NO_PADDING`. +* `from_hex()`, `to_hex()` +* `from_string()`, `to_string()` +* `pad(, )`, `unpad(, )` +* `memcmp()` (constant-time check for equality, returns `true` or `false`) +* `compare()` (constant-time comparison. Values must have the same +size. Returns `-1`, `0` or `1`) +* `memzero()` (applies to `Uint8Array` objects) +* `increment()` (increments an arbitrary-long number stored as a +little-endian `Uint8Array` - typically to increment nonces) +* `add()` (adds two arbitrary-long numbers stored as little-endian +`Uint8Array` vectors) +* `is_zero()` (constant-time, checks `Uint8Array` objects for all zeros) + +## API + +The API exposed by the wrappers is identical to the one of the C +library, except that buffer lengths never need to be explicitly given. + +Binary input buffers should be `Uint8Array` objects. However, if a string +is given instead, the wrappers will automatically convert the string +to an array containing a UTF-8 representation of the string. + +Example: + +```javascript +var key = sodium.randombytes_buf(sodium.crypto_shorthash_KEYBYTES), + hash1 = sodium.crypto_shorthash(new Uint8Array([1, 2, 3, 4]), key), + hash2 = sodium.crypto_shorthash('test', key); +``` + +If the output is a unique binary buffer, it is returned as a +`Uint8Array` object. + +Example (secretbox): + +```javascript +let key = sodium.from_hex('724b092810ec86d7e35c9d067702b31ef90bc43a7b598626749914d6a3e033ed'); + +function encrypt_and_prepend_nonce(message) { + let nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES); + return nonce.concat(sodium.crypto_secretbox_easy(message, nonce, key)); +} + +function decrypt_after_extracting_nonce(nonce_and_ciphertext) { + if (nonce_and_ciphertext.length < sodium.crypto_secretbox_NONCEBYTES + sodium.crypto_secretbox_MACBYTES) { + throw "Short message"; + } + let nonce = nonce_and_ciphertext.slice(0, sodium.crypto_secretbox_NONCEBYTES), + ciphertext = nonce_and_ciphertext.slice(sodium.crypto_secretbox_NONCEBYTES); + return sodium.crypto_secretbox_open_easy(ciphertext, nonce, key); +} +``` + +In addition, the `from_hex`, `to_hex`, `from_string`, and `to_string` +functions are available to explicitly convert hexadecimal, and +arbitrary string representations from/to `Uint8Array` objects. + +Functions returning more than one output buffer are returning them as +an object. For example, the `sodium.crypto_box_keypair()` function +returns the following object: +```javascript +{ keyType: 'curve25519', privateKey: (Uint8Array), publicKey: (Uint8Array) } +``` + +### Standard vs Sumo version + +The standard version (in the `dist/browsers` and `dist/modules` +directories) contains the high-level functions, and is the recommended +one for most projects. + +Alternatively, the "sumo" version, available in the +`dist/browsers-sumo` and `dist/modules-sumo` directories contains all +the symbols from the original library. This includes undocumented, +untested, deprecated, low-level and easy to misuse functions. + +The `crypto_pwhash_*` function set is included in both versions. + +The sumo version is slightly larger than the standard version, and +should be used only if you really need the extra symbols it provides. + +### Compilation + +If you want to compile the files yourself, the following dependencies +need to be installed on your system: + +* Emscripten +* binaryen +* git +* NodeJS +* make + +Running `make` will install the dev dependencies, clone libsodium, +build it, test it, build the wrapper, and create the modules and +minified distribution files. + +## Authors + +Built by Ahmad Ben Mrad, Frank Denis and Ryan Lester. + +## License + +This wrapper is distributed under the +[ISC License](https://en.wikipedia.org/wiki/ISC_license). diff --git a/ts-client/node_modules/libsodium-wrappers-sumo/dist/modules-sumo/libsodium-wrappers.js b/ts-client/node_modules/libsodium-wrappers-sumo/dist/modules-sumo/libsodium-wrappers.js new file mode 100644 index 00000000..5875f856 --- /dev/null +++ b/ts-client/node_modules/libsodium-wrappers-sumo/dist/modules-sumo/libsodium-wrappers.js @@ -0,0 +1 @@ +!function(e){function r(e,r){"use strict";var t,a="uint8array",_=r.ready.then((function(){function a(){if(0!==t._sodium_init())throw new Error("libsodium was not correctly initialized.");for(var r=["crypto_aead_chacha20poly1305_decrypt","crypto_aead_chacha20poly1305_decrypt_detached","crypto_aead_chacha20poly1305_encrypt","crypto_aead_chacha20poly1305_encrypt_detached","crypto_aead_chacha20poly1305_ietf_decrypt","crypto_aead_chacha20poly1305_ietf_decrypt_detached","crypto_aead_chacha20poly1305_ietf_encrypt","crypto_aead_chacha20poly1305_ietf_encrypt_detached","crypto_aead_chacha20poly1305_ietf_keygen","crypto_aead_chacha20poly1305_keygen","crypto_aead_xchacha20poly1305_ietf_decrypt","crypto_aead_xchacha20poly1305_ietf_decrypt_detached","crypto_aead_xchacha20poly1305_ietf_encrypt","crypto_aead_xchacha20poly1305_ietf_encrypt_detached","crypto_aead_xchacha20poly1305_ietf_keygen","crypto_auth","crypto_auth_hmacsha256","crypto_auth_hmacsha256_final","crypto_auth_hmacsha256_init","crypto_auth_hmacsha256_keygen","crypto_auth_hmacsha256_update","crypto_auth_hmacsha256_verify","crypto_auth_hmacsha512","crypto_auth_hmacsha512_final","crypto_auth_hmacsha512_init","crypto_auth_hmacsha512_keygen","crypto_auth_hmacsha512_update","crypto_auth_hmacsha512_verify","crypto_auth_keygen","crypto_auth_verify","crypto_box_beforenm","crypto_box_curve25519xchacha20poly1305_keypair","crypto_box_curve25519xchacha20poly1305_seal","crypto_box_curve25519xchacha20poly1305_seal_open","crypto_box_detached","crypto_box_easy","crypto_box_easy_afternm","crypto_box_keypair","crypto_box_open_detached","crypto_box_open_easy","crypto_box_open_easy_afternm","crypto_box_seal","crypto_box_seal_open","crypto_box_seed_keypair","crypto_core_ed25519_add","crypto_core_ed25519_from_hash","crypto_core_ed25519_from_uniform","crypto_core_ed25519_is_valid_point","crypto_core_ed25519_random","crypto_core_ed25519_scalar_add","crypto_core_ed25519_scalar_complement","crypto_core_ed25519_scalar_invert","crypto_core_ed25519_scalar_mul","crypto_core_ed25519_scalar_negate","crypto_core_ed25519_scalar_random","crypto_core_ed25519_scalar_reduce","crypto_core_ed25519_scalar_sub","crypto_core_ed25519_sub","crypto_core_hchacha20","crypto_core_hsalsa20","crypto_core_ristretto255_add","crypto_core_ristretto255_from_hash","crypto_core_ristretto255_is_valid_point","crypto_core_ristretto255_random","crypto_core_ristretto255_scalar_add","crypto_core_ristretto255_scalar_complement","crypto_core_ristretto255_scalar_invert","crypto_core_ristretto255_scalar_mul","crypto_core_ristretto255_scalar_negate","crypto_core_ristretto255_scalar_random","crypto_core_ristretto255_scalar_reduce","crypto_core_ristretto255_scalar_sub","crypto_core_ristretto255_sub","crypto_generichash","crypto_generichash_blake2b_salt_personal","crypto_generichash_final","crypto_generichash_init","crypto_generichash_keygen","crypto_generichash_update","crypto_hash","crypto_hash_sha256","crypto_hash_sha256_final","crypto_hash_sha256_init","crypto_hash_sha256_update","crypto_hash_sha512","crypto_hash_sha512_final","crypto_hash_sha512_init","crypto_hash_sha512_update","crypto_kdf_derive_from_key","crypto_kdf_keygen","crypto_kx_client_session_keys","crypto_kx_keypair","crypto_kx_seed_keypair","crypto_kx_server_session_keys","crypto_onetimeauth","crypto_onetimeauth_final","crypto_onetimeauth_init","crypto_onetimeauth_keygen","crypto_onetimeauth_update","crypto_onetimeauth_verify","crypto_pwhash","crypto_pwhash_scryptsalsa208sha256","crypto_pwhash_scryptsalsa208sha256_ll","crypto_pwhash_scryptsalsa208sha256_str","crypto_pwhash_scryptsalsa208sha256_str_verify","crypto_pwhash_str","crypto_pwhash_str_needs_rehash","crypto_pwhash_str_verify","crypto_scalarmult","crypto_scalarmult_base","crypto_scalarmult_ed25519","crypto_scalarmult_ed25519_base","crypto_scalarmult_ed25519_base_noclamp","crypto_scalarmult_ed25519_noclamp","crypto_scalarmult_ristretto255","crypto_scalarmult_ristretto255_base","crypto_secretbox_detached","crypto_secretbox_easy","crypto_secretbox_keygen","crypto_secretbox_open_detached","crypto_secretbox_open_easy","crypto_secretstream_xchacha20poly1305_init_pull","crypto_secretstream_xchacha20poly1305_init_push","crypto_secretstream_xchacha20poly1305_keygen","crypto_secretstream_xchacha20poly1305_pull","crypto_secretstream_xchacha20poly1305_push","crypto_secretstream_xchacha20poly1305_rekey","crypto_shorthash","crypto_shorthash_keygen","crypto_shorthash_siphashx24","crypto_sign","crypto_sign_detached","crypto_sign_ed25519_pk_to_curve25519","crypto_sign_ed25519_sk_to_curve25519","crypto_sign_ed25519_sk_to_pk","crypto_sign_ed25519_sk_to_seed","crypto_sign_final_create","crypto_sign_final_verify","crypto_sign_init","crypto_sign_keypair","crypto_sign_open","crypto_sign_seed_keypair","crypto_sign_update","crypto_sign_verify_detached","crypto_stream_chacha20","crypto_stream_chacha20_ietf_xor","crypto_stream_chacha20_ietf_xor_ic","crypto_stream_chacha20_keygen","crypto_stream_chacha20_xor","crypto_stream_chacha20_xor_ic","crypto_stream_keygen","crypto_stream_xchacha20_keygen","crypto_stream_xchacha20_xor","crypto_stream_xchacha20_xor_ic","randombytes_buf","randombytes_buf_deterministic","randombytes_close","randombytes_random","randombytes_set_implementation","randombytes_stir","randombytes_uniform","sodium_version_string"],a=[x,k,S,T,w,Y,B,A,K,M,I,N,L,U,O,C,R,P,G,X,D,F,V,H,q,j,z,W,J,Q,Z,$,ee,re,te,ae,_e,se,ne,ce,oe,he,pe,ye,ie,le,ue,de,ve,ge,be,fe,me,Ee,xe,ke,Se,Te,we,Ye,Be,Ae,Ke,Me,Ie,Ne,Le,Ue,Oe,Ce,Re,Pe,Ge,Xe,De,Fe,Ve,He,qe,je,ze,We,Je,Qe,Ze,$e,er,rr,tr,ar,_r,sr,nr,cr,or,hr,pr,yr,ir,lr,ur,dr,vr,gr,br,fr,mr,Er,xr,kr,Sr,Tr,wr,Yr,Br,Ar,Kr,Mr,Ir,Nr,Lr,Ur,Or,Cr,Rr,Pr,Gr,Xr,Dr,Fr,Vr,Hr,qr,jr,zr,Wr,Jr,Qr,Zr,$r,et,rt,tt,at,_t,st,nt,ct,ot,ht,pt,yt,it,lt,ut,dt,vt,gt,bt,ft,mt,Et],_=0;_=240?(p=4,o=!0):y>=224?(p=3,o=!0):y>=192?(p=2,o=!0):y<128&&(p=1,o=!0)}while(!o);for(var i=p-(c.length-h),l=0;l>8&-39)<<8|87+(r=e[s]>>>4)+(r-10>>8&-39),_+=String.fromCharCode(255&a)+String.fromCharCode(a>>>8);return _}var o={ORIGINAL:1,ORIGINAL_NO_PADDING:3,URLSAFE:5,URLSAFE_NO_PADDING:7};function h(e){if(null==e)return o.URLSAFE_NO_PADDING;if(e!==o.ORIGINAL&&e!==o.ORIGINAL_NO_PADDING&&e!==o.URLSAFE&&e!=o.URLSAFE_NO_PADDING)throw new Error("unsupported base64 variant");return e}function p(e,r){r=h(r),e=E(_,e,"input");var a,_=[],s=0|Math.floor(e.length/3),c=e.length-3*s,o=4*s+(0!==c?0==(2&r)?4:2+(c>>>1):0),p=new u(o+1),y=d(e);return _.push(y),_.push(p.address),0===t._sodium_bin2base64(p.address,p.length,y,e.length,r)&&b(_,"conversion failed"),p.length=o,a=n(p.to_Uint8Array()),g(_),a}function y(e,r){var t=r||a;if(!i(t))throw new Error(t+" output format is not available");if(e instanceof u){if("uint8array"===t)return e.to_Uint8Array();if("text"===t)return n(e.to_Uint8Array());if("hex"===t)return c(e.to_Uint8Array());if("base64"===t)return p(e.to_Uint8Array(),o.URLSAFE_NO_PADDING);throw new Error('What is output format "'+t+'"?')}if("object"==typeof e){for(var _=Object.keys(e),s={},h=0;h<_.length;h++)s[_[h]]=y(e[_[h]],t);return s}if("string"==typeof e)return e;throw new TypeError("Cannot format output")}function i(e){for(var r=["uint8array","text","hex","base64"],t=0;t>>24>>>8,o,p);var x=y(v,n);return g(c),x}function ar(e){var r=[];l(e);var a=new u(0|t._crypto_kdf_keybytes()),_=a.address;r.push(_),t._crypto_kdf_keygen(_);var s=y(a,e);return g(r),s}function _r(e,r,a,_){var s=[];l(_),e=E(s,e,"clientPublicKey");var n,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(s,"invalid clientPublicKey length"),n=d(e),s.push(n),r=E(s,r,"clientSecretKey");var o,h=0|t._crypto_kx_secretkeybytes();r.length!==h&&f(s,"invalid clientSecretKey length"),o=d(r),s.push(o),a=E(s,a,"serverPublicKey");var p,i=0|t._crypto_kx_publickeybytes();a.length!==i&&f(s,"invalid serverPublicKey length"),p=d(a),s.push(p);var v=new u(0|t._crypto_kx_sessionkeybytes()),m=v.address;s.push(m);var x=new u(0|t._crypto_kx_sessionkeybytes()),k=x.address;if(s.push(k),0==(0|t._crypto_kx_client_session_keys(m,k,n,o,p))){var S=y({sharedRx:v,sharedTx:x},_);return g(s),S}b(s,"invalid usage")}function sr(e){var r=[];l(e);var a=new u(0|t._crypto_kx_publickeybytes()),_=a.address;r.push(_);var s=new u(0|t._crypto_kx_secretkeybytes()),n=s.address;if(r.push(n),0==(0|t._crypto_kx_keypair(_,n))){var c={publicKey:y(a,e),privateKey:y(s,e),keyType:"x25519"};return g(r),c}b(r,"internal error")}function nr(e,r){var a=[];l(r),e=E(a,e,"seed");var _,s=0|t._crypto_kx_seedbytes();e.length!==s&&f(a,"invalid seed length"),_=d(e),a.push(_);var n=new u(0|t._crypto_kx_publickeybytes()),c=n.address;a.push(c);var o=new u(0|t._crypto_kx_secretkeybytes()),h=o.address;if(a.push(h),0==(0|t._crypto_kx_seed_keypair(c,h,_))){var p={publicKey:y(n,r),privateKey:y(o,r),keyType:"x25519"};return g(a),p}b(a,"internal error")}function cr(e,r,a,_){var s=[];l(_),e=E(s,e,"serverPublicKey");var n,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(s,"invalid serverPublicKey length"),n=d(e),s.push(n),r=E(s,r,"serverSecretKey");var o,h=0|t._crypto_kx_secretkeybytes();r.length!==h&&f(s,"invalid serverSecretKey length"),o=d(r),s.push(o),a=E(s,a,"clientPublicKey");var p,i=0|t._crypto_kx_publickeybytes();a.length!==i&&f(s,"invalid clientPublicKey length"),p=d(a),s.push(p);var v=new u(0|t._crypto_kx_sessionkeybytes()),m=v.address;s.push(m);var x=new u(0|t._crypto_kx_sessionkeybytes()),k=x.address;if(s.push(k),0==(0|t._crypto_kx_server_session_keys(m,k,n,o,p))){var S=y({sharedRx:v,sharedTx:x},_);return g(s),S}b(s,"invalid usage")}function or(e,r,a){var _=[];l(a);var s=d(e=E(_,e,"message")),n=e.length;_.push(s),r=E(_,r,"key");var c,o=0|t._crypto_onetimeauth_keybytes();r.length!==o&&f(_,"invalid key length"),c=d(r),_.push(c);var h=new u(0|t._crypto_onetimeauth_bytes()),p=h.address;if(_.push(p),0==(0|t._crypto_onetimeauth(p,s,n,0,c))){var i=y(h,a);return g(_),i}b(_,"invalid usage")}function hr(e,r){var a=[];l(r),m(a,e,"state_address");var _=new u(0|t._crypto_onetimeauth_bytes()),s=_.address;if(a.push(s),0==(0|t._crypto_onetimeauth_final(e,s))){var n=(t._free(e),y(_,r));return g(a),n}b(a,"invalid usage")}function pr(e,r){var a=[];l(r);var _=null;null!=e&&(_=d(e=E(a,e,"key")),e.length,a.push(_));var s=new u(144).address;if(0==(0|t._crypto_onetimeauth_init(s,_))){var n=s;return g(a),n}b(a,"invalid usage")}function yr(e){var r=[];l(e);var a=new u(0|t._crypto_onetimeauth_keybytes()),_=a.address;r.push(_),t._crypto_onetimeauth_keygen(_);var s=y(a,e);return g(r),s}function ir(e,r,a){var _=[];l(a),m(_,e,"state_address");var s=d(r=E(_,r,"message_chunk")),n=r.length;_.push(s),0!=(0|t._crypto_onetimeauth_update(e,s,n))&&b(_,"invalid usage"),g(_)}function lr(e,r,a){var _=[];e=E(_,e,"hash");var s,n=0|t._crypto_onetimeauth_bytes();e.length!==n&&f(_,"invalid hash length"),s=d(e),_.push(s);var c=d(r=E(_,r,"message")),o=r.length;_.push(c),a=E(_,a,"key");var h,p=0|t._crypto_onetimeauth_keybytes();a.length!==p&&f(_,"invalid key length"),h=d(a),_.push(h);var y=0==(0|t._crypto_onetimeauth_verify(s,c,o,0,h));return g(_),y}function ur(e,r,a,_,s,n,c){var o=[];l(c),m(o,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(o,"keyLength must be an unsigned integer");var h=d(r=E(o,r,"password")),p=r.length;o.push(h),a=E(o,a,"salt");var i,v=0|t._crypto_pwhash_saltbytes();a.length!==v&&f(o,"invalid salt length"),i=d(a),o.push(i),m(o,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,s,"memLimit"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"memLimit must be an unsigned integer"),m(o,n,"algorithm"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"algorithm must be an unsigned integer");var x=new u(0|e),k=x.address;if(o.push(k),0==(0|t._crypto_pwhash(k,e,0,h,p,0,i,_,0,s,n))){var S=y(x,c);return g(o),S}b(o,"invalid usage")}function dr(e,r,a,_,s,n){var c=[];l(n),m(c,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(c,"keyLength must be an unsigned integer");var o=d(r=E(c,r,"password")),h=r.length;c.push(o),a=E(c,a,"salt");var p,i=0|t._crypto_pwhash_scryptsalsa208sha256_saltbytes();a.length!==i&&f(c,"invalid salt length"),p=d(a),c.push(p),m(c,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(c,"opsLimit must be an unsigned integer"),m(c,s,"memLimit"),("number"!=typeof s||(0|s)!==s||s<0)&&f(c,"memLimit must be an unsigned integer");var v=new u(0|e),x=v.address;if(c.push(x),0==(0|t._crypto_pwhash_scryptsalsa208sha256(x,e,0,o,h,0,p,_,0,s))){var k=y(v,n);return g(c),k}b(c,"invalid usage")}function vr(e,r,a,_,s,n,c){var o=[];l(c);var h=d(e=E(o,e,"password")),p=e.length;o.push(h);var i=d(r=E(o,r,"salt")),v=r.length;o.push(i),m(o,a,"opsLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,_,"r"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"r must be an unsigned integer"),m(o,s,"p"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"p must be an unsigned integer"),m(o,n,"keyLength"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"keyLength must be an unsigned integer");var x=new u(0|n),k=x.address;if(o.push(k),0==(0|t._crypto_pwhash_scryptsalsa208sha256_ll(h,p,i,v,a,0,_,s,k,n))){var S=y(x,c);return g(o),S}b(o,"invalid usage")}function gr(e,r,a,_){var s=[];l(_);var n=d(e=E(s,e,"password")),c=e.length;s.push(n),m(s,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(s,"opsLimit must be an unsigned integer"),m(s,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"memLimit must be an unsigned integer");var o=new u(0|t._crypto_pwhash_scryptsalsa208sha256_strbytes()).address;if(s.push(o),0==(0|t._crypto_pwhash_scryptsalsa208sha256_str(o,n,c,0,r,0,a))){var h=t.UTF8ToString(o);return g(s),h}b(s,"invalid usage")}function br(e,r,a){var _=[];l(a),"string"!=typeof e&&f(_,"hashed_password must be a string"),e=s(e+"\0"),null!=c&&e.length-1!==c&&f(_,"invalid hashed_password length");var n=d(e),c=e.length-1;_.push(n);var o=d(r=E(_,r,"password")),h=r.length;_.push(o);var p=0==(0|t._crypto_pwhash_scryptsalsa208sha256_str_verify(n,o,h,0));return g(_),p}function fr(e,r,a,_){var s=[];l(_);var n=d(e=E(s,e,"password")),c=e.length;s.push(n),m(s,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(s,"opsLimit must be an unsigned integer"),m(s,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"memLimit must be an unsigned integer");var o=new u(0|t._crypto_pwhash_strbytes()).address;if(s.push(o),0==(0|t._crypto_pwhash_str(o,n,c,0,r,0,a))){var h=t.UTF8ToString(o);return g(s),h}b(s,"invalid usage")}function mr(e,r,a,_){var n=[];l(_),"string"!=typeof e&&f(n,"hashed_password must be a string"),e=s(e+"\0"),null!=o&&e.length-1!==o&&f(n,"invalid hashed_password length");var c=d(e),o=e.length-1;n.push(c),m(n,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(n,"opsLimit must be an unsigned integer"),m(n,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(n,"memLimit must be an unsigned integer");var h=0!=(0|t._crypto_pwhash_str_needs_rehash(c,r,0,a));return g(n),h}function Er(e,r,a){var _=[];l(a),"string"!=typeof e&&f(_,"hashed_password must be a string"),e=s(e+"\0"),null!=c&&e.length-1!==c&&f(_,"invalid hashed_password length");var n=d(e),c=e.length-1;_.push(n);var o=d(r=E(_,r,"password")),h=r.length;_.push(o);var p=0==(0|t._crypto_pwhash_str_verify(n,o,h,0));return g(_),p}function xr(e,r,a){var _=[];l(a),e=E(_,e,"privateKey");var s,n=0|t._crypto_scalarmult_scalarbytes();e.length!==n&&f(_,"invalid privateKey length"),s=d(e),_.push(s),r=E(_,r,"publicKey");var c,o=0|t._crypto_scalarmult_bytes();r.length!==o&&f(_,"invalid publicKey length"),c=d(r),_.push(c);var h=new u(0|t._crypto_scalarmult_bytes()),p=h.address;if(_.push(p),0==(0|t._crypto_scalarmult(p,s,c))){var i=y(h,a);return g(_),i}b(_,"weak public key")}function kr(e,r){var a=[];l(r),e=E(a,e,"privateKey");var _,s=0|t._crypto_scalarmult_scalarbytes();e.length!==s&&f(a,"invalid privateKey length"),_=d(e),a.push(_);var n=new u(0|t._crypto_scalarmult_bytes()),c=n.address;if(a.push(c),0==(0|t._crypto_scalarmult_base(c,_))){var o=y(n,r);return g(a),o}b(a,"unknown error")}function Sr(e,r,a){var _=[];l(a),e=E(_,e,"n");var s,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(_,"invalid n length"),s=d(e),_.push(s),r=E(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=d(r),_.push(c);var h=new u(0|t._crypto_scalarmult_ed25519_bytes()),p=h.address;if(_.push(p),0==(0|t._crypto_scalarmult_ed25519(p,s,c))){var i=y(h,a);return g(_),i}b(_,"invalid point or scalar is 0")}function Tr(e,r){var a=[];l(r),e=E(a,e,"scalar");var _,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(a,"invalid scalar length"),_=d(e),a.push(_);var n=new u(0|t._crypto_scalarmult_ed25519_bytes()),c=n.address;if(a.push(c),0==(0|t._crypto_scalarmult_ed25519_base(c,_))){var o=y(n,r);return g(a),o}b(a,"scalar is 0")}function wr(e,r){var a=[];l(r),e=E(a,e,"scalar");var _,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(a,"invalid scalar length"),_=d(e),a.push(_);var n=new u(0|t._crypto_scalarmult_ed25519_bytes()),c=n.address;if(a.push(c),0==(0|t._crypto_scalarmult_ed25519_base_noclamp(c,_))){var o=y(n,r);return g(a),o}b(a,"scalar is 0")}function Yr(e,r,a){var _=[];l(a),e=E(_,e,"n");var s,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(_,"invalid n length"),s=d(e),_.push(s),r=E(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=d(r),_.push(c);var h=new u(0|t._crypto_scalarmult_ed25519_bytes()),p=h.address;if(_.push(p),0==(0|t._crypto_scalarmult_ed25519_noclamp(p,s,c))){var i=y(h,a);return g(_),i}b(_,"invalid point or scalar is 0")}function Br(e,r,a){var _=[];l(a),e=E(_,e,"scalar");var s,n=0|t._crypto_scalarmult_ristretto255_scalarbytes();e.length!==n&&f(_,"invalid scalar length"),s=d(e),_.push(s),r=E(_,r,"element");var c,o=0|t._crypto_scalarmult_ristretto255_bytes();r.length!==o&&f(_,"invalid element length"),c=d(r),_.push(c);var h=new u(0|t._crypto_scalarmult_ristretto255_bytes()),p=h.address;if(_.push(p),0==(0|t._crypto_scalarmult_ristretto255(p,s,c))){var i=y(h,a);return g(_),i}b(_,"result is identity element")}function Ar(e,r){var a=[];l(r),e=E(a,e,"scalar");var _,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(a,"invalid scalar length"),_=d(e),a.push(_);var n=new u(0|t._crypto_core_ristretto255_bytes()),c=n.address;if(a.push(c),0==(0|t._crypto_scalarmult_ristretto255_base(c,_))){var o=y(n,r);return g(a),o}b(a,"scalar is 0")}function Kr(e,r,a,_){var s=[];l(_);var n=d(e=E(s,e,"message")),c=e.length;s.push(n),r=E(s,r,"nonce");var o,h=0|t._crypto_secretbox_noncebytes();r.length!==h&&f(s,"invalid nonce length"),o=d(r),s.push(o),a=E(s,a,"key");var p,i=0|t._crypto_secretbox_keybytes();a.length!==i&&f(s,"invalid key length"),p=d(a),s.push(p);var v=new u(0|c),m=v.address;s.push(m);var x=new u(0|t._crypto_secretbox_macbytes()),k=x.address;if(s.push(k),0==(0|t._crypto_secretbox_detached(m,k,n,c,0,o,p))){var S=y({mac:x,cipher:v},_);return g(s),S}b(s,"invalid usage")}function Mr(e,r,a,_){var s=[];l(_);var n=d(e=E(s,e,"message")),c=e.length;s.push(n),r=E(s,r,"nonce");var o,h=0|t._crypto_secretbox_noncebytes();r.length!==h&&f(s,"invalid nonce length"),o=d(r),s.push(o),a=E(s,a,"key");var p,i=0|t._crypto_secretbox_keybytes();a.length!==i&&f(s,"invalid key length"),p=d(a),s.push(p);var v=new u(c+t._crypto_secretbox_macbytes()|0),m=v.address;if(s.push(m),0==(0|t._crypto_secretbox_easy(m,n,c,0,o,p))){var x=y(v,_);return g(s),x}b(s,"invalid usage")}function Ir(e){var r=[];l(e);var a=new u(0|t._crypto_secretbox_keybytes()),_=a.address;r.push(_),t._crypto_secretbox_keygen(_);var s=y(a,e);return g(r),s}function Nr(e,r,a,_,s){var n=[];l(s);var c=d(e=E(n,e,"ciphertext")),o=e.length;n.push(c),r=E(n,r,"mac");var h,p=0|t._crypto_secretbox_macbytes();r.length!==p&&f(n,"invalid mac length"),h=d(r),n.push(h),a=E(n,a,"nonce");var i,v=0|t._crypto_secretbox_noncebytes();a.length!==v&&f(n,"invalid nonce length"),i=d(a),n.push(i),_=E(n,_,"key");var m,x=0|t._crypto_secretbox_keybytes();_.length!==x&&f(n,"invalid key length"),m=d(_),n.push(m);var k=new u(0|o),S=k.address;if(n.push(S),0==(0|t._crypto_secretbox_open_detached(S,c,h,o,0,i,m))){var T=y(k,s);return g(n),T}b(n,"wrong secret key for the given ciphertext")}function Lr(e,r,a,_){var s=[];l(_),e=E(s,e,"ciphertext");var n,c=t._crypto_secretbox_macbytes(),o=e.length;o>>0;return g([]),r}function bt(e,r){var a=[];l(r);for(var _=t._malloc(24),s=0;s<6;s++)t.setValue(_+4*s,t.Runtime.addFunction(e[["implementation_name","random","stir","uniform","buf","close"][s]]),"i32");0!=(0|t._randombytes_set_implementation(_))&&b(a,"unsupported implementation"),g(a)}function ft(e){l(e),t._randombytes_stir()}function mt(e,r){var a=[];l(r),m(a,e,"upper_bound"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"upper_bound must be an unsigned integer");var _=t._randombytes_uniform(e)>>>0;return g(a),_}function Et(){var e=t._sodium_version_string(),r=t.UTF8ToString(e);return g([]),r}return u.prototype.to_Uint8Array=function(){var e=new Uint8Array(this.length);return e.set(t.HEAPU8.subarray(this.address,this.address+this.length)),e},e.add=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can added");var t=e.length,a=0,_=0;if(r.length!=e.length)throw new TypeError("Arguments must have the same length");for(_=0;_>=8,a+=e[_]+r[_],e[_]=255&a},e.base64_variants=o,e.compare=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(e.length!==r.length)throw new TypeError("Only instances of identical length can be compared");for(var t=0,a=1,_=e.length;_-- >0;)t|=r[_]-e[_]>>8&a,a&=(r[_]^e[_])-1>>8;return t+t+a-1},e.from_base64=function(e,r){r=h(r);var a,_=[],s=new u(3*(e=E(_,e,"input")).length/4),n=d(e),c=v(4),o=v(4);return _.push(n),_.push(s.address),_.push(s.result_bin_len_p),_.push(s.b64_end_p),0!==t._sodium_base642bin(s.address,s.length,n,e.length,0,c,o,r)&&b(_,"invalid input"),t.getValue(o,"i32")-n!==e.length&&b(_,"incomplete input"),s.length=t.getValue(c,"i32"),a=s.to_Uint8Array(),g(_),a},e.from_hex=function(e){var r,a=[],_=new u((e=E(a,e,"input")).length/2),s=d(e),n=v(4);return a.push(s),a.push(_.address),a.push(_.hex_end_p),0!==t._sodium_hex2bin(_.address,_.length,s,e.length,0,0,n)&&b(a,"invalid input"),t.getValue(n,"i32")-s!==e.length&&b(a,"incomplete input"),r=_.to_Uint8Array(),g(a),r},e.from_string=s,e.increment=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be incremented");for(var r=256,t=0,a=e.length;t>=8,r+=e[t],e[t]=255&r},e.is_zero=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be checked");for(var r=0,t=0,a=e.length;t 0");var a,_=[],s=v(4),n=1,c=0,o=0|e.length,h=new u(o+r);_.push(s),_.push(h.address);for(var p=h.address,y=h.address+o+r;p>>48|o>>>32|o>>>16|o))-1>>16);return 0!==t._sodium_pad(s,h.address,e.length,r,h.length)&&b(_,"internal error"),h.length=t.getValue(s,"i32"),a=h.to_Uint8Array(),g(_),a},e.unpad=function(e,r){if(!(e instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((r|=0)<=0)throw new Error("block size must be > 0");var a=[],_=d(e),s=v(4);return a.push(_),a.push(s),0!==t._sodium_unpad(s,_,e.length,r)&&b(a,"unsupported/invalid padding"),e=(e=new Uint8Array(e)).subarray(0,t.getValue(s,"i32")),g(a),e},e.ready=_,e.symbols=function(){return Object.keys(e).sort()},e.to_base64=p,e.to_hex=c,e.to_string=n,e}var t="object"==typeof e.sodium&&"function"==typeof e.sodium.onload?e.sodium.onload:null;"function"==typeof define&&define.amd?define(["exports","libsodium-sumo"],r):"object"==typeof exports&&"string"!=typeof exports.nodeName?r(exports,require("libsodium-sumo")):e.sodium=r(e.commonJsStrict={},e.libsodium),t&&e.sodium.ready.then((function(){t(e.sodium)}))}(this); diff --git a/ts-client/node_modules/libsodium-wrappers-sumo/package.json b/ts-client/node_modules/libsodium-wrappers-sumo/package.json new file mode 100644 index 00000000..977b7803 --- /dev/null +++ b/ts-client/node_modules/libsodium-wrappers-sumo/package.json @@ -0,0 +1,56 @@ +{ + "name": "libsodium-wrappers-sumo", + "version": "0.7.11", + "description": "The Sodium cryptographic library compiled to pure JavaScript (wrappers, sumo variant)", + "main": "dist/modules-sumo/libsodium-wrappers.js", + "files": [ + "dist/modules-sumo/libsodium-wrappers.js", + "package.json" + ], + "repository": { + "type": "git", + "url": "https://github.com/jedisct1/libsodium.js.git" + }, + "dependencies": { + "libsodium-sumo": "^0.7.11" + }, + "devDependencies": { + "assert": "^2.0.0", + "chai": "^4.3.7", + "libsodium": "^0.7.11", + "mocha": "^10.2.0", + "terser": "^5.16.3" + }, + "keywords": [ + "crypto", + "sodium", + "libsodium", + "nacl", + "chacha20", + "poly1305", + "curve25519", + "ed25519", + "blake2", + "siphash", + "argon2", + "ecc" + ], + "scripts": { + "test": "mocha" + }, + "author": "Ahmad Ben Mrad (@BatikhSouri)", + "contributors": [ + "Frank Denis (@jedisct1)", + "Ryan Lester (@buu700)" + ], + "license": "ISC", + "bugs": { + "url": "https://github.com/jedisct1/libsodium.js/issues" + }, + "homepage": "https://github.com/jedisct1/libsodium.js", + "browser": { + "fs": false, + "path": false, + "stream": false + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/.package-lock.json b/ts-client/node_modules/protobufjs/cli/node_modules/.package-lock.json new file mode 100644 index 00000000..ca8d0fcc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/.package-lock.json @@ -0,0 +1,473 @@ +{ + "name": "cli", + "version": "6.9.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "..": { + "name": "protobufjs", + "version": "6.11.3", + "extraneous": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + }, + "devDependencies": { + "benchmark": "^2.1.4", + "browserify": "^17.0.0", + "browserify-wrap": "^1.0.2", + "bundle-collapser": "^1.3.0", + "chalk": "^4.0.0", + "escodegen": "^1.13.0", + "eslint": "^8.15.0", + "espree": "^7.0.0", + "estraverse": "^5.1.0", + "gh-pages": "^3.0.0", + "git-raw-commits": "^2.0.3", + "git-semver-tags": "^4.0.0", + "glob": "^7.2.1", + "google-protobuf": "^3.11.3", + "gulp": "^4.0.2", + "gulp-header": "^2.0.9", + "gulp-if": "^3.0.0", + "gulp-sourcemaps": "^2.6.5", + "gulp-uglify": "^3.0.2", + "jaguarjs-jsdoc": "github:dcodeIO/jaguarjs-jsdoc", + "jsdoc": "^3.6.3", + "minimist": "^1.2.0", + "nyc": "^15.0.0", + "reflect-metadata": "^0.1.13", + "semver": "^7.1.2", + "tape": "^5.0.0", + "tmp": "^0.2.0", + "tslint": "^6.0.0", + "typescript": "^3.7.5", + "uglify-js": "^3.7.7", + "vinyl-buffer": "^1.0.1", + "vinyl-fs": "^3.0.3", + "vinyl-source-stream": "^2.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.13", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.8.0", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/catharsis": { + "version": "0.9.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/entities": { + "version": "2.1.0", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "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==", + "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/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "dependencies": { + "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.4", + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/marked": { + "version": "4.0.19", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requizzle": { + "version": "0.2.3", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==" + }, + "node_modules/tmp": { + "version": "0.2.1", + "license": "MIT", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.4", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "license": "Apache-2.0" + } + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/CHANGELOG.md new file mode 100644 index 00000000..b3840ac8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/CHANGELOG.md @@ -0,0 +1,1073 @@ +# Changelog + +> **Tags:** +> - :boom: [Breaking Change] +> - :eyeglasses: [Spec Compliance] +> - :rocket: [New Feature] +> - :bug: [Bug Fix] +> - :memo: [Documentation] +> - :house: [Internal] +> - :nail_care: [Polish] + +> Semver Policy: https://github.com/babel/babel/tree/main/packages/babel-parser#semver + +_Note: Gaps between patch versions are faulty, broken or test releases._ + +See the [Babel Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) for the pre-6.8.0 version Changelog. + +## 6.17.1 (2017-05-10) + +### :bug: Bug Fix + * Fix typo in flow spread operator error (Brian Ng) + * Fixed invalid number literal parsing ([#473](https://github.com/babel/babylon/pull/473)) (Alex Kuzmenko) + * Fix number parser ([#433](https://github.com/babel/babylon/pull/433)) (Alex Kuzmenko) + * Ensure non pattern shorthand props are checked for reserved words ([#479](https://github.com/babel/babylon/pull/479)) (Brian Ng) + * Remove jsx context when parsing arrow functions ([#475](https://github.com/babel/babylon/pull/475)) (Brian Ng) + * Allow super in class properties ([#499](https://github.com/babel/babylon/pull/499)) (Brian Ng) + * Allow flow class field to be named constructor ([#510](https://github.com/babel/babylon/pull/510)) (Brian Ng) + +## 6.17.0 (2017-04-20) + +### :bug: Bug Fix + * Cherry-pick #418 to 6.x ([#476](https://github.com/babel/babylon/pull/476)) (Sebastian McKenzie) + * Add support for invalid escapes in tagged templates ([#274](https://github.com/babel/babylon/pull/274)) (Kevin Gibbons) + * Throw error if new.target is used outside of a function ([#402](https://github.com/babel/babylon/pull/402)) (Brian Ng) + * Fix parsing of class properties ([#351](https://github.com/babel/babylon/pull/351)) (Kevin Gibbons) + * Fix parsing yield with dynamicImport ([#383](https://github.com/babel/babylon/pull/383)) (Brian Ng) + * Ensure consistent start args for parseParenItem ([#386](https://github.com/babel/babylon/pull/386)) (Brian Ng) + +## 7.0.0-beta.8 (2017-04-04) + +### New Feature +* Add support for flow type spread (#418) (Conrad Buck) +* Allow statics in flow interfaces (#427) (Brian Ng) + +### Bug Fix +* Fix predicate attachment to match flow parser (#428) (Brian Ng) +* Add extra.raw back to JSXText and JSXAttribute (#344) (Alex Rattray) +* Fix rest parameters with array and objects (#424) (Brian Ng) +* Fix number parser (#433) (Alex Kuzmenko) + +### Docs +* Fix CONTRIBUTING.md [skip ci] (#432) (Alex Kuzmenko) + +### Internal +* Use babel-register script when running babel smoke tests (#442) (Brian Ng) + +## 7.0.0-beta.7 (2017-03-22) + +### Spec Compliance +* Remove babylon plugin for template revision since it's stage-4 (#426) (Henry Zhu) + +### Bug Fix + +* Fix push-pop logic in flow (#405) (Daniel Tschinder) + +## 7.0.0-beta.6 (2017-03-21) + +### New Feature +* Add support for invalid escapes in tagged templates (#274) (Kevin Gibbons) + +### Polish +* Improves error message when super is called outside of constructor (#408) (Arshabh Kumar Agarwal) + +### Docs + +* [7.0] Moved value field in spec from ObjectMember to ObjectProperty as ObjectMethod's don't have it (#415) [skip ci] (James Browning) + +## 7.0.0-beta.5 (2017-03-21) + +### Bug Fix +* Throw error if new.target is used outside of a function (#402) (Brian Ng) +* Fix parsing of class properties (#351) (Kevin Gibbons) + +### Other + * Test runner: Detect extra property in 'actual' but not in 'expected'. (#407) (Andy) + * Optimize travis builds (#419) (Daniel Tschinder) + * Update codecov to 2.0 (#412) (Daniel Tschinder) + * Fix spec for ClassMethod: It doesn't have a function, it *is* a function. (#406) [skip ci] (Andy) + * Changed Non-existent RestPattern to RestElement which is what is actually parsed (#409) [skip ci] (James Browning) + * Upgrade flow to 0.41 (Daniel Tschinder) + * Fix watch command (#403) (Brian Ng) + * Update yarn lock (Daniel Tschinder) + * Fix watch command (#403) (Brian Ng) + * chore(package): update flow-bin to version 0.41.0 (#395) (greenkeeper[bot]) + * Add estree test for correct order of directives (Daniel Tschinder) + * Add DoExpression to spec (#364) (Alex Kuzmenko) + * Mention cloning of repository in CONTRIBUTING.md (#391) [skip ci] (Sumedh Nimkarde) + * Explain how to run only one test (#389) [skip ci] (Aaron Ang) + + ## 7.0.0-beta.4 (2017-03-01) + +* Don't consume async when checking for async func decl (#377) (Brian Ng) +* add `ranges` option [skip ci] (Henry Zhu) +* Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) (Andrew Levine) + +## 7.0.0-beta.3 (2017-02-28) + +- [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement (#384) +- Merge changes from 6.x + +## 7.0.0-beta.2 (2017-02-20) + +- estree: correctly change literals in all cases (#368) (Daniel Tschinder) + +## 7.0.0-beta.1 (2017-02-20) + +- Fix negative number literal typeannotations (#366) (Daniel Tschinder) +- Update contributing with more test info [skip ci] (#355) (Brian Ng) + +## 7.0.0-beta.0 (2017-02-15) + +- Reintroduce Variance node (#333) (Daniel Tschinder) +- Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#332) (Charles Pick) +- [7.0] Remove ForAwaitStatement, add await flag to ForOfStatement (#349) (Brandon Dail) +- chore(package): update ava to version 0.18.0 (#345) (greenkeeper[bot]) +- chore(package): update babel-plugin-istanbul to version 4.0.0 (#350) (greenkeeper[bot]) +- Change location of ObjectTypeIndexer to match flow (#228) (Daniel Tschinder) +- Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#322) (Toru Kobayashi) +- Revert "Temporary rollback for erroring on trailing comma with spread (#154)" (#290) (Daniel Tschinder) +- Remove classConstructorCall plugin (#291) (Brian Ng) +- Update yarn.lock (Daniel Tschinder) +- Update cross-env to 3.x (Daniel Tschinder) +- [7.0] Remove node 0.10, 0.12 and 5 from Travis (#284) (Sergey Rubanov) +- Remove `String.fromCodePoint` shim (#279) (Mathias Bynens) + +## 6.16.1 (2017-02-23) + +### :bug: Regression + +- Revert "Fix export default async function to be FunctionDeclaration" ([#375](https://github.com/babel/babylon/pull/375)) + +Need to modify Babel for this AST node change, so moving to 7.0. + +- Revert "Don't parse class properties without initializers when classProperties plugin is disabled, and Flow is enabled" ([#376](https://github.com/babel/babylon/pull/376)) + +[react-native](https://github.com/facebook/react-native/issues/12542) broke with this so we reverted. + +## 6.16.0 (2017-02-23) + +### :rocket: New Feature + +***ESTree*** compatibility as plugin ([#277](https://github.com/babel/babylon/pull/277)) (Daniel Tschinder) + +We finally introduce a new compatibility layer for ESTree. To put babylon into ESTree-compatible mode the new plugin `estree` can be enabled. In this mode the parser will output an AST that is compliant to the specs of [ESTree](https://github.com/estree/estree/) + +We highly recommend everyone who uses babylon outside of babel to use this plugin. This will make it much easier for users to switch between different ESTree-compatible parsers. We so far tested several projects with different parsers and exchanged their parser to babylon and in nearly all cases it worked out of the box. Some other estree-compatible parsers include `acorn`, `esprima`, `espree`, `flow-parser`, etc. + +To enable `estree` mode simply add the plugin in the config: +```json +{ + "plugins": [ "estree" ] +} +``` + +If you want to migrate your project from non-ESTree mode to ESTree, have a look at our [Readme](https://github.com/babel/babylon/#output), where all deviations are mentioned. + +Add a parseExpression public method ([#213](https://github.com/babel/babylon/pull/213)) (jeromew) + +Babylon exports a new function to parse a single expression + +```js +import { parseExpression } from 'babylon'; + +const ast = parseExpression('x || y && z', options); +``` + +The returned AST will only consist of the expression. The options are the same as for `parse()` + +Add startLine option ([#346](https://github.com/babel/babylon/pull/346)) (Raphael Mu) + +A new option was added to babylon allowing to change the initial linenumber for the first line which is usually `1`. +Changing this for example to `100` will make line `1` of the input source to be marked as line `100`, line `2` as `101`, line `3` as `102`, ... + +Function predicate declaration ([#103](https://github.com/babel/babylon/pull/103)) (Panagiotis Vekris) + +Added support for function predicates which flow introduced in version 0.33.0 + +```js +declare function is_number(x: mixed): boolean %checks(typeof x === "number"); +``` + +Allow imports in declare module ([#315](https://github.com/babel/babylon/pull/315)) (Daniel Tschinder) + +Added support for imports within module declarations which flow introduced in version 0.37.0 + +```js +declare module "C" { + import type { DT } from "D"; + declare export type CT = { D: DT }; +} +``` + +### :eyeglasses: Spec Compliance + +Forbid semicolons after decorators in classes ([#352](https://github.com/babel/babylon/pull/352)) (Kevin Gibbons) + +This example now correctly throws an error when there is a semicolon after the decorator: + +```js +class A { +@a; +foo(){} +} +``` + +Keywords are not allowed as local specifier ([#307](https://github.com/babel/babylon/pull/307)) (Daniel Tschinder) + +Using keywords in imports is not allowed anymore: + +```js +import { default } from "foo"; +import { a as debugger } from "foo"; +``` + +Do not allow overwritting of primitive types ([#314](https://github.com/babel/babylon/pull/314)) (Daniel Tschinder) + +In flow it is now forbidden to overwrite the primitive types `"any"`, `"mixed"`, `"empty"`, `"bool"`, `"boolean"`, `"number"`, `"string"`, `"void"` and `"null"` with your own type declaration. + +Disallow import type { type a } from … ([#305](https://github.com/babel/babylon/pull/305)) (Daniel Tschinder) + +The following code now correctly throws an error + +```js +import type { type a } from "foo"; +``` + +Don't parse class properties without initializers when classProperties is disabled and Flow is enabled ([#300](https://github.com/babel/babylon/pull/300)) (Andrew Levine) + +Ensure that you enable the `classProperties` plugin in order to enable correct parsing of class properties. Prior to this version it was possible to parse them by enabling the `flow` plugin but this was not intended the behaviour. + +If you enable the flow plugin you can only define the type of the class properties, but not initialize them. + +Fix export default async function to be FunctionDeclaration ([#324](https://github.com/babel/babylon/pull/324)) (Daniel Tschinder) + +Parsing the following code now returns a `FunctionDeclaration` AST node instead of `FunctionExpression`. + +```js +export default async function bar() {}; +``` + +### :nail_care: Polish + +Improve error message on attempt to destructure named import ([#288](https://github.com/babel/babylon/pull/288)) (Brian Ng) + +### :bug: Bug Fix + +Fix negative number literal typeannotations ([#366](https://github.com/babel/babylon/pull/366)) (Daniel Tschinder) + +Ensure takeDecorators is called on exported class ([#358](https://github.com/babel/babylon/pull/358)) (Brian Ng) + +ESTree: correctly change literals in all cases ([#368](https://github.com/babel/babylon/pull/368)) (Daniel Tschinder) + +Correctly convert RestProperty to Assignable ([#339](https://github.com/babel/babylon/pull/339)) (Daniel Tschinder) + +Fix #321 by allowing question marks in type params ([#338](https://github.com/babel/babylon/pull/338)) (Daniel Tschinder) + +Fix #336 by correctly setting arrow-param ([#337](https://github.com/babel/babylon/pull/337)) (Daniel Tschinder) + +Fix parse error when destructuring `set` with default value ([#317](https://github.com/babel/babylon/pull/317)) (Brian Ng) + +Fix ObjectTypeCallProperty static ([#298](https://github.com/babel/babylon/pull/298)) (Dan Harper) + + +### :house: Internal + +Fix generator-method-with-computed-name spec ([#360](https://github.com/babel/babylon/pull/360)) (Alex Rattray) + +Fix flow type-parameter-declaration test with unintended semantic ([#361](https://github.com/babel/babylon/pull/361)) (Alex Rattray) + +Cleanup and splitup parser functions ([#295](https://github.com/babel/babylon/pull/295)) (Daniel Tschinder) + +chore(package): update flow-bin to version 0.38.0 ([#313](https://github.com/babel/babylon/pull/313)) (greenkeeper[bot]) + +Call inner function instead of 1:1 copy to plugin ([#294](https://github.com/babel/babylon/pull/294)) (Daniel Tschinder) + +Update eslint-config-babel to the latest version 🚀 ([#299](https://github.com/babel/babylon/pull/299)) (greenkeeper[bot]) + +Update eslint-config-babel to the latest version 🚀 ([#293](https://github.com/babel/babylon/pull/293)) (greenkeeper[bot]) + +devDeps: remove eslint-plugin-babel ([#292](https://github.com/babel/babylon/pull/292)) (Kai Cataldo) + +Correct indent eslint rule config ([#276](https://github.com/babel/babylon/pull/276)) (Daniel Tschinder) + +Fail tests that have expected.json and throws-option ([#285](https://github.com/babel/babylon/pull/285)) (Daniel Tschinder) + +### :memo: Documentation + +Update contributing with more test info [skip ci] ([#355](https://github.com/babel/babylon/pull/355)) (Brian Ng) + +Update API documentation ([#330](https://github.com/babel/babylon/pull/330)) (Timothy Gu) + +Added keywords to package.json ([#323](https://github.com/babel/babylon/pull/323)) (Dmytro) + +AST spec: fix casing of `RegExpLiteral` ([#318](https://github.com/babel/babylon/pull/318)) (Mathias Bynens) + +## 6.15.0 (2017-01-10) + +### :eyeglasses: Spec Compliance + +Add support for Flow shorthand import type ([#267](https://github.com/babel/babylon/pull/267)) (Jeff Morrison) + +This change implements flows new shorthand import syntax +and where previously you had to write this code: + +```js +import {someValue} from "blah"; +import type {someType} from "blah"; +import typeof {someOtherValue} from "blah"; +``` + +you can now write it like this: + +```js +import { + someValue, + type someType, + typeof someOtherValue, +} from "blah"; +``` + +For more information look at [this](https://github.com/facebook/flow/pull/2890) pull request. + +flow: allow leading pipes in all positions ([#256](https://github.com/babel/babylon/pull/256)) (Vladimir Kurchatkin) + +This change now allows a leading pipe everywhere types can be used: +```js +var f = (x): | 1 | 2 => 1; +``` + +Throw error when exporting non-declaration ([#241](https://github.com/babel/babylon/pull/241)) (Kai Cataldo) + +Previously babylon parsed the following exports, although they are not valid: +```js +export typeof foo; +export new Foo(); +export function() {}; +export for (;;); +export while(foo); +``` + +### :bug: Bug Fix + +Don't set inType flag when parsing property names ([#266](https://github.com/babel/babylon/pull/266)) (Vladimir Kurchatkin) + +This fixes parsing of this case: + +```js +const map = { + [age <= 17] : 'Too young' +}; +``` + +Fix source location for JSXEmptyExpression nodes (fixes #248) ([#249](https://github.com/babel/babylon/pull/249)) (James Long) + +The following case produced an invalid AST +```js +

+``` + +Use fromCodePoint to convert high value unicode entities ([#243](https://github.com/babel/babylon/pull/243)) (Ryan Duffy) + +When high value unicode entities (e.g. 💩) were used in the input source code they are now correctly encoded in the resulting AST. + +Rename folder to avoid Windows-illegal characters ([#281](https://github.com/babel/babylon/pull/281)) (Ryan Plant) + +Allow this.state.clone() when parsing decorators ([#262](https://github.com/babel/babylon/pull/262)) (Alex Rattray) + +### :house: Internal + +User external-helpers ([#254](https://github.com/babel/babylon/pull/254)) (Daniel Tschinder) + +Add watch script for dev ([#234](https://github.com/babel/babylon/pull/234)) (Kai Cataldo) + +Freeze current plugins list for "*" option, and remove from README.md ([#245](https://github.com/babel/babylon/pull/245)) (Andrew Levine) + +Prepare tests for multiple fixture runners. ([#240](https://github.com/babel/babylon/pull/240)) (Daniel Tschinder) + +Add some test coverage for decorators stage-0 plugin ([#250](https://github.com/babel/babylon/pull/250)) (Andrew Levine) + +Refactor tokenizer types file ([#263](https://github.com/babel/babylon/pull/263)) (Sven SAULEAU) + +Update eslint-config-babel to the latest version 🚀 ([#273](https://github.com/babel/babylon/pull/273)) (greenkeeper[bot]) + +chore(package): update rollup to version 0.41.0 ([#272](https://github.com/babel/babylon/pull/272)) (greenkeeper[bot]) + +chore(package): update flow-bin to version 0.37.0 ([#255](https://github.com/babel/babylon/pull/255)) (greenkeeper[bot]) + +## 6.14.1 (2016-11-17) + +### :bug: Bug Fix + +Allow `"plugins": ["*"]` ([#229](https://github.com/babel/babylon/pull/229)) (Daniel Tschinder) + +```js +{ + "plugins": ["*"] +} +``` + +Will include all parser plugins instead of specifying each one individually. Useful for tools like babel-eslint, jscodeshift, and ast-explorer. + +## 6.14.0 (2016-11-16) + +### :eyeglasses: Spec Compliance + +Throw error for reserved words `enum` and `await` ([#195](https://github.com/babel/babylon/pull/195)) (Kai Cataldo) + +[11.6.2.2 Future Reserved Words](http://www.ecma-international.org/ecma-262/6.0/#sec-future-reserved-words) + +Babylon will throw for more reserved words such as `enum` or `await` (in strict mode). + +``` +class enum {} // throws +class await {} // throws in strict mode (module) +``` + +Optional names for function types and object type indexers ([#197](https://github.com/babel/babylon/pull/197)) (Gabe Levi) + +So where you used to have to write + +```js +type A = (x: string, y: boolean) => number; +type B = (z: string) => number; +type C = { [key: string]: number }; +``` + +you can now write (with flow 0.34.0) + +```js +type A = (string, boolean) => number; +type B = string => number; +type C = { [string]: number }; +``` + +Parse flow nested array type annotations like `number[][]` ([#219](https://github.com/babel/babylon/pull/219)) (Bernhard Häussner) + +Supports these form now of specifying array types: + +```js +var a: number[][][][]; +var b: string[][]; +``` + +### :bug: Bug Fix + +Correctly eat semicolon at the end of `DelcareModuleExports` ([#223](https://github.com/babel/babylon/pull/223)) (Daniel Tschinder) + +``` +declare module "foo" { declare module.exports: number } +declare module "foo" { declare module.exports: number; } // also allowed now +``` + +### :house: Internal + + * Count Babel tests towards Babylon code coverage ([#182](https://github.com/babel/babylon/pull/182)) (Moti Zilberman) + * Fix strange line endings ([#214](https://github.com/babel/babylon/pull/214)) (Thomas Grainger) + * Add node 7 (Daniel Tschinder) + * chore(package): update flow-bin to version 0.34.0 ([#204](https://github.com/babel/babylon/pull/204)) (Greenkeeper) + +## v6.13.1 (2016-10-26) + +### :nail_care: Polish + +- Use rollup for bundling to speed up startup time ([#190](https://github.com/babel/babylon/pull/190)) ([@drewml](https://github.com/DrewML)) + +```js +const babylon = require('babylon'); +const ast = babylon.parse('var foo = "lol";'); +``` + +With that test case, there was a ~95ms savings by removing the need for node to build/traverse the dependency graph. + +**Without bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420264/3133497e-93ad-11e6-9a6a-2da59c4f5c13.png) + +**With bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420267/388f556e-93ad-11e6-813e-7c5c396be322.png) + +- add clean command [skip ci] ([#201](https://github.com/babel/babylon/pull/201)) (Henry Zhu) +- add ForAwaitStatement (async generator already added) [skip ci] ([#196](https://github.com/babel/babylon/pull/196)) (Henry Zhu) + +## v6.13.0 (2016-10-21) + +### :eyeglasses: Spec Compliance + +Property variance type annotations for Flow plugin ([#161](https://github.com/babel/babylon/pull/161)) (Sam Goldman) + +> See https://flowtype.org/docs/variance.html for more information + +```js +type T = { +p: T }; +interface T { -p: T }; +declare class T { +[k:K]: V }; +class T { -[k:K]: V }; +class C2 { +p: T = e }; +``` + +Raise error on duplicate definition of __proto__ ([#183](https://github.com/babel/babylon/pull/183)) (Moti Zilberman) + +```js +({ __proto__: 1, __proto__: 2 }) // Throws an error now +``` + +### :bug: Bug Fix + +Flow: Allow class properties to be named `static` ([#184](https://github.com/babel/babylon/pull/184)) (Moti Zilberman) + +```js +declare class A { + static: T; +} +``` + +Allow "async" as identifier for object literal property shorthand ([#187](https://github.com/babel/babylon/pull/187)) (Andrew Levine) + +```js +var foo = { async, bar }; +``` + +### :nail_care: Polish + +Fix flowtype and add inType to state ([#189](https://github.com/babel/babylon/pull/189)) (Daniel Tschinder) + +> This improves the performance slightly (because of hidden classes) + +### :house: Internal + +Fix .gitattributes line ending setting ([#191](https://github.com/babel/babylon/pull/191)) (Moti Zilberman) + +Increase test coverage ([#175](https://github.com/babel/babylon/pull/175) (Moti Zilberman) + +Readd missin .eslinignore for IDEs (Daniel Tschinder) + +Error on missing expected.json fixture in CI ([#188](https://github.com/babel/babylon/pull/188)) (Moti Zilberman) + +Add .gitattributes and .editorconfig for LF line endings ([#179](https://github.com/babel/babylon/pull/179)) (Moti Zilberman) + +Fixes two tests that are failing after the merge of #172 ([#177](https://github.com/babel/babylon/pull/177)) (Moti Zilberman) + +## v6.12.0 (2016-10-14) + +### :eyeglasses: Spec Compliance + +Implement import() syntax ([#163](https://github.com/babel/babylon/pull/163)) (Jordan Gensler) + +#### Dynamic Import + +- Proposal Repo: https://github.com/domenic/proposal-dynamic-import +- Championed by [@domenic](https://github.com/domenic) +- stage-2 +- [sept-28 tc39 notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#113a-import) + +> This repository contains a proposal for adding a "function-like" import() module loading syntactic form to JavaScript + +```js +import(`./section-modules/${link.dataset.entryModule}.js`) +.then(module => { + module.loadPageInto(main); +}) +``` + +Add EmptyTypeAnnotation ([#171](https://github.com/babel/babylon/pull/171)) (Sam Goldman) + +#### EmptyTypeAnnotation + +Just wasn't covered before. + +```js +type T = empty; +``` + +### :bug: Bug Fix + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing due to sparse array +export const { foo: [ ,, qux7 ] } = bar; +``` + +Allow keyword in Flow object declaration property names with type parameters ([#146](https://github.com/babel/babylon/pull/146)) (Dan Harper) + +```js +declare class X { + foobar(): void; + static foobar(): void; +} +``` + +Allow keyword in object/class property names with Flow type parameters ([#145](https://github.com/babel/babylon/pull/145)) (Dan Harper) + +```js +class Foo { + delete(item: T): T { + return item; + } +} +``` + +Allow typeAnnotations for yield expressions ([#174](https://github.com/babel/babylon/pull/174))) (Daniel Tschinder) + +```js +function *foo() { + const x = (yield 5: any); +} +``` + +### :nail_care: Polish + +Annotate more errors with expected token ([#172](https://github.com/babel/babylon/pull/172))) (Moti Zilberman) + +```js +// Unexpected token, expected ; (1:6) +{ set 1 } +``` + +### :house: Internal + +Remove kcheck ([#173](https://github.com/babel/babylon/pull/173))) (Daniel Tschinder) + +Also run flow, linting, babel tests on separate instances (add back node 0.10) + +## v6.11.6 (2016-10-12) + +### :bug: Bug Fix/Regression + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing with `Cannot read property 'type' of null` because of null identifiers +export const { foo: [ ,, qux7 ] } = bar; +``` + +## v6.11.5 (2016-10-12) + +### :eyeglasses: Spec Compliance + +Fix: Check for duplicate named exports in exported destructuring assignments ([#144](https://github.com/babel/babylon/pull/144)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:20) +export function foo() {}; +export const { a: [{foo}] } = bar; +``` + +Fix: Check for duplicate named exports in exported rest elements/properties ([#164](https://github.com/babel/babylon/pull/164)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:22) +export const foo = 1; +export const [bar, ...foo] = baz; +``` + +### :bug: Bug Fix + +Fix: Allow identifier `async` for default param in arrow expression ([#165](https://github.com/babel/babylon/pull/165)) (Kai Cataldo) + +```js +// this is ok now +const test = ({async = true}) => {}; +``` + +### :nail_care: Polish + +Babylon will now print out the token it's expecting if there's a `SyntaxError` ([#150](https://github.com/babel/babylon/pull/150)) (Daniel Tschinder) + +```bash +# So in the case of a missing ending curly (`}`) +Module build failed: SyntaxError: Unexpected token, expected } (30:0) + 28 | } + 29 | +> 30 | + | ^ +``` + +## v6.11.4 (2016-10-03) + +Temporary rollback for erroring on trailing comma with spread (#154) (Henry Zhu) + +## v6.11.3 (2016-10-01) + +### :eyeglasses: Spec Compliance + +Add static errors for object rest (#149) ([@danez](https://github.com/danez)) + +> https://github.com/sebmarkbage/ecmascript-rest-spread + +Object rest copies the *rest* of properties from the right hand side `obj` starting from the left to right. + +```js +let { x, y, ...z } = { x: 1, y: 2, z: 3 }; +// x = 1 +// y = 2 +// z = { z: 3 } +``` + +#### New Syntax Errors: + +**SyntaxError**: The rest element has to be the last element when destructuring (1:10) +```bash +> 1 | let { ...x, y, z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = { x: 1, y: 2, z: 3 } +# y = 2 +# z = 3 +``` + +Before, this was just a more verbose way of shallow copying `obj` since it doesn't actually do what you think. + +**SyntaxError**: Cannot have multiple rest elements when destructuring (1:13) + +```bash +> 1 | let { x, ...y, ...z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = 1 +# y = { y: 2, z: 3 } +# z = { y: 2, z: 3 } +``` + +Before y and z would just be the same value anyway so there is no reason to need to have both. + +**SyntaxError**: A trailing comma is not permitted after the rest element (1:16) + +```js +let { x, y, ...z, } = obj; +``` + +The rationale for this is that the use case for trailing comma is that you can add something at the end without affecting the line above. Since a RestProperty always has to be the last property it doesn't make sense. + +--- + +get / set are valid property names in default assignment (#142) ([@jezell](https://github.com/jezell)) + +```js +// valid +function something({ set = null, get = null }) {} +``` + +## v6.11.2 (2016-09-23) + +### Bug Fix + +- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo + +```js +// regression with duplicate export check +SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13) + 20 | + 21 | export const { rhythm } = typography; +> 22 | export const { TypographyStyle } = typography +``` + +Bail out for now, and make a change to account for destructuring in the next release. + +## 6.11.1 (2016-09-22) + +### Bug Fix +- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez + +```javascript +export toString from './toString'; +``` + +```bash +`toString` has already been exported. Exported identifiers must be unique. (1:7) +> 1 | export toString from './toString'; + | ^ + 2 | +``` + +## 6.11.0 (2016-09-22) + +### Spec Compliance (will break CI) + +- Disallow duplicate named exports ([#107](https://github.com/babel/babylon/pull/107)) @kaicataldo + +```js +// Only one default export allowed per module. (2:9) +export default function() {}; +export { foo as default }; + +// Only one default export allowed per module. (2:0) +export default {}; +export default function() {}; + +// `Foo` has already been exported. Exported identifiers must be unique. (2:0) +export { Foo }; +export class Foo {}; +``` + +### New Feature (Syntax) + +- Add support for computed class property names ([#121](https://github.com/babel/babylon/pull/121)) @motiz88 + +```js +// AST +interface ClassProperty <: Node { + type: "ClassProperty"; + key: Identifier; + value: Expression; + computed: boolean; // added +} +``` + +```js +// with "plugins": ["classProperties"] +class Foo { + [x] + ['y'] +} + +class Bar { + [p] + [m] () {} +} + ``` + +### Bug Fix + +- Fix `static` property falling through in the declare class Flow AST ([#135](https://github.com/babel/babylon/pull/135)) @danharper + +```js +declare class X { + a: number; + static b: number; // static + c: number; // this was being marked as static in the AST as well +} +``` + +### Polish + +- Rephrase "assigning/binding to rvalue" errors to include context ([#119](https://github.com/babel/babylon/pull/119)) @motiz88 + +```js +// Used to error with: +// SyntaxError: Assigning to rvalue (1:0) + +// Now: +// Invalid left-hand side in assignment expression (1:0) +3 = 4 + +// Invalid left-hand side in for-in statement (1:5) +for (+i in {}); +``` + +### Internal + +- Fix call to `this.parseMaybeAssign` with correct arguments ([#133](https://github.com/babel/babylon/pull/133)) @danez +- Add semver note to changelog ([#131](https://github.com/babel/babylon/pull/131)) @hzoo + +## 6.10.0 (2016-09-19) + +> We plan to include some spec compliance bugs in patch versions. An example was the multiple default exports issue. + +### Spec Compliance + +* Implement ES2016 check for simple parameter list in strict mode ([#106](https://github.com/babel/babylon/pull/106)) (Timothy Gu) + +> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. https://tc39.github.io/ecma262/2016/#sec-function-definitions-static-semantics-early-errors + +More Context: [tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists) + +For example: + +```js +// this errors because it uses destructuring and default parameters +// in a function with a "use strict" directive +function a([ option1, option2 ] = []) { + "use strict"; +} + ``` + +The solution would be to use a top level "use strict" or to remove the destructuring or default parameters when using a function + "use strict" or to. + +### New Feature + +* Exact object type annotations for Flow plugin ([#104](https://github.com/babel/babylon/pull/104)) (Basil Hosmer) + +Added to flow in https://github.com/facebook/flow/commit/c710c40aa2a115435098d6c0dfeaadb023cd39b8 + +Looks like: + +```js +var a : {| x: number, y: string |} = { x: 0, y: 'foo' }; +``` + +### Bug Fixes + +* Include `typeParameter` location in `ArrowFunctionExpression` ([#126](https://github.com/babel/babylon/pull/126)) (Daniel Tschinder) +* Error on invalid flow type annotation with default assignment ([#122](https://github.com/babel/babylon/pull/122)) (Dan Harper) +* Fix Flow return types on arrow functions ([#124](https://github.com/babel/babylon/pull/124)) (Dan Harper) + +### Misc + +* Add tests for export extensions ([#127](https://github.com/babel/babylon/pull/127)) (Daniel Tschinder) +* Fix Contributing guidelines [skip ci] (Daniel Tschinder) + +## 6.9.2 (2016-09-09) + +The only change is to remove the `babel-runtime` dependency by compiling with Babel's ES2015 loose mode. So using babylon standalone should be smaller. + +## 6.9.1 (2016-08-23) + +This release contains mainly small bugfixes but also updates babylons default mode to es2017. The features for `exponentiationOperator`, `asyncFunctions` and `trailingFunctionCommas` which previously needed to be activated via plugin are now enabled by default and the plugins are now no-ops. + +### Bug Fixes + +- Fix issues with default object params in async functions ([#96](https://github.com/babel/babylon/pull/96)) @danez +- Fix issues with flow-types and async function ([#95](https://github.com/babel/babylon/pull/95)) @danez +- Fix arrow functions with destructuring, types & default value ([#94](https://github.com/babel/babylon/pull/94)) @danharper +- Fix declare class with qualified type identifier ([#97](https://github.com/babel/babylon/pull/97)) @danez +- Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas plugins and enable them by default ([#98](https://github.com/babel/babylon/pull/98)) @danez + +## 6.9.0 (2016-08-16) + +### New syntax support + +- Add JSX spread children ([#42](https://github.com/babel/babylon/pull/42)) @calebmer + +(Be aware that React is not going to support this syntax) + +```js +
+ {...todos.map(todo => )} +
+``` + +- Add support for declare module.exports ([#72](https://github.com/babel/babylon/pull/72)) @danez + +```js +declare module "foo" { + declare module.exports: {} +} +``` + +### New Features + +- If supplied, attach filename property to comment node loc. ([#80](https://github.com/babel/babylon/pull/80)) @divmain +- Add identifier name to node loc field ([#90](https://github.com/babel/babylon/pull/90)) @kittens + +### Bug Fixes + +- Fix exponential operator to behave according to spec ([#75](https://github.com/babel/babylon/pull/75)) @danez +- Fix lookahead to not add comments to arrays which are not cloned ([#76](https://github.com/babel/babylon/pull/76)) @danez +- Fix accidental fall-through in Flow type parsing. ([#82](https://github.com/babel/babylon/pull/82)) @xiemaisi +- Only allow declares inside declare module ([#73](https://github.com/babel/babylon/pull/73)) @danez +- Small fix for parsing type parameter declarations ([#83](https://github.com/babel/babylon/pull/83)) @gabelevi +- Fix arrow param locations with flow types ([#57](https://github.com/babel/babylon/pull/57)) @danez +- Fixes SyntaxError position with flow optional type ([#65](https://github.com/babel/babylon/pull/65)) @danez + +### Internal + +- Add codecoverage to tests @danez +- Fix tests to not save expected output if we expect the test to fail @danez +- Make a shallow clone of babel for testing @danez +- chore(package): update cross-env to version 2.0.0 ([#77](https://github.com/babel/babylon/pull/77)) @greenkeeperio-bot +- chore(package): update ava to version 0.16.0 ([#86](https://github.com/babel/babylon/pull/86)) @greenkeeperio-bot +- chore(package): update babel-plugin-istanbul to version 2.0.0 ([#89](https://github.com/babel/babylon/pull/89)) @greenkeeperio-bot +- chore(package): update nyc to version 8.0.0 ([#88](https://github.com/babel/babylon/pull/88)) @greenkeeperio-bot + +## 6.8.4 (2016-07-06) + +### Bug Fixes + +- Fix the location of params, when flow and default value used ([#68](https://github.com/babel/babylon/pull/68)) @danez + +## 6.8.3 (2016-07-02) + +### Bug Fixes + +- Fix performance regression introduced in 6.8.2 with conditionals ([#63](https://github.com/babel/babylon/pull/63)) @danez + +## 6.8.2 (2016-06-24) + +### Bug Fixes + +- Fix parse error with yielding jsx elements in generators `function* it() { yield
; }` ([#31](https://github.com/babel/babylon/pull/31)) @eldereal +- When cloning nodes do not clone its comments ([#24](https://github.com/babel/babylon/pull/24)) @danez +- Fix parse errors when using arrow functions with an spread element and return type `(...props): void => {}` ([#10](https://github.com/babel/babylon/pull/10)) @danez +- Fix leading comments added from previous node ([#23](https://github.com/babel/babylon/pull/23)) @danez +- Fix parse errors with flow's optional arguments `(arg?) => {}` ([#19](https://github.com/babel/babylon/pull/19)) @danez +- Support negative numeric type literals @kittens +- Remove line terminator restriction after await keyword @kittens +- Remove grouped type arrow restriction as it seems flow no longer has it @kittens +- Fix parse error with generic methods that have the name `get` or `set` `class foo { get() {} }` ([#55](https://github.com/babel/babylon/pull/55)) @vkurchatkin +- Fix parse error with arrow functions that have flow type parameter declarations `(x: T): T => x;` ([#54](https://github.com/babel/babylon/pull/54)) @gabelevi + +### Documentation + +- Document AST differences from ESTree ([#41](https://github.com/babel/babylon/pull/41)) @nene +- Move ast spec from babel/babel ([#46](https://github.com/babel/babylon/pull/46)) @hzoo + +### Internal + +- Enable skipped tests ([#16](https://github.com/babel/babylon/pull/16)) @danez +- Add script to test latest version of babylon with babel ([#21](https://github.com/babel/babylon/pull/21)) @danez +- Upgrade test runner ava @kittens +- Add missing generate-identifier-regex script @kittens +- Rename parser context types @kittens +- Add node v6 to travis testing @hzoo +- Update to Unicode v9 ([#45](https://github.com/babel/babylon/pull/45)) @mathiasbynens + +## 6.8.1 (2016-06-06) + +### New Feature + +- Parse type parameter declarations with defaults like `type Foo = T` + +### Bug Fixes +- Type parameter declarations need 1 or more type parameters. +- The existential type `*` is not a valid type parameter. +- The existential type `*` is a primary type + +### Spec Compliance +- The param list for type parameter declarations now consists of `TypeParameter` nodes +- New `TypeParameter` AST Node (replaces using the `Identifier` node before) + +``` +interface TypeParameter <: Node { + bound: TypeAnnotation; + default: TypeAnnotation; + name: string; + variance: "plus" | "minus"; +} +``` + +## 6.8.0 (2016-05-02) + +#### New Feature + +##### Parse Method Parameter Decorators ([#12](https://github.com/babel/babylon/pull/12)) + +> [Method Parameter Decorators](https://goo.gl/8MmCMG) is now a TC39 [stage 0 proposal](https://github.com/tc39/ecma262/blob/master/stage0.md). + +Examples: + +```js +class Foo { + constructor(@foo() x, @bar({ a: 123 }) @baz() y) {} +} + +export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {} + +var obj = { + method(@foo() x, @bar({ a: 123 }) @baz() y) {} +}; +``` + +##### Parse for-await statements (w/ `asyncGenerators` plugin) ([#17](https://github.com/babel/babylon/pull/17)) + +There is also a new node type, `ForAwaitStatement`. + +> [Async generators and for-await](https://github.com/tc39/proposal-async-iteration) are now a [stage 2 proposal](https://github.com/tc39/ecma262#current-proposals). + +Example: + +```js +async function f() { + for await (let x of y); +} +``` diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/LICENSE new file mode 100644 index 00000000..d4c7fc58 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2012-2014 by various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/README.md new file mode 100644 index 00000000..513748c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/README.md @@ -0,0 +1,19 @@ +# @babel/parser + +> A JavaScript parser + +See our website [@babel/parser](https://babeljs.io/docs/en/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%20(babylon)%22+is%3Aopen) associated with this package. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/parser +``` + +or using yarn: + +```sh +yarn add @babel/parser --dev +``` diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/bin/babel-parser.js b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/bin/babel-parser.js new file mode 100755 index 00000000..3aca3145 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/bin/babel-parser.js @@ -0,0 +1,15 @@ +#!/usr/bin/env node +/* eslint no-var: 0 */ + +var parser = require(".."); +var fs = require("fs"); + +var filename = process.argv[2]; +if (!filename) { + console.error("no filename specified"); +} else { + var file = fs.readFileSync(filename, "utf8"); + var ast = parser.parse(file); + + console.log(JSON.stringify(ast, null, " ")); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/index.cjs b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/index.cjs new file mode 100644 index 00000000..89863a9f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/index.cjs @@ -0,0 +1,5 @@ +try { + module.exports = require("./lib/index.cjs"); +} catch { + module.exports = require("./lib/index.js"); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js new file mode 100644 index 00000000..0b5d4b0f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,16800 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +class Position { + constructor(line, col, index) { + this.line = void 0; + this.column = void 0; + this.index = void 0; + this.line = line; + this.column = col; + this.index = index; + } + +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } + +} +function createPositionWithColumnOffset(position, columnOffset) { + const { + line, + column, + index + } = position; + return new Position(line, column + columnOffset, index + columnOffset); +} + +var ParseErrorCode = { + SyntaxError: "BABEL_PARSER_SYNTAX_ERROR", + SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" +}; + +const reflect = (keys, last = keys.length - 1) => ({ + get() { + return keys.reduce((object, key) => object[key], this); + }, + + set(value) { + keys.reduce((item, key, i) => i === last ? item[key] = value : item[key], this); + } + +}); + +const instantiate = (constructor, properties, descriptors) => Object.keys(descriptors).map(key => [key, descriptors[key]]).filter(([, descriptor]) => !!descriptor).map(([key, descriptor]) => [key, typeof descriptor === "function" ? { + value: descriptor, + enumerable: false +} : typeof descriptor.reflect === "string" ? Object.assign({}, descriptor, reflect(descriptor.reflect.split("."))) : descriptor]).reduce((instance, [key, descriptor]) => Object.defineProperty(instance, key, Object.assign({ + configurable: true +}, descriptor)), Object.assign(new constructor(), properties)); + +var ModuleErrors = { + ImportMetaOutsideModule: { + message: `import.meta may appear only with 'sourceType: "module"'`, + code: ParseErrorCode.SourceTypeModuleError + }, + ImportOutsideModule: { + message: `'import' and 'export' may appear only with 'sourceType: "module"'`, + code: ParseErrorCode.SourceTypeModuleError + } +}; + +const NodeDescriptions = { + ArrayPattern: "array destructuring pattern", + AssignmentExpression: "assignment expression", + AssignmentPattern: "assignment expression", + ArrowFunctionExpression: "arrow function expression", + ConditionalExpression: "conditional expression", + CatchClause: "catch clause", + ForOfStatement: "for-of statement", + ForInStatement: "for-in statement", + ForStatement: "for-loop", + FormalParameters: "function parameter list", + Identifier: "identifier", + ImportSpecifier: "import specifier", + ImportDefaultSpecifier: "import default specifier", + ImportNamespaceSpecifier: "import namespace specifier", + ObjectPattern: "object destructuring pattern", + ParenthesizedExpression: "parenthesized expression", + RestElement: "rest element", + UpdateExpression: { + true: "prefix operation", + false: "postfix operation" + }, + VariableDeclarator: "variable declaration", + YieldExpression: "yield expression" +}; + +const toNodeDescription = ({ + type, + prefix +}) => type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[String(prefix)] : NodeDescriptions[type]; + +var StandardErrors = { + AccessorIsGenerator: ({ + kind + }) => `A ${kind}ter cannot be a generator.`, + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncFunction: "'await' is only allowed within async functions.", + BadGetterArity: "A 'get' accesor must not have any formal parameters.", + BadSetterArity: "A 'set' accesor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accesor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: ({ + kind + }) => `Missing initializer in ${kind} declaration.`, + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: ({ + exportName + }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`, + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: ({ + localName, + exportName + }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`, + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: ({ + type + }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: ({ + type + }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportBindingIsString: ({ + importName + }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, + ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", + ImportCallArity: ({ + maxArgumentCount + }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`, + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", + IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidCoverInitializedName: "Invalid shorthand property initializer.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: ({ + radix + }) => `Expected number in radix ${radix}.`, + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: ({ + reservedWord + }) => `Escape sequence in keyword ${reservedWord}.`, + InvalidIdentifier: ({ + identifierName + }) => `Invalid identifier ${identifierName}.`, + InvalidLhs: ({ + ancestor + }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsBinding: ({ + ancestor + }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: ({ + unexpected + }) => `Unexpected character '${unexpected}'.`, + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: ({ + identifierName + }) => `Private name #${identifierName} is not defined.`, + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: ({ + labelName + }) => `Label '${labelName}' is already declared.`, + LetInLexicalBinding: "'let' is not allowed to be used as a name in 'let' or 'const' declarations.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingPlugin: ({ + missingPlugin + }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingOneOfPlugins: ({ + missingPlugin + }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: ({ + key + }) => `Duplicate key "${key}" is not allowed in module attributes.`, + ModuleExportNameHasLoneSurrogate: ({ + surrogateCharCode + }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`, + ModuleExportUndefined: ({ + localName + }) => `Export '${localName}' is not defined.`, + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PrivateInExpectedIn: ({ + identifierName + }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`, + PrivateNameRedeclaration: ({ + identifierName + }) => `Duplicate private name #${identifierName}.`, + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + StaticPrototype: "Classes may not have static property named prototype.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: ({ + keyword + }) => `Unexpected keyword '${keyword}'.`, + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Unexpected private name.", + UnexpectedReservedWord: ({ + reservedWord + }) => `Unexpected reserved word '${reservedWord}'.`, + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: ({ + expected, + unexpected + }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`, + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: ({ + target, + onlyValidPropertyName + }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`, + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + VarRedeclaration: ({ + identifierName + }) => `Identifier '${identifierName}' has already been declared.`, + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}; + +var StrictModeErrors = { + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: ({ + referenceName + }) => `Assigning to '${referenceName}' in strict mode.`, + StrictEvalArgumentsBinding: ({ + bindingName + }) => `Binding '${bindingName}' in strict mode.`, + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode." +}; + +const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); +var PipelineOperatorErrors = { + PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: ({ + token + }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`, + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: ({ + type + }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ + type + })}; please wrap it in parentheses.`, + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' +}; + +const _excluded$1 = ["toMessage"], + _excluded2$1 = ["message"]; + +function toParseErrorConstructor(_ref) { + let { + toMessage + } = _ref, + properties = _objectWithoutPropertiesLoose(_ref, _excluded$1); + + return function constructor({ + loc, + details + }) { + return instantiate(SyntaxError, Object.assign({}, properties, { + loc + }), { + clone(overrides = {}) { + const loc = overrides.loc || {}; + return constructor({ + loc: new Position("line" in loc ? loc.line : this.loc.line, "column" in loc ? loc.column : this.loc.column, "index" in loc ? loc.index : this.loc.index), + details: Object.assign({}, this.details, overrides.details) + }); + }, + + details: { + value: details, + enumerable: false + }, + message: { + get() { + return `${toMessage(this.details)} (${this.loc.line}:${this.loc.column})`; + }, + + set(value) { + Object.defineProperty(this, "message", { + value + }); + } + + }, + pos: { + reflect: "loc.index", + enumerable: true + }, + missingPlugin: "missingPlugin" in details && { + reflect: "details.missingPlugin", + enumerable: true + } + }); + }; +} + +function ParseErrorEnum(argument, syntaxPlugin) { + if (Array.isArray(argument)) { + return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]); + } + + const ParseErrorConstructors = {}; + + for (const reasonCode of Object.keys(argument)) { + const template = argument[reasonCode]; + + const _ref2 = typeof template === "string" ? { + message: () => template + } : typeof template === "function" ? { + message: template + } : template, + { + message + } = _ref2, + rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1); + + const toMessage = typeof message === "string" ? () => message : message; + ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ + code: ParseErrorCode.SyntaxError, + reasonCode, + toMessage + }, syntaxPlugin ? { + syntaxPlugin + } : {}, rest)); + } + + return ParseErrorConstructors; +} +const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors)); + +const { + defineProperty +} = Object; + +const toUnenumerable = (object, key) => defineProperty(object, key, { + enumerable: false, + value: object[key] +}); + +function toESTreeLocation(node) { + node.loc.start && toUnenumerable(node.loc.start, "index"); + node.loc.end && toUnenumerable(node.loc.end, "index"); + return node; +} + +var estree = (superClass => class ESTreeParserMixin extends superClass { + parse() { + const file = toESTreeLocation(super.parse()); + + if (this.options.tokens) { + file.tokens = file.tokens.map(toESTreeLocation); + } + + return file; + } + + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + + try { + regex = new RegExp(pattern, flags); + } catch (e) {} + + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + + parseBigIntLiteral(value) { + let bigInt; + + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + + directiveToStmt(directive) { + const directiveLiteral = directive.value; + const stmt = this.startNodeAt(directive.start, directive.loc.start); + const expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start); + expression.value = directiveLiteral.extra.expressionValue; + expression.raw = directiveLiteral.extra.raw; + stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.loc.end); + stmt.directive = directiveLiteral.extra.raw.slice(1, -1); + return this.finishNodeAt(stmt, "ExpressionStatement", directive.loc.end); + } + + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + + getObjectOrClassMethodParams(method) { + return method.value.params; + } + + isValidDirective(stmt) { + var _stmt$expression$extr; + + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); + + if (method.typeParameters) { + method.value.typeParameters = method.typeParameters; + delete method.typeParameters; + } + + classBody.body.push(method); + } + + parsePrivateName() { + const node = super.parsePrivateName(); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + } + return this.convertPrivateNameToPrivateIdentifier(node); + } + + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + node = node; + delete node.id; + node.name = name; + node.type = "PrivateIdentifier"; + return node; + } + + isPrivateName(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + } + return node.type === "PrivateIdentifier"; + } + + getPrivateNameSV(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + } + return node.name; + } + + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + funcNode.type = "FunctionExpression"; + delete funcNode.kind; + node.value = funcNode; + + if (type === "ClassPrivateMethod") { + node.computed = false; + } + + return this.finishNode(node, "MethodDefinition"); + } + + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + return propertyNode; + } + + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + propertyNode.type = "PropertyDefinition"; + propertyNode.computed = false; + return propertyNode; + } + + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor); + + if (node) { + node.type = "Property"; + + if (node.kind === "method") { + node.kind = "init"; + } + + node.shorthand = false; + } + + return node; + } + + parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors); + + if (node) { + node.kind = "init"; + node.type = "Property"; + } + + return node; + } + + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return type === "Property" ? "value" : super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + + return super.isAssignable(node, isBinding); + } + + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + const { + key, + value + } = node; + + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + + this.toAssignable(value, isLHS); + } else { + super.toAssignable(node, isLHS); + } + } + + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.kind === "get" || prop.kind === "set") { + this.raise(Errors.PatternHasAccessor, { + at: prop.key + }); + } else if (prop.method) { + this.raise(Errors.PatternHasMethod, { + at: prop.key + }); + } else { + super.toAssignableObjectExpressionProp(prop, isLast, isLHS); + } + } + + finishCallExpression(unfinished, optional) { + const node = super.finishCallExpression(unfinished, optional); + + if (node.callee.type === "Import") { + node.type = "ImportExpression"; + node.source = node.arguments[0]; + + if (this.hasPlugin("importAssertions")) { + var _node$arguments$; + + node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null; + } + + delete node.arguments; + delete node.callee; + } + + return node; + } + + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + + super.toReferencedArguments(node); + } + + parseExport(unfinished) { + const node = super.parseExport(unfinished); + + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + node.type = "ExportAllDeclaration"; + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + + break; + } + + return node; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + const node = super.parseSubscript(base, startPos, startLoc, noCalls, state); + + if (state.optionalChainMember) { + if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") { + node.type = node.type.substring(8); + } + + if (state.stop) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNode(chain, "ChainExpression"); + } + } else if (node.type === "MemberExpression" || node.type === "CallExpression") { + node.optional = false; + } + + return node; + } + + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + + return super.hasPropertyAsPrivateName(node); + } + + isOptionalChain(node) { + return node.type === "ChainExpression"; + } + + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + + isObjectMethod(node) { + return node.method || node.kind === "get" || node.kind === "set"; + } + + finishNodeAt(node, type, endLoc) { + return toESTreeLocation(super.finishNodeAt(node, type, endLoc)); + } + + resetStartLocation(node, start, startLoc) { + super.resetStartLocation(node, start, startLoc); + toESTreeLocation(node); + } + + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + super.resetEndLocation(node, endLoc); + toESTreeLocation(node); + } + +}); + +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } + +} +const types = { + brace: new TokContext("{"), + j_oTag: new TokContext("...", true) +}; +{ + types.template = new TokContext("`", true); +} + +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + { + this.updateContext = null; + } + } + +} +const keywords$1 = new Map(); + +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} + +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} + +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; + +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} + +function createKeywordLike(name, options = {}) { + var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2; + + ++tokenTypeCounter; + keywords$1.set(name, tokenTypeCounter); + tokenLabels.push(name); + tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1); + tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false); + tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false); + tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false); + tokenTypes.push(new ExportedTokenType("name", options)); + return tokenTypeCounter; +} + +const tt = { + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}"), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + templateTail: createToken("...`", { + startsExpr + }), + templateNonTail: createToken("...${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + xorAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + doubleCaret: createToken("^^", { + startsExpr + }), + doubleAt: createToken("@@", { + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + lt: createBinop("/<=/>=", 7), + gt: createBinop("/<=/>=", 7), + relational: createBinop("/<=/>=", 7), + bitShift: createBinop("<>/>>>", 8), + bitShiftL: createBinop("<>/>>>", 8), + bitShiftR: createBinop("<>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + _as: createKeywordLike("as", { + startsExpr + }), + _assert: createKeywordLike("assert", { + startsExpr + }), + _async: createKeywordLike("async", { + startsExpr + }), + _await: createKeywordLike("await", { + startsExpr + }), + _from: createKeywordLike("from", { + startsExpr + }), + _get: createKeywordLike("get", { + startsExpr + }), + _let: createKeywordLike("let", { + startsExpr + }), + _meta: createKeywordLike("meta", { + startsExpr + }), + _of: createKeywordLike("of", { + startsExpr + }), + _sent: createKeywordLike("sent", { + startsExpr + }), + _set: createKeywordLike("set", { + startsExpr + }), + _static: createKeywordLike("static", { + startsExpr + }), + _yield: createKeywordLike("yield", { + startsExpr + }), + _asserts: createKeywordLike("asserts", { + startsExpr + }), + _checks: createKeywordLike("checks", { + startsExpr + }), + _exports: createKeywordLike("exports", { + startsExpr + }), + _global: createKeywordLike("global", { + startsExpr + }), + _implements: createKeywordLike("implements", { + startsExpr + }), + _intrinsic: createKeywordLike("intrinsic", { + startsExpr + }), + _infer: createKeywordLike("infer", { + startsExpr + }), + _is: createKeywordLike("is", { + startsExpr + }), + _mixins: createKeywordLike("mixins", { + startsExpr + }), + _proto: createKeywordLike("proto", { + startsExpr + }), + _require: createKeywordLike("require", { + startsExpr + }), + _keyof: createKeywordLike("keyof", { + startsExpr + }), + _readonly: createKeywordLike("readonly", { + startsExpr + }), + _unique: createKeywordLike("unique", { + startsExpr + }), + _abstract: createKeywordLike("abstract", { + startsExpr + }), + _declare: createKeywordLike("declare", { + startsExpr + }), + _enum: createKeywordLike("enum", { + startsExpr + }), + _module: createKeywordLike("module", { + startsExpr + }), + _namespace: createKeywordLike("namespace", { + startsExpr + }), + _interface: createKeywordLike("interface", { + startsExpr + }), + _type: createKeywordLike("type", { + startsExpr + }), + _opaque: createKeywordLike("opaque", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr: true + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr: true + }), + jsxTagEnd: createToken("jsxTagEnd"), + placeholder: createToken("%%", { + startsExpr: true + }) +}; +function tokenIsIdentifier(token) { + return token >= 93 && token <= 128; +} +function tokenKeywordOrIdentifierIsKeyword(token) { + return token <= 92; +} +function tokenIsKeywordOrIdentifier(token) { + return token >= 58 && token <= 128; +} +function tokenIsLiteralPropertyName(token) { + return token >= 58 && token <= 132; +} +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 29 && token <= 33; +} +function tokenIsFlowInterfaceOrTypeOrOpaque(token) { + return token >= 125 && token <= 127; +} +function tokenIsLoop(token) { + return token >= 90 && token <= 92; +} +function tokenIsKeyword(token) { + return token >= 58 && token <= 92; +} +function tokenIsOperator(token) { + return token >= 39 && token <= 59; +} +function tokenIsPostfix(token) { + return token === 34; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenIsTSTypeOperator(token) { + return token >= 117 && token <= 119; +} +function tokenIsTSDeclarationStart(token) { + return token >= 120 && token <= 126; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 57; +} +function tokenIsTemplate(token) { + return token >= 24 && token <= 25; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +{ + tokenTypes[8].updateContext = context => { + context.pop(); + }; + + tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => { + context.push(types.brace); + }; + + tokenTypes[22].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + }; + + tokenTypes[138].updateContext = context => { + context.push(types.j_expr, types.j_oTag); + }; +} + +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + +function isInAstralSet(code, set) { + let pos = 0x10000; + + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} + +function isIteratorStart(current, next, next2) { + return current === 64 && next === 64 && isIdentifierStart(next2); +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} + +const SCOPE_OTHER = 0b000000000, + SCOPE_PROGRAM = 0b000000001, + SCOPE_FUNCTION = 0b000000010, + SCOPE_ARROW = 0b000000100, + SCOPE_SIMPLE_CATCH = 0b000001000, + SCOPE_SUPER = 0b000010000, + SCOPE_DIRECT_SUPER = 0b000100000, + SCOPE_CLASS = 0b001000000, + SCOPE_STATIC_BLOCK = 0b010000000, + SCOPE_TS_MODULE = 0b100000000, + SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE; +const BIND_KIND_VALUE = 0b000000000001, + BIND_KIND_TYPE = 0b000000000010, + BIND_SCOPE_VAR = 0b000000000100, + BIND_SCOPE_LEXICAL = 0b000000001000, + BIND_SCOPE_FUNCTION = 0b000000010000, + BIND_FLAGS_NONE = 0b000001000000, + BIND_FLAGS_CLASS = 0b000010000000, + BIND_FLAGS_TS_ENUM = 0b000100000000, + BIND_FLAGS_TS_CONST_ENUM = 0b001000000000, + BIND_FLAGS_TS_EXPORT_ONLY = 0b010000000000, + BIND_FLAGS_FLOW_DECLARE_FN = 0b100000000000; +const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS, + BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0, + BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0, + BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0, + BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS, + BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0, + BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM, + BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE, + BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE, + BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM, + BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN; +const CLASS_ELEMENT_FLAG_STATIC = 0b100, + CLASS_ELEMENT_KIND_GETTER = 0b010, + CLASS_ELEMENT_KIND_SETTER = 0b001, + CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER; +const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC, + CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC, + CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER, + CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER, + CLASS_ELEMENT_OTHER = 0; + +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + + hasPlugin(pluginConfig) { + if (typeof pluginConfig === "string") { + return this.plugins.has(pluginConfig); + } else { + const [pluginName, pluginOptions] = pluginConfig; + + if (!this.hasPlugin(pluginName)) { + return false; + } + + const actualOptions = this.plugins.get(pluginName); + + for (const key of Object.keys(pluginOptions)) { + if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) { + return false; + } + } + + return true; + } + } + + getPluginOption(plugin, name) { + var _this$plugins$get; + + return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name]; + } + +} + +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} + +function setLeadingComments(node, comments) { + if (node.leadingComments === undefined) { + node.leadingComments = comments; + } else { + node.leadingComments.unshift(...comments); + } +} + +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else { + node.innerComments.unshift(...comments); + } +} + +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} + +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + this.state.comments.push(comment); + } + + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + + const { + start: nodeStart + } = node; + + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + + break; + } + } + } + + finalizeComment(commentWS) { + const { + comments + } = commentWS; + + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + + if (commentWS.trailingNode !== null) { + setLeadingComments(commentWS.trailingNode, comments); + } + } else { + const { + containingNode: node, + start: commentStart + } = commentWS; + + if (this.input.charCodeAt(commentStart - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + adjustInnerComments(node, node.properties, commentWS); + break; + + case "CallExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + adjustInnerComments(node, node.params, commentWS); + break; + + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + adjustInnerComments(node, node.elements, commentWS); + break; + + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + + default: + { + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + + finalizeRemainingComments() { + const { + commentStack + } = this.state; + + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + + this.state.commentStack = []; + } + + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + + takeSurroundingComments(node, start, end) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + const commentStart = commentWS.start; + + if (commentStart === end) { + commentWS.leadingNode = node; + } else if (commentEnd === start) { + commentWS.trailingNode = node; + } else if (commentEnd < start) { + break; + } + } + } + +} + +const lineBreak = /\r\n?|[\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + + default: + return false; + } +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/y; +const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y"); +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + + default: + return false; + } +} + +class State { + constructor() { + this.strict = void 0; + this.curLine = void 0; + this.lineStart = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.maybeInArrowParameters = false; + this.inType = false; + this.noAnonFunctionType = false; + this.hasFlowComment = false; + this.isAmbientContext = false; + this.inAbstractClass = false; + this.inDisallowConditionalTypesContext = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.labels = []; + this.decoratorStack = [[]]; + this.comments = []; + this.commentStack = []; + this.pos = 0; + this.type = 135; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.context = [types.brace]; + this.canStartJSXElement = true; + this.containsEsc = false; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + + init({ + strictMode, + sourceType, + startLine, + startColumn + }) { + this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.curLine = startLine; + this.lineStart = -startColumn; + this.startLoc = this.endLoc = new Position(startLine, startColumn, 0); + } + + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart, this.pos); + } + + clone(skipArrays) { + const state = new State(); + const keys = Object.keys(this); + + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + let val = this[key]; + + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + + state[key] = val; + } + + return state; + } + +} + +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; + +const forbiddenNumericSeparatorSiblings = { + decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: new Set([46, 88, 95, 120]) +}; +const isAllowedNumericSeparatorSibling = { + bin: ch => ch === 48 || ch === 49, + oct: ch => ch >= 48 && ch <= 55, + dec: ch => ch >= 48 && ch <= 57, + hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 +}; +function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let containsInvalid = false; + let chunkStart = pos; + const { + length + } = input; + + for (;;) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + + const ch = input.charCodeAt(pos); + + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + + if (ch === 92) { + out += input.slice(chunkStart, pos); + let escaped; + ({ + ch: escaped, + pos, + lineStart, + curLine + } = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors)); + + if (escaped === null) { + containsInvalid = true; + } else { + out += escaped; + } + + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + + return { + pos, + str: out, + containsInvalid, + lineStart, + curLine + }; +} + +function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + + return ch === (type === "double" ? 34 : 39); +} + +function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + + const res = ch => ({ + pos, + ch, + lineStart, + curLine + }); + + const ch = input.charCodeAt(pos++); + + switch (ch) { + case 110: + return res("\n"); + + case 114: + return res("\r"); + + case 120: + { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + + case 117: + { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + + case 116: + return res("\t"); + + case 98: + return res("\b"); + + case 118: + return res("\u000b"); + + case 102: + return res("\f"); + + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + + case 10: + lineStart = pos; + ++curLine; + + case 8232: + case 8233: + return res(""); + + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = input.slice(startPos, pos + 2).match(/^[0-7]+/); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + + return res(String.fromCharCode(octal)); + } + + return res(String.fromCharCode(ch)); + } +} + +function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors)); + + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + + return { + code: n, + pos + }; +} + +function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + + if (!allowNumSeparator) { + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + + ++pos; + continue; + } + + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + + if (val >= radix) { + if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + + ++pos; + total = total * radix + val; + } + + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + + return { + n: total, + pos + }; +} +function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + + return { + code, + pos + }; +} + +const _excluded = ["at"], + _excluded2 = ["at"]; + +function buildPosition(pos, lineStart, curLine) { + return new Position(curLine, pos - lineStart, pos); +} + +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); +class Token { + constructor(state) { + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } + +} +class Tokenizer extends CommentsParser { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.errorHandlers_readInt = { + invalidDigit: (pos, lineStart, curLine, radix) => { + if (!this.options.errorRecovery) return false; + this.raise(Errors.InvalidDigit, { + at: buildPosition(pos, lineStart, curLine), + radix + }); + return true; + }, + numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence), + unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator) + }; + this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, { + invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence), + invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint) + }); + this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: (pos, lineStart, curLine) => { + this.recordStrictModeErrors(Errors.StrictNumericEscape, { + at: buildPosition(pos, lineStart, curLine) + }); + }, + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedString, { + at: buildPosition(pos - 1, lineStart, curLine) + }); + } + }); + this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape), + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedTemplate, { + at: buildPosition(pos, lineStart, curLine) + }); + } + }); + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.isLookahead = false; + } + + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + + next() { + this.checkKeywordEscapes(); + + if (this.options.tokens) { + this.pushToken(new Token(this.state)); + } + + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + + match(type) { + return this.state.type === type; + } + + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + context: [this.curContext()], + inType: state.inType, + startLoc: state.startLoc, + lastTokEndLoc: state.lastTokEndLoc, + curLine: state.curLine, + lineStart: state.lineStart, + curPosition: state.curPosition + }; + } + + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + + lookaheadCharCode() { + return this.input.charCodeAt(this.nextTokenStart()); + } + + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + + return cp; + } + + setStrict(strict) { + this.state.strict = strict; + + if (strict) { + this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, { + at + })); + this.state.strictErrors.clear(); + } + } + + curContext() { + return this.state.context[this.state.context.length - 1]; + } + + nextToken() { + this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + + if (this.state.pos >= this.length) { + this.finishToken(135); + return; + } + + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + + skipBlockComment() { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf("*/", start + 2); + + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + + this.state.pos = end + 2; + lineBreakG.lastIndex = start + 2; + + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start, + end: end + 2, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start, + end, + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.options.tokens) this.pushToken(comment); + return comment; + } + + skipSpace() { + const spaceStart = this.state.pos; + const comments = []; + + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment(); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + + break; + } + + case 47: + { + const comment = this.skipLineComment(2); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + + break; + } + + default: + break loop; + } + + break; + + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule) { + const pos = this.state.pos; + + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule) { + const pos = this.state.pos; + + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + + if (comment !== undefined) { + this.addComment(comment); + if (this.options.attachComment) comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + + } + } + + if (comments.length > 0) { + const end = this.state.pos; + const commentWhitespace = { + start: spaceStart, + end, + comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(commentWhitespace); + } + } + + finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + + if (!this.isLookahead) { + this.updateContext(prevType); + } + } + + replaceToken(type) { + this.state.type = type; + this.updateContext(); + } + + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + + if (next >= 48 && next <= 57) { + throw this.raise(Errors.UnexpectedDigitAfterHash, { + at: this.state.curPosition() + }); + } + + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "hash") { + throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + + this.state.pos += 2; + + if (next === 123) { + this.finishToken(7); + } else { + this.finishToken(1); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(134, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(134, this.readWord1()); + } else { + this.finishOp(27, 1); + } + } + + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(21); + } else { + ++this.state.pos; + this.finishToken(16); + } + } + + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(31, 2); + } else { + this.finishOp(56, 1); + } + } + + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(28, value); + return true; + } + + readToken_mult_modulo(code) { + let type = code === 42 ? 55 : 54; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 57; + } + + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 33 : 30; + } + + this.finishOp(type, width); + } + + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(code === 124 ? 41 : 42, 2); + } + + return; + } + + if (code === 124) { + if (next === 62) { + this.finishOp(39, 2); + return; + } + + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + + this.state.pos += 2; + this.finishToken(9); + return; + } + + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, { + at: this.state.curPosition() + }); + } + + this.state.pos += 2; + this.finishToken(4); + return; + } + } + + if (next === 61) { + this.finishOp(30, 2); + return; + } + + this.finishOp(code === 124 ? 43 : 45, 1); + } + + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61 && !this.state.inType) { + this.finishOp(32, 2); + } else if (next === 94 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "^^" + }])) { + this.finishOp(37, 2); + const lookaheadCh = this.input.codePointAt(this.state.pos); + + if (lookaheadCh === 94) { + throw this.unexpected(); + } + } else { + this.finishOp(44, 1); + } + } + + readToken_atSign() { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 64 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "@@" + }])) { + this.finishOp(38, 2); + } else { + this.finishOp(26, 1); + } + } + + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + this.finishOp(34, 2); + return; + } + + if (next === 61) { + this.finishOp(30, 2); + } else { + this.finishOp(53, 1); + } + } + + readToken_lt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + + if (next === 60) { + if (this.input.charCodeAt(pos + 2) === 61) { + this.finishOp(30, 3); + return; + } + + this.finishOp(51, 2); + return; + } + + if (next === 61) { + this.finishOp(49, 2); + return; + } + + this.finishOp(47, 1); + } + + readToken_gt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + + if (next === 62) { + const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2; + + if (this.input.charCodeAt(pos + size) === 61) { + this.finishOp(30, size + 1); + return; + } + + this.finishOp(52, size); + return; + } + + if (next === 61) { + this.finishOp(49, 2); + return; + } + + this.finishOp(48, 1); + } + + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(19); + return; + } + + this.finishOp(code === 61 ? 29 : 35, 1); + } + + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + + if (next === 63) { + if (next2 === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(40, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(18); + } else { + ++this.state.pos; + this.finishToken(17); + } + } + + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + + case 40: + ++this.state.pos; + this.finishToken(10); + return; + + case 41: + ++this.state.pos; + this.finishToken(11); + return; + + case 59: + ++this.state.pos; + this.finishToken(13); + return; + + case 44: + ++this.state.pos; + this.finishToken(12); + return; + + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + + this.state.pos += 2; + this.finishToken(2); + } else { + ++this.state.pos; + this.finishToken(0); + } + + return; + + case 93: + ++this.state.pos; + this.finishToken(3); + return; + + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, { + at: this.state.curPosition() + }); + } + + this.state.pos += 2; + this.finishToken(6); + } else { + ++this.state.pos; + this.finishToken(5); + } + + return; + + case 125: + ++this.state.pos; + this.finishToken(8); + return; + + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(15, 2); + } else { + ++this.state.pos; + this.finishToken(14); + } + + return; + + case 63: + this.readToken_question(); + return; + + case 96: + this.readTemplateToken(); + return; + + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + + case 34: + case 39: + this.readString(code); + return; + + case 47: + this.readToken_slash(); + return; + + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + + case 94: + this.readToken_caret(); + return; + + case 43: + case 45: + this.readToken_plus_min(code); + return; + + case 60: + this.readToken_lt(); + return; + + case 62: + this.readToken_gt(); + return; + + case 61: + case 33: + this.readToken_eq_excl(code); + return; + + case 126: + this.finishOp(36, 1); + return; + + case 64: + this.readToken_atSign(); + return; + + case 35: + this.readToken_numberSign(); + return; + + case 92: + this.readWord(); + return; + + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + + } + + throw this.raise(Errors.InvalidOrUnexpectedToken, { + at: this.state.curPosition(), + unexpected: String.fromCodePoint(code) + }); + } + + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + + readRegexp() { + const startLoc = this.state.startLoc; + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + + const ch = this.input.charCodeAt(pos); + + if (isNewLine(ch)) { + throw this.raise(Errors.UnterminatedRegExp, { + at: createPositionWithColumnOffset(startLoc, 1) + }); + } + + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + + escaped = ch === 92; + } + } + + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + + const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start); + + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + + if (VALID_REGEX_FLAGS.has(cp)) { + if (cp === 118) { + this.expectPlugin("regexpUnicodeSets", nextPos()); + + if (mods.includes("u")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } else if (cp === 117) { + if (mods.includes("v")) { + this.raise(Errors.IncompatibleRegExpUVFlags, { + at: nextPos() + }); + } + } + + if (mods.includes(char)) { + this.raise(Errors.DuplicateRegExpFlags, { + at: nextPos() + }); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(Errors.MalformedRegExpFlags, { + at: nextPos() + }); + } else { + break; + } + + ++pos; + mods += char; + } + + this.state.pos = pos; + this.finishToken(133, { + pattern: content, + flags: mods + }); + } + + readInt(radix, len, forceLen = false, allowNumSeparator = true) { + const { + n, + pos + } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt); + this.state.pos = pos; + return n; + } + + readRadixNumber(radix) { + const startLoc = this.state.curPosition(); + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + + if (val == null) { + this.raise(Errors.InvalidDigit, { + at: createPositionWithColumnOffset(startLoc, 2), + radix + }); + } + + const next = this.input.charCodeAt(this.state.pos); + + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + + if (isBigInt) { + const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(131, str); + return; + } + + this.finishToken(130, val); + } + + readNumber(startsWithDot) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isFloat = false; + let isBigInt = false; + let isDecimal = false; + let hasExponent = false; + let isOctal = false; + + if (!startsWithDot && this.readInt(10) === null) { + this.raise(Errors.InvalidNumber, { + at: this.state.curPosition() + }); + } + + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(Errors.StrictOctalLiteral, { + at: startLoc + }); + + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + + if (underscorePos > 0) { + this.raise(Errors.ZeroDigitNumericSeparator, { + at: createPositionWithColumnOffset(startLoc, underscorePos) + }); + } + } + + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + + let next = this.input.charCodeAt(this.state.pos); + + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + + if (next === 43 || next === 45) { + ++this.state.pos; + } + + if (this.readInt(10) === null) { + this.raise(Errors.InvalidOrMissingExponent, { + at: startLoc + }); + } + + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(Errors.InvalidBigIntLiteral, { + at: startLoc + }); + } + + ++this.state.pos; + isBigInt = true; + } + + if (next === 109) { + this.expectPlugin("decimal", this.state.curPosition()); + + if (hasExponent || hasLeadingZero) { + this.raise(Errors.InvalidDecimal, { + at: startLoc + }); + } + + ++this.state.pos; + isDecimal = true; + } + + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, { + at: this.state.curPosition() + }); + } + + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + + if (isBigInt) { + this.finishToken(131, str); + return; + } + + if (isDecimal) { + this.finishToken(132, str); + return; + } + + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(130, val); + } + + readCodePoint(throwOnInvalid) { + const { + code, + pos + } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint); + this.state.pos = pos; + return code; + } + + readString(quote) { + const { + str, + pos, + curLine, + lineStart + } = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + this.finishToken(129, str); + } + + readTemplateContinuation() { + if (!this.match(8)) { + this.unexpected(null, 8); + } + + this.state.pos--; + this.readTemplateToken(); + } + + readTemplateToken() { + const opening = this.input[this.state.pos]; + const { + str, + containsInvalid, + pos, + curLine, + lineStart + } = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + + if (this.input.codePointAt(pos) === 96) { + this.finishToken(24, containsInvalid ? null : opening + str + "`"); + } else { + this.state.pos++; + this.finishToken(25, containsInvalid ? null : opening + str + "${"); + } + } + + recordStrictModeErrors(toParseError, { + at + }) { + const index = at.index; + + if (this.state.strict && !this.state.strictErrors.has(index)) { + this.raise(toParseError, { + at + }); + } else { + this.state.strictErrors.set(index, [toParseError, at]); + } + } + + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.curPosition(); + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(Errors.MissingUnicodeEscape, { + at: this.state.curPosition() + }); + chunkStart = this.state.pos - 1; + continue; + } + + ++this.state.pos; + const esc = this.readCodePoint(true); + + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(Errors.EscapedCharNotAnIdentifier, { + at: escStart + }); + } + + word += String.fromCodePoint(esc); + } + + chunkStart = this.state.pos; + } else { + break; + } + } + + return word + this.input.slice(chunkStart, this.state.pos); + } + + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word); + + if (type !== undefined) { + this.finishToken(type, tokenLabelName(type)); + } else { + this.finishToken(128, word); + } + } + + checkKeywordEscapes() { + const { + type + } = this.state; + + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.startLoc, + reservedWord: tokenLabelName(type) + }); + } + } + + raise(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded); + + const loc = at instanceof Position ? at : at.loc.start; + const error = toParseError({ + loc, + details + }); + if (!this.options.errorRecovery) throw error; + if (!this.isLookahead) this.state.errors.push(error); + return error; + } + + raiseOverwrite(toParseError, raiseProperties) { + const { + at + } = raiseProperties, + details = _objectWithoutPropertiesLoose(raiseProperties, _excluded2); + + const loc = at instanceof Position ? at : at.loc.start; + const pos = loc.index; + const errors = this.state.errors; + + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + + if (error.loc.index === pos) { + return errors[i] = toParseError({ + loc, + details + }); + } + + if (error.loc.index < pos) break; + } + + return this.raise(toParseError, raiseProperties); + } + + updateContext(prevType) {} + + unexpected(loc, type) { + throw this.raise(Errors.UnexpectedToken, { + expected: type ? tokenLabelName(type) : null, + at: loc != null ? loc : this.state.startLoc + }); + } + + expectPlugin(pluginName, loc) { + if (this.hasPlugin(pluginName)) { + return true; + } + + throw this.raise(Errors.MissingPlugin, { + at: loc != null ? loc : this.state.startLoc, + missingPlugin: [pluginName] + }); + } + + expectOnePlugin(pluginNames) { + if (!pluginNames.some(name => this.hasPlugin(name))) { + throw this.raise(Errors.MissingOneOfPlugins, { + at: this.state.startLoc, + missingPlugin: pluginNames + }); + } + } + + errorBuilder(error) { + return (pos, lineStart, curLine) => { + this.raise(error, { + at: buildPosition(pos, lineStart, curLine) + }); + }; + } + +} + +class Scope { + constructor(flags) { + this.var = new Set(); + this.lexical = new Set(); + this.functions = new Set(); + this.flags = flags; + } + +} +class ScopeHandler { + constructor(parser, inModule) { + this.parser = void 0; + this.scopeStack = []; + this.inModule = void 0; + this.undefinedExports = new Map(); + this.parser = parser; + this.inModule = inModule; + } + + get inFunction() { + return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0; + } + + get allowSuper() { + return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0; + } + + get allowDirectSuper() { + return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0; + } + + get inClass() { + return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0; + } + + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0; + } + + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & SCOPE_STATIC_BLOCK) { + return true; + } + + if (flags & (SCOPE_VAR | SCOPE_CLASS)) { + return false; + } + } + } + + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0; + } + + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + + createScope(flags) { + return new Scope(flags); + } + + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + + exit() { + this.scopeStack.pop(); + } + + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & (SCOPE_FUNCTION | SCOPE_STATIC_BLOCK) || !this.parser.inModule && scope.flags & SCOPE_PROGRAM); + } + + declareName(name, bindingType, loc) { + let scope = this.currentScope(); + + if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + + if (bindingType & BIND_SCOPE_FUNCTION) { + scope.functions.add(name); + } else { + scope.lexical.add(name); + } + + if (bindingType & BIND_SCOPE_LEXICAL) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & BIND_SCOPE_VAR) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, loc); + scope.var.add(name); + this.maybeExportDefined(scope, name); + if (scope.flags & SCOPE_VAR) break; + } + } + + if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + + maybeExportDefined(scope, name) { + if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + + checkRedeclarationInScope(scope, name, bindingType, loc) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.parser.raise(Errors.VarRedeclaration, { + at: loc, + identifierName: name + }); + } + } + + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & BIND_KIND_VALUE)) return false; + + if (bindingType & BIND_SCOPE_LEXICAL) { + return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name); + } + + if (bindingType & BIND_SCOPE_FUNCTION) { + return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name); + } + + return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name); + } + + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + + if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) { + this.undefinedExports.set(name, id.loc.start); + } + } + + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & SCOPE_VAR) { + return flags; + } + } + } + + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + + if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) { + return flags; + } + } + } + +} + +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } + +} + +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + + super.declareName(name, bindingType, loc); + } + + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(scope, name, bindingType)) return true; + + if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) { + return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name)); + } + + return false; + } + + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } + +} + +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } + +} +class ClassScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.parser = parser; + } + + current() { + return this.stack[this.stack.length - 1]; + } + + enter() { + this.stack.push(new ClassScope()); + } + + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + + for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, loc); + } + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } + } + + declarePrivateName(name, elementType, loc) { + const { + privateNames, + loneAccessors, + undefinedPrivateNames + } = this.current(); + let redefined = privateNames.has(name); + + if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) { + const accessor = redefined && loneAccessors.get(name); + + if (accessor) { + const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC; + const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC; + const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR; + const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) loneAccessors.delete(name); + } else if (!redefined) { + loneAccessors.set(name, elementType); + } + } + + if (redefined) { + this.parser.raise(Errors.PrivateNameRedeclaration, { + at: loc, + identifierName: name + }); + } + + privateNames.add(name); + undefinedPrivateNames.delete(name); + } + + usePrivateName(name, loc) { + let classScope; + + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + + if (classScope) { + classScope.undefinedPrivateNames.set(name, loc); + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, { + at: loc, + identifierName: name + }); + } + } + +} + +const kExpression = 0, + kMaybeArrowParameterDeclaration = 1, + kMaybeAsyncArrowParameterDeclaration = 2, + kParameterDeclaration = 3; + +class ExpressionScope { + constructor(type = kExpression) { + this.type = void 0; + this.type = type; + } + + canBeArrowParameterDeclaration() { + return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration; + } + + isCertainlyParameterDeclaration() { + return this.type === kParameterDeclaration; + } + +} + +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.declarationErrors = new Map(); + } + + recordDeclarationError(ParsingErrorClass, { + at + }) { + const index = at.index; + this.declarationErrors.set(index, [ParsingErrorClass, at]); + } + + clearDeclarationError(index) { + this.declarationErrors.delete(index); + } + + iterateErrors(iterator) { + this.declarationErrors.forEach(iterator); + } + +} + +class ExpressionScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = [new ExpressionScope()]; + this.parser = parser; + } + + enter(scope) { + this.stack.push(scope); + } + + exit() { + this.stack.pop(); + } + + recordParameterInitializerError(toParseError, { + at: node + }) { + const origin = { + at: node.loc.start + }; + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(toParseError, origin); + } else { + return; + } + + scope = stack[--i]; + } + + this.parser.raise(toParseError, origin); + } + + recordArrowParemeterBindingError(error, { + at: node + }) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + const origin = { + at: node.loc.start + }; + + if (scope.isCertainlyParameterDeclaration()) { + this.parser.raise(error, origin); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(error, origin); + } else { + return; + } + } + + recordAsyncArrowParametersError({ + at + }) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === kMaybeAsyncArrowParameterDeclaration) { + scope.recordDeclarationError(Errors.AwaitBindingIdentifier, { + at + }); + } + + scope = stack[--i]; + } + } + + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors(([toParseError, loc]) => { + this.parser.raise(toParseError, { + at: loc + }); + let i = stack.length - 2; + let scope = stack[i]; + + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(loc.index); + scope = stack[--i]; + } + }); + } + +} +function newParameterDeclarationScope() { + return new ExpressionScope(kParameterDeclaration); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration); +} +function newExpressionScope() { + return new ExpressionScope(); +} + +const PARAM = 0b0000, + PARAM_YIELD = 0b0001, + PARAM_AWAIT = 0b0010, + PARAM_RETURN = 0b0100, + PARAM_IN = 0b1000; +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + + enter(flags) { + this.stacks.push(flags); + } + + exit() { + this.stacks.pop(); + } + + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + + get hasAwait() { + return (this.currentFlags() & PARAM_AWAIT) > 0; + } + + get hasYield() { + return (this.currentFlags() & PARAM_YIELD) > 0; + } + + get hasReturn() { + return (this.currentFlags() & PARAM_RETURN) > 0; + } + + get hasIn() { + return (this.currentFlags() & PARAM_IN) > 0; + } + +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0); +} + +class UtilParser extends Tokenizer { + addExtra(node, key, value, enumerable = true) { + if (!node) return; + const extra = node.extra = node.extra || {}; + + if (enumerable) { + extra[key] = value; + } else { + Object.defineProperty(extra, key, { + enumerable, + value + }); + } + } + + isContextual(token) { + return this.state.type === token && !this.state.containsEsc; + } + + isUnparsedContextual(nameStart, name) { + const nameEnd = nameStart + name.length; + + if (this.input.slice(nameStart, nameEnd) === name) { + const nextCh = this.input.charCodeAt(nameEnd); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + + return false; + } + + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + + eatContextual(token) { + if (this.isContextual(token)) { + this.next(); + return true; + } + + return false; + } + + expectContextual(token, toParseError) { + if (!this.eatContextual(token)) { + if (toParseError != null) { + throw this.raise(toParseError, { + at: this.state.startLoc + }); + } + + throw this.unexpected(null, token); + } + } + + canInsertSemicolon() { + return this.match(135) || this.match(8) || this.hasPrecedingLineBreak(); + } + + hasPrecedingLineBreak() { + return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start)); + } + + hasFollowingLineBreak() { + skipWhiteSpaceToLineBreak.lastIndex = this.state.end; + return skipWhiteSpaceToLineBreak.test(this.input); + } + + isLineTerminator() { + return this.eat(13) || this.canInsertSemicolon(); + } + + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(13)) return; + this.raise(Errors.MissingSemicolon, { + at: this.state.lastTokEndLoc + }); + } + + expect(type, loc) { + this.eat(type) || this.unexpected(loc, type); + } + + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + + return { + node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + + throw error; + } + } + + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssignLoc, + doubleProtoLoc, + privateKeyLoc, + optionalParametersLoc + } = refExpressionErrors; + const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc; + + if (!andThrow) { + return hasErrors; + } + + if (shorthandAssignLoc != null) { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + + if (doubleProtoLoc != null) { + this.raise(Errors.DuplicateProto, { + at: doubleProtoLoc + }); + } + + if (privateKeyLoc != null) { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + + if (optionalParametersLoc != null) { + this.unexpected(optionalParametersLoc); + } + } + + isLiteralPropertyName() { + return tokenIsLiteralPropertyName(this.state.type); + } + + isPrivateName(node) { + return node.type === "PrivateName"; + } + + getPrivateNameSV(node) { + return node.id.name; + } + + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + + isOptionalChain(node) { + return node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression"; + } + + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this, inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + + enterInitialScopes() { + let paramFlags = PARAM; + + if (this.inModule) { + paramFlags |= PARAM_AWAIT; + } + + this.scope.enter(SCOPE_PROGRAM); + this.prodParam.enter(paramFlags); + } + + checkDestructuringPrivate(refExpressionErrors) { + const { + privateKeyLoc + } = refExpressionErrors; + + if (privateKeyLoc !== null) { + this.expectPlugin("destructuringPrivate", privateKeyLoc); + } + } + +} +class ExpressionErrors { + constructor() { + this.shorthandAssignLoc = null; + this.doubleProtoLoc = null; + this.privateKeyLoc = null; + this.optionalParametersLoc = null; + } + +} + +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } + +} + +const NodePrototype = Node.prototype; +{ + NodePrototype.__clone = function () { + const newNode = new Node(); + const keys = Object.keys(this); + + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + + return newNode; + }; +} + +function clonePlaceholder(node) { + return cloneIdentifier(node); +} + +function cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + extra, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.name = name; + + if (type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + + return cloned; +} +function cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + + if (type === "Placeholder") { + return clonePlaceholder(node); + } + + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + + if (node.raw !== undefined) { + cloned.raw = node.raw; + } else { + cloned.extra = extra; + } + + cloned.value = node.value; + return cloned; +} +class NodeUtils extends UtilParser { + startNode() { + return new Node(this, this.state.start, this.state.startLoc); + } + + startNodeAt(pos, loc) { + return new Node(this, pos, loc); + } + + startNodeAtNode(type) { + return this.startNodeAt(type.start, type.loc.start); + } + + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEndLoc); + } + + finishNodeAt(node, type, endLoc) { + + node.type = type; + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + if (this.options.attachComment) this.processComment(node); + return node; + } + + resetStartLocation(node, start, startLoc) { + node.start = start; + node.loc.start = startLoc; + if (this.options.ranges) node.range[0] = start; + } + + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = endLoc.index; + } + + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.start, locationNode.loc.start); + } + +} + +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = ParseErrorEnum`flow`({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: ({ + reservedType + }) => `Cannot overwrite reserved type ${reservedType}.`, + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: ({ + memberName, + enumName + }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`, + EnumDuplicateMemberName: ({ + memberName, + enumName + }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`, + EnumInconsistentMemberValues: ({ + enumName + }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`, + EnumInvalidExplicitType: ({ + invalidEnumType, + enumName + }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidExplicitTypeUnknownSupplied: ({ + enumName + }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerPrimaryType: ({ + enumName, + memberName, + explicitType + }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`, + EnumInvalidMemberInitializerSymbolType: ({ + enumName, + memberName + }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerUnknownType: ({ + enumName, + memberName + }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`, + EnumInvalidMemberName: ({ + enumName, + memberName, + suggestion + }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`, + EnumNumberMemberNotInitialized: ({ + enumName, + memberName + }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`, + EnumStringMemberInconsistentlyInitailized: ({ + enumName + }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`, + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: Object.assign({ + message: "A binding pattern parameter cannot be optional in an implementation signature." + }, { + reasonCode: "OptionalBindingPattern" + }), + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: ({ + reservedType + }) => `Unexpected reserved type ${reservedType}.`, + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: ({ + unsupportedExportKind, + suggestion + }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`, + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}); + +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} + +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} + +function isMaybeDefaultImport(type) { + return tokenIsKeywordOrIdentifier(type) && type !== 97; +} + +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; + +function partition(list, test) { + const list1 = []; + const list2 = []; + + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + + return [list1, list2]; +} + +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = (superClass => class FlowParserMixin extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + + getScopeHandler() { + return FlowScopeHandler; + } + + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + + shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + + finishToken(type, val) { + if (type !== 129 && type !== 13 && type !== 28) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + + return super.finishToken(type, val); + } + + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + + if (!matches) ; else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + + return super.addComment(comment); + } + + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 14); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + + flowParsePredicate() { + const node = this.startNode(); + const moduloLoc = this.state.startLoc; + this.next(); + this.expectContextual(107); + + if (this.state.lastTokStart > moduloLoc.index + 1) { + this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, { + at: moduloLoc + }); + } + + if (this.eat(10)) { + node.value = super.parseExpression(); + this.expect(11); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(14); + let type = null; + let predicate = null; + + if (this.match(54)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + + if (this.match(54)) { + predicate = this.flowParsePredicate(); + } + } + + return [type, predicate]; + } + + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + + if (this.match(47)) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + + this.expect(10); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(11); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.loc.start); + return this.finishNode(node, "DeclareFunction"); + } + + flowParseDeclare(node, insideModule) { + if (this.match(80)) { + return this.flowParseDeclareClass(node); + } else if (this.match(68)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(74)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual(123)) { + if (this.match(16)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(FlowErrors.NestedDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual(126)) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual(127)) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual(125)) { + return this.flowParseDeclareInterface(node); + } else if (this.match(82)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + throw this.unexpected(); + } + } + + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, BIND_VAR, node.id.loc.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + + flowParseDeclareModule(node) { + this.scope.enter(SCOPE_OTHER); + + if (this.match(129)) { + node.id = super.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(5); + + while (!this.match(8)) { + let bodyNode = this.startNode(); + + if (this.match(83)) { + this.next(); + + if (!this.isContextual(126) && !this.match(87)) { + this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, { + at: this.state.lastTokStartLoc + }); + } + + super.parseImport(bodyNode); + } else { + this.expectContextual(121, FlowErrors.UnsupportedStatementInDeclareModule); + bodyNode = this.flowParseDeclare(bodyNode, true); + } + + body.push(bodyNode); + } + + this.scope.exit(); + this.expect(8); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(FlowErrors.DuplicateDeclareModuleExports, { + at: bodyElement + }); + } + + if (kind === "ES") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, { + at: bodyElement + }); + } + + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(82); + + if (this.eat(65)) { + if (this.match(68) || this.match(80)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(75) || this.isLet() || (this.isContextual(126) || this.isContextual(125)) && !insideModule) { + const label = this.state.value; + throw this.raise(FlowErrors.UnsupportedDeclareExportKind, { + at: this.state.startLoc, + unsupportedExportKind: label, + suggestion: exportSuggestions[label] + }); + } + + if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(127)) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(55) || this.match(5) || this.isContextual(125) || this.isContextual(126) || this.isContextual(127)) { + node = this.parseExport(node); + + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + + node.type = "Declare" + node.type; + return node; + } + } + + throw this.unexpected(); + } + + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual(108); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + + flowParseDeclareTypeAlias(node) { + this.next(); + const finished = this.flowParseTypeAlias(node); + finished.type = "DeclareTypeAlias"; + return finished; + } + + flowParseDeclareOpaqueType(node) { + this.next(); + const finished = this.flowParseOpaqueType(node, true); + finished.type = "DeclareOpaqueType"; + return finished; + } + + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node); + return this.finishNode(node, "DeclareInterface"); + } + + flowParseInterfaceish(node, isClass = false) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.loc.start); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.extends = []; + node.implements = []; + node.mixins = []; + + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(12)); + } + + if (this.isContextual(114)) { + this.next(); + + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + + if (this.isContextual(110)) { + this.next(); + + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + return this.finishNode(node, "InterfaceExtends"); + } + + flowParseInterface(node) { + this.flowParseInterfaceish(node); + return this.finishNode(node, "InterfaceDeclaration"); + } + + checkNotUnderscore(word) { + if (word === "_") { + this.raise(FlowErrors.UnexpectedReservedUnderscore, { + at: this.state.startLoc + }); + } + } + + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, { + at: startLoc, + reservedType: word + }); + } + + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.startLoc, declaration); + return this.parseIdentifier(liberal); + } + + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.right = this.flowParseTypeInitialiser(29); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + + flowParseOpaqueType(node, declare) { + this.expectContextual(126); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.supertype = null; + + if (this.match(14)) { + node.supertype = this.flowParseTypeInitialiser(14); + } + + node.impltype = null; + + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(29); + } + + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + + flowParseTypeParameter(requireDefault = false) { + const nodeStartLoc = this.state.startLoc; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + + if (this.match(29)) { + this.eat(29); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(FlowErrors.MissingTypeParamDefault, { + at: nodeStartLoc + }); + } + } + + return this.finishNode(node, "TypeParameter"); + } + + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + + if (this.match(47) || this.match(138)) { + this.next(); + } else { + this.unexpected(); + } + + let defaultRequired = false; + + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + + if (typeParameter.default) { + defaultRequired = true; + } + + if (!this.match(48)) { + this.expect(12); + } + } while (!this.match(48)); + + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + + while (!this.match(48)) { + node.params.push(this.flowParseType()); + + if (!this.match(48)) { + this.expect(12); + } + } + + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + + flowParseTypeParameterInstantiationCallOrNew() { + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + + while (!this.match(48)) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + + if (!this.match(48)) { + this.expect(12); + } + } + + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual(125); + node.extends = []; + + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + + flowParseObjectPropertyKey() { + return this.match(130) || this.match(129) ? super.parseExprAtom() : this.parseIdentifier(true); + } + + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + + if (this.lookahead().type === 14) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + + this.expect(3); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(3); + this.expect(3); + + if (this.match(47) || this.match(10)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + } else { + node.method = false; + + if (this.eat(17)) { + node.optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + } + + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + this.expect(10); + + if (this.match(78)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + + if (!this.match(11)) { + this.expect(12); + } + } + + while (!this.match(11) && !this.match(21)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + + if (!this.match(11)) { + this.expect(12); + } + } + + if (this.eat(21)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + + this.expect(11); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + + if (allowExact && this.match(6)) { + this.expect(6); + endDelim = 9; + exact = true; + } else { + this.expect(5); + endDelim = 8; + exact = false; + } + + nodeStart.exact = exact; + + while (!this.match(endDelim)) { + let isStatic = false; + let protoStartLoc = null; + let inexactStartLoc = null; + const node = this.startNode(); + + if (allowProto && this.isContextual(115)) { + const lookahead = this.lookahead(); + + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + protoStartLoc = this.state.startLoc; + allowStatic = false; + } + } + + if (allowStatic && this.isContextual(104)) { + const lookahead = this.lookahead(); + + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + isStatic = true; + } + } + + const variance = this.flowParseVariance(); + + if (this.eat(0)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + + if (this.eat(0)) { + if (variance) { + this.unexpected(variance.loc.start); + } + + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(10) || this.match(47)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + + if (variance) { + this.unexpected(variance.loc.start); + } + + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + + if (this.isContextual(98) || this.isContextual(103)) { + const lookahead = this.lookahead(); + + if (tokenIsLiteralPropertyName(lookahead.type)) { + kind = this.state.value; + this.next(); + } + } + + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + + if (propOrInexact === null) { + inexact = true; + inexactStartLoc = this.state.lastTokStartLoc; + } else { + nodeStart.properties.push(propOrInexact); + } + } + + this.flowObjectTypeSemicolon(); + + if (inexactStartLoc && !this.match(8) && !this.match(9)) { + this.raise(FlowErrors.UnexpectedExplicitInexactInObject, { + at: inexactStartLoc + }); + } + } + + this.expect(endDelim); + + if (allowSpread) { + nodeStart.inexact = inexact; + } + + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + + flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) { + if (this.eat(21)) { + const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9); + + if (isInexactToken) { + if (!allowSpread) { + this.raise(FlowErrors.InexactInsideNonObject, { + at: this.state.lastTokStartLoc + }); + } else if (!allowInexact) { + this.raise(FlowErrors.InexactInsideExact, { + at: this.state.lastTokStartLoc + }); + } + + if (variance) { + this.raise(FlowErrors.InexactVariance, { + at: variance + }); + } + + return null; + } + + if (!allowSpread) { + this.raise(FlowErrors.UnexpectedSpreadType, { + at: this.state.lastTokStartLoc + }); + } + + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + + if (variance) { + this.raise(FlowErrors.SpreadVariance, { + at: variance + }); + } + + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStartLoc != null; + node.kind = kind; + let optional = false; + + if (this.match(47) || this.match(10)) { + node.method = true; + + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + + if (variance) { + this.unexpected(variance.loc.start); + } + + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: node.value.this + }); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + + if (this.eat(17)) { + optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + + if (property.value.this) { + this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, { + at: property.value.this + }); + } + + if (length !== paramCount) { + this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: property + }); + } + + if (property.kind === "set" && property.value.rest) { + this.raise(Errors.BadSetterRestParameter, { + at: property + }); + } + } + + flowObjectTypeSemicolon() { + if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) { + this.unexpected(); + } + } + + flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { + startPos = startPos || this.state.start; + startLoc = startLoc || this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + + while (this.eat(16)) { + const node2 = this.startNodeAt(startPos, startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + + return node; + } + + flowParseGenericType(startPos, startLoc, id) { + const node = this.startNodeAt(startPos, startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + + return this.finishNode(node, "GenericTypeAnnotation"); + } + + flowParseTypeofType() { + const node = this.startNode(); + this.expect(87); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(0); + + while (this.state.pos < this.length && !this.match(3)) { + node.types.push(this.flowParseType()); + if (this.match(3)) break; + this.expect(12); + } + + this.expect(3); + return this.finishNode(node, "TupleTypeAnnotation"); + } + + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 78; + + if (lh.type === 14 || lh.type === 17) { + if (isThis && !first) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node + }); + } + + name = this.parseIdentifier(isThis); + + if (this.eat(17)) { + optional = true; + + if (isThis) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: node + }); + } + } + + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.start, type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + + if (this.match(78)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + + if (!this.match(11)) { + this.expect(12); + } + } + + while (!this.match(11) && !this.match(21)) { + params.push(this.flowParseFunctionTypeParam(false)); + + if (!this.match(11)) { + this.expect(12); + } + } + + if (this.eat(21)) { + rest = this.flowParseFunctionTypeParam(false); + } + + return { + params, + rest, + _this + }; + } + + flowIdentToTypeAnnotation(startPos, startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startPos, startLoc, id); + } + } + + flowParsePrimaryType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + + switch (this.state.type) { + case 5: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + + case 6: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + + case 0: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + + case 47: + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(10); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + + case 10: + this.next(); + + if (!this.match(11) && !this.match(21)) { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + const token = this.lookahead().type; + isGroupedType = token !== 17 && token !== 14; + } else { + isGroupedType = true; + } + } + + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + + if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) { + this.expect(11); + return type; + } else { + this.eat(12); + } + } + + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + + case 129: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + + case 85: + case 86: + node.value = this.match(85); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + + case 53: + if (this.state.value === "-") { + this.next(); + + if (this.match(130)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + + if (this.match(131)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + + throw this.raise(FlowErrors.UnexpectedSubtractionOperand, { + at: this.state.startLoc + }); + } + + throw this.unexpected(); + + case 130: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + + case 131: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + + case 88: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + + case 84: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + + case 78: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + + case 55: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + + case 87: + return this.flowParseTypeofType(); + + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } else if (tokenIsIdentifier(this.state.type)) { + if (this.isContextual(125)) { + return this.flowParseInterfaceType(); + } + + return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); + } + + } + + throw this.unexpected(); + } + + flowParsePostfixType() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + + while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startPos, startLoc); + const optional = this.eat(18); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(0); + + if (!optional && this.match(3)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(3); + + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + + return type; + } + + flowParsePrefixType() { + const node = this.startNode(); + + if (this.eat(17)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + + if (!this.state.noAnonFunctionType && this.eat(19)) { + const node = this.startNodeAt(param.start, param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + return param; + } + + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(45); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + + while (this.eat(45)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + + flowParseUnionType() { + const node = this.startNode(); + this.eat(43); + const type = this.flowParseIntersectionType(); + node.types = [type]; + + while (this.eat(43)) { + node.types.push(this.flowParseIntersectionType()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 128 && this.state.value === "_") { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startPos, startLoc, node); + } else { + return this.flowParseType(); + } + } + + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + + if (this.match(14)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + + return ident; + } + + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + + flowParseVariance() { + let variance = null; + + if (this.match(53)) { + variance = this.startNode(); + + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + + this.next(); + return this.finishNode(variance, "Variance"); + } + + return variance; + } + + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + } + + return super.parseFunctionBody(node, false, isMethod); + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + + parseStatement(context, topLevel) { + if (this.state.strict && this.isContextual(125)) { + const lookahead = this.lookahead(); + + if (tokenIsKeywordOrIdentifier(lookahead.type)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.shouldParseEnums() && this.isContextual(122)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + + const stmt = super.parseStatement(context, topLevel); + + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + + return stmt; + } + + parseExpressionStatement(node, expr) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) { + return this.flowParseDeclare(node); + } + } else if (tokenIsIdentifier(this.state.type)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + + return super.parseExpressionStatement(node, expr); + } + + shouldParseExportDeclaration() { + const { + type + } = this.state; + + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) { + return !this.state.containsEsc; + } + + return super.shouldParseExportDeclaration(); + } + + isExportDefaultSpecifier() { + const { + type + } = this.state; + + if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) { + return this.state.containsEsc; + } + + return super.isExportDefaultSpecifier(); + } + + parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual(122)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + + return super.parseExportDefaultExpression(); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + + this.expect(17); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startPos, startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + + if (failed && valid.length > 1) { + this.raise(FlowErrors.AmbiguousConditionalArrow, { + at: state.startLoc + }); + } + + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(14); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(14); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + + while (stack.length !== 0) { + const node = stack.pop(); + + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + + finishArrowValidation(node) { + var _node$extra; + + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false); + this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); + super.checkParams(node, false, true); + this.scope.exit(); + } + + forwardNoArrowParamsConversionAt(node, parse) { + let result; + + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + + return result; + } + + parseParenItem(node, startPos, startLoc) { + node = super.parseParenItem(node, startPos, startLoc); + + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + + return node; + } + + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + + super.assertModuleNodeAllowed(node); + } + + parseExport(node) { + const decl = super.parseExport(node); + + if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { + decl.exportKind = decl.exportKind || "value"; + } + + return decl; + } + + parseExportDeclaration(node) { + if (this.isContextual(126)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + + if (this.match(5)) { + node.specifiers = this.parseExportSpecifiers(true); + super.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual(127)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual(125)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.shouldParseEnums() && this.isContextual(122)) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + + eatExportStar(node) { + if (super.eatExportStar(node)) return true; + + if (this.isContextual(126) && this.lookahead().type === 55) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + + return false; + } + + maybeParseExportNamespaceSpecifier(node) { + const { + startLoc + } = this.state; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + + if (hasNamespace && node.exportKind === "type") { + this.unexpected(startLoc); + } + + return hasNamespace; + } + + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + + parseClassMember(classBody, member, state) { + const { + startLoc + } = this.state; + + if (this.isContextual(121)) { + if (super.parseClassMemberFromModifier(classBody, member)) { + return; + } + + member.declare = true; + } + + super.parseClassMember(classBody, member, state); + + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(FlowErrors.DeclareClassElement, { + at: startLoc + }); + } else if (member.value) { + this.raise(FlowErrors.DeclareClassFieldInitializer, { + at: member.value + }); + } + } + } + + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + + if (!this.isIterator(word) || !this.state.inType) { + this.raise(Errors.InvalidIdentifier, { + at: this.state.curPosition(), + identifierName: fullWord + }); + } + + this.finishToken(128, fullWord); + } + + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 123 && next === 124) { + return this.finishOp(6, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(code === 62 ? 48 : 47, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + return this.finishOp(18, 2); + } + + return this.finishOp(17, 1); + } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) { + this.state.pos += 2; + return this.readIterator(); + } else { + return super.getTokenFromCode(code); + } + } + + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + + toAssignable(node, isLHS = false) { + if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + + super.toAssignable(node, isLHS); + } + + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + + const expr = exprList[i]; + + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(FlowErrors.TypeCastInPattern, { + at: expr.typeAnnotation + }); + } + } + + return exprList; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + + if (canBePattern && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + + return node; + } + + isValidLVal(type, isParenthesized, binding) { + return type === "TypeCastExpression" || super.isValidLVal(type, isParenthesized, binding); + } + + parseClassProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return super.parseClassProperty(node); + } + + parseClassPrivateProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return super.parseClassPrivateProperty(node); + } + + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + + isClassProperty() { + return this.match(14) || super.isClassProperty(); + } + + isNonstaticConstructor(method) { + return !this.match(14) && super.isNonstaticConstructor(method); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + + delete method.variance; + + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + + if (method.params && isConstructor) { + const params = method.params; + + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, { + at: method + }); + } + } + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + + delete method.variance; + + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + + parseClassSuper(node) { + super.parseClassSuper(node); + + if (node.superClass && this.match(47)) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + + if (this.isContextual(110)) { + this.next(); + const implemented = node.implements = []; + + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(12)); + } + } + + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + + if (params.length > 0) { + const param = params[0]; + + if (this.isThisParam(param) && method.kind === "get") { + this.raise(FlowErrors.GetterMayNotHaveThisParam, { + at: param + }); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.SetterMayNotHaveThisParam, { + at: param + }); + } + } + } + + parsePropertyNamePrefixOperator(node) { + node.variance = this.flowParseVariance(); + } + + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.loc.start); + } + + delete prop.variance; + let typeParameters; + + if (this.match(47) && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(10)) this.unexpected(); + } + + const result = super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + + if (typeParameters) { + (result.value || result).typeParameters = typeParameters; + } + + return result; + } + + parseAssignableListItemTypes(param) { + if (this.eat(17)) { + if (param.type !== "Identifier") { + this.raise(FlowErrors.PatternIsOptional, { + at: param + }); + } + + if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, { + at: param + }); + } + + param.optional = true; + } + + if (this.match(14)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamAnnotationRequired, { + at: param + }); + } + + if (this.match(29) && this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamNoDefault, { + at: param + }); + } + + this.resetEndLocation(param); + return param; + } + + parseMaybeDefault(startPos, startLoc, left) { + const node = super.parseMaybeDefault(startPos, startLoc, left); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(FlowErrors.TypeBeforeInitializer, { + at: node.typeAnnotation + }); + } + + return node; + } + + shouldParseDefaultImport(node) { + if (!hasTypeImportKind(node)) { + return super.shouldParseDefaultImport(node); + } + + return isMaybeDefaultImport(this.state.type); + } + + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + + maybeParseDefaultImportSpecifier(node) { + node.importKind = "value"; + let kind = null; + + if (this.match(87)) { + kind = "typeof"; + } else if (this.isContextual(126)) { + kind = "type"; + } + + if (kind) { + const lh = this.lookahead(); + const { + type + } = lh; + + if (kind === "type" && type === 55) { + this.unexpected(null, lh.type); + } + + if (isMaybeDefaultImport(type) || type === 5 || type === 55) { + this.next(); + node.importKind = kind; + } + } + + return super.maybeParseDefaultImportSpecifier(node); + } + + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) { + const firstIdent = specifier.imported; + let specifierTypeKind = null; + + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + + let isBinding = false; + + if (this.isContextual(93) && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + + if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: firstIdent.value + }); + } + + specifier.imported = firstIdent; + specifier.importKind = null; + } + + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = cloneIdentifier(specifier.imported); + } + } + + const specifierIsTypeImport = hasTypeImportKind(specifier); + + if (isInTypeOnlyImport && specifierIsTypeImport) { + this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, { + at: specifier + }); + } + + if (isInTypeOnlyImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.loc.start, true); + } + + if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true); + } + + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + + default: + return super.parseBindingAtom(); + } + } + + parseFunctionParams(node, allowModifiers) { + const kind = node.kind; + + if (kind !== "get" && kind !== "set" && this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + super.parseFunctionParams(node, allowModifiers); + } + + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + + if (this.match(14)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + + return super.parseAsyncArrowFromCallExpression(node, call); + } + + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + + let state = null; + let jsx; + + if (this.hasPlugin("jsx") && (this.match(138) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + + if ((_jsx = jsx) != null && _jsx.error || this.match(47)) { + var _jsx2, _jsx3; + + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, { + at: typeParameters + }); + } + + return arrow.node; + } + + arrowExpression = arrow.node; + } + + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, { + at: typeParameters + }); + } + + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(19)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + + return super.parseArrow(node); + } + + shouldParseArrow(params) { + return this.match(14) || super.shouldParseArrow(params); + } + + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } + + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(FlowErrors.ThisParamMustBeFirst, { + at: node.params[i] + }); + } + } + + return super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); + } + + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } + + parseSubscripts(base, startPos, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = super.parseCallExpressionArguments(11, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if (result.node) { + this.state = result.failState; + return result.node; + } + + throw arrow.error || result.error; + } + + return super.parseSubscripts(base, startPos, startLoc, noCalls); + } + + parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { + if (this.match(18) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + + if (noCalls) { + subscriptState.stop = true; + return base; + } + + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(10); + node.arguments = this.parseCallExpressionArguments(11, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.match(47)) { + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(10); + node.arguments = super.parseCallExpressionArguments(11, false); + + if (subscriptState.optionalChainMember) { + node.optional = false; + } + + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + + return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState); + } + + parseNewCallee(node) { + super.parseNewCallee(node); + let targs = null; + + if (this.shouldParseTypes() && this.match(47)) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + + node.typeArguments = targs; + } + + parseAsyncArrowWithTypeParameters(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + this.parseFunctionParams(node); + if (!this.parseArrow(node)) return; + return super.parseArrowExpression(node, undefined, true); + } + + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + + super.readToken_mult_modulo(code); + } + + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 124 && next === 125) { + this.finishOp(9, 2); + return; + } + + super.readToken_pipe_amp(code); + } + + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + + if (this.state.hasFlowComment) { + this.raise(FlowErrors.UnterminatedFlowComment, { + at: this.state.curPosition() + }); + } + + return fileNode; + } + + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + throw this.raise(FlowErrors.NestedFlowComment, { + at: this.state.startLoc + }); + } + + this.hasFlowCommentCompletion(); + const commentSkip = this.skipFlowComment(); + + if (commentSkip) { + this.state.pos += commentSkip; + this.state.hasFlowComment = true; + } + + return; + } + + if (this.state.hasFlowComment) { + const end = this.input.indexOf("*-/", this.state.pos + 2); + + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + + this.state.pos = end + 2 + 3; + return; + } + + return super.skipBlockComment(); + } + + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + + return false; + } + + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, { + at: this.state.curPosition() + }); + } + } + + flowEnumErrorBooleanMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumBooleanMemberNotInitialized, { + at: loc, + memberName, + enumName + }); + } + + flowEnumErrorInvalidMemberInitializer(loc, enumContext) { + return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, Object.assign({ + at: loc + }, enumContext)); + } + + flowEnumErrorNumberMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumNumberMemberNotInitialized, { + at: loc, + enumName, + memberName + }); + } + + flowEnumErrorStringMemberInconsistentlyInitailized(node, { + enumName + }) { + this.raise(FlowErrors.EnumStringMemberInconsistentlyInitailized, { + at: node, + enumName + }); + } + + flowEnumMemberInit() { + const startLoc = this.state.startLoc; + + const endOfInit = () => this.match(12) || this.match(8); + + switch (this.state.type) { + case 130: + { + const literal = this.parseNumericLiteral(this.state.value); + + if (endOfInit()) { + return { + type: "number", + loc: literal.loc.start, + value: literal + }; + } + + return { + type: "invalid", + loc: startLoc + }; + } + + case 129: + { + const literal = this.parseStringLiteral(this.state.value); + + if (endOfInit()) { + return { + type: "string", + loc: literal.loc.start, + value: literal + }; + } + + return { + type: "invalid", + loc: startLoc + }; + } + + case 85: + case 86: + { + const literal = this.parseBooleanLiteral(this.match(85)); + + if (endOfInit()) { + return { + type: "boolean", + loc: literal.loc.start, + value: literal + }; + } + + return { + type: "invalid", + loc: startLoc + }; + } + + default: + return { + type: "invalid", + loc: startLoc + }; + } + } + + flowEnumMemberRaw() { + const loc = this.state.startLoc; + const id = this.parseIdentifier(true); + const init = this.eat(29) ? this.flowEnumMemberInit() : { + type: "none", + loc + }; + return { + id, + init + }; + } + + flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) { + const { + explicitType + } = context; + + if (explicitType === null) { + return; + } + + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(loc, context); + } + } + + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + + while (!this.match(8)) { + if (this.eat(21)) { + hasUnknownMembers = true; + break; + } + + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + + if (memberName === "") { + continue; + } + + if (/^[a-z]/.test(memberName)) { + this.raise(FlowErrors.EnumInvalidMemberName, { + at: id, + memberName, + suggestion: memberName[0].toUpperCase() + memberName.slice(1), + enumName + }); + } + + if (seenNames.has(memberName)) { + this.raise(FlowErrors.EnumDuplicateMemberName, { + at: id, + memberName, + enumName + }); + } + + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context); + } + + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context); + break; + + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.loc, context); + break; + + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + + if (!this.match(8)) { + this.expect(12); + } + } + + return { + members, + hasUnknownMembers + }; + } + + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member, { + enumName + }); + } + + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitailized(member, { + enumName + }); + } + + return initializedMembers; + } + } + + flowEnumParseExplicitType({ + enumName + }) { + if (!this.eatContextual(101)) return null; + + if (!tokenIsIdentifier(this.state.type)) { + throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, { + at: this.state.startLoc, + enumName + }); + } + + const { + value + } = this.state; + this.next(); + + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.raise(FlowErrors.EnumInvalidExplicitType, { + at: this.state.startLoc, + enumName, + invalidEnumType: value + }); + } + + return value; + } + + flowEnumBody(node, id) { + const enumName = id.name; + const nameLoc = id.loc.start; + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(5); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + + case "symbol": + node.members = members.defaultedMembers; + this.expect(8); + return this.finishNode(node, "EnumSymbolBody"); + + default: + { + const empty = () => { + node.members = []; + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + }; + + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.raise(FlowErrors.EnumInconsistentMemberValues, { + at: nameLoc, + enumName + }); + return empty(); + } + } + } + } + + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), id); + return this.finishNode(node, "EnumDeclaration"); + } + + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + + return false; + } + + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } + +}); + +const entities = { + __proto__: null, + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; + +const JsxErrors = ParseErrorEnum`jsx`({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: ({ + openingTagName + }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`, + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnexpectedToken: ({ + unexpected, + HTMLEntity + }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`, + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" +}); + +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} + +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + + throw new Error("Node had unexpected type: " + object.type); +} + +var jsx = (superClass => class JSXParserMixin extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(JsxErrors.UnterminatedJsxContent, { + at: this.state.startLoc + }); + } + + const ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.canStartJSXElement) { + ++this.state.pos; + return this.finishToken(138); + } + + return super.getTokenFromCode(ch); + } + + out += this.input.slice(chunkStart, this.state.pos); + return this.finishToken(137, out); + + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + + case 62: + case 125: + + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + + } + } + } + + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(Errors.UnterminatedString, { + at: this.state.startLoc + }); + } + + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + + out += this.input.slice(chunkStart, this.state.pos++); + return this.finishToken(129, out); + } + + jsxReadEntity() { + const startPos = ++this.state.pos; + + if (this.codePointAtPos(this.state.pos) === 35) { + ++this.state.pos; + let radix = 10; + + if (this.codePointAtPos(this.state.pos) === 120) { + radix = 16; + ++this.state.pos; + } + + const codePoint = this.readInt(radix, undefined, false, "bail"); + + if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) { + ++this.state.pos; + return String.fromCodePoint(codePoint); + } + } else { + let count = 0; + let semi = false; + + while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) { + ++this.state.pos; + } + + if (semi) { + const desc = this.input.slice(startPos, this.state.pos); + const entity = entities[desc]; + ++this.state.pos; + + if (entity) { + return entity; + } + } + } + + this.state.pos = startPos; + return "&"; + } + + jsxReadWord() { + let ch; + const start = this.state.pos; + + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + + return this.finishToken(136, this.input.slice(start, this.state.pos)); + } + + jsxParseIdentifier() { + const node = this.startNode(); + + if (this.match(136)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + + jsxParseNamespacedName() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(14)) return name; + const node = this.startNodeAt(startPos, startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + + jsxParseElementName() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + + if (node.type === "JSXNamespacedName") { + return node; + } + + while (this.eat(16)) { + const newNode = this.startNodeAt(startPos, startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + + return node; + } + + jsxParseAttributeValue() { + let node; + + switch (this.state.type) { + case 5: + node = this.startNode(); + this.setContext(types.brace); + this.next(); + node = this.jsxParseExpressionContainer(node, types.j_oTag); + + if (node.expression.type === "JSXEmptyExpression") { + this.raise(JsxErrors.AttributeIsEmpty, { + at: node + }); + } + + return node; + + case 138: + case 129: + return this.parseExprAtom(); + + default: + throw this.raise(JsxErrors.UnsupportedJsxValue, { + at: this.state.startLoc + }); + } + } + + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEndLoc.index, this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc); + } + + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadChild"); + } + + jsxParseExpressionContainer(node, previousContext) { + if (this.match(8)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + + this.setContext(previousContext); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXExpressionContainer"); + } + + jsxParseAttribute() { + const node = this.startNode(); + + if (this.match(5)) { + this.setContext(types.brace); + this.next(); + this.expect(21); + node.argument = this.parseMaybeAssignAllowIn(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadAttribute"); + } + + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(29) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + + jsxParseOpeningElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + + if (this.eat(139)) { + return this.finishNode(node, "JSXOpeningFragment"); + } + + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + + jsxParseOpeningElementAfterName(node) { + const attributes = []; + + while (!this.match(56) && !this.match(139)) { + attributes.push(this.jsxParseAttribute()); + } + + node.attributes = attributes; + node.selfClosing = this.eat(56); + this.expect(139); + return this.finishNode(node, "JSXOpeningElement"); + } + + jsxParseClosingElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + + if (this.eat(139)) { + return this.finishNode(node, "JSXClosingFragment"); + } + + node.name = this.jsxParseElementName(); + this.expect(139); + return this.finishNode(node, "JSXClosingElement"); + } + + jsxParseElementAt(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startPos, startLoc); + let closingElement = null; + + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 138: + startPos = this.state.start; + startLoc = this.state.startLoc; + this.next(); + + if (this.eat(56)) { + closingElement = this.jsxParseClosingElementAt(startPos, startLoc); + break contents; + } + + children.push(this.jsxParseElementAt(startPos, startLoc)); + break; + + case 137: + children.push(this.parseExprAtom()); + break; + + case 5: + { + const node = this.startNode(); + this.setContext(types.brace); + this.next(); + + if (this.match(21)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node, types.j_expr)); + } + + break; + } + + default: + throw this.unexpected(); + } + } + + if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) { + this.raise(JsxErrors.MissingClosingTagFragment, { + at: closingElement + }); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(JsxErrors.MissingClosingTagElement, { + at: closingElement, + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } + } + } + + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + + node.children = children; + + if (this.match(47)) { + throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, { + at: this.state.startLoc + }); + } + + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + + jsxParseElement() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startPos, startLoc); + } + + setContext(newContext) { + const { + context + } = this.state; + context[context.length - 1] = newContext; + } + + parseExprAtom(refExpressionErrors) { + if (this.match(137)) { + return this.parseLiteral(this.state.value, "JSXText"); + } else if (this.match(138)) { + return this.jsxParseElement(); + } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { + this.replaceToken(138); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + + skipSpace() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) super.skipSpace(); + } + + getTokenFromCode(code) { + const context = this.curContext(); + + if (context === types.j_expr) { + return this.jsxReadToken(); + } + + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + return this.jsxReadWord(); + } + + if (code === 62) { + ++this.state.pos; + return this.finishToken(139); + } + + if ((code === 34 || code === 39) && context === types.j_oTag) { + return this.jsxReadString(code); + } + } + + if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + return this.finishToken(138); + } + + return super.getTokenFromCode(code); + } + + updateContext(prevType) { + const { + context, + type + } = this.state; + + if (type === 56 && prevType === 138) { + context.splice(-2, 2, types.j_cTag); + this.state.canStartJSXElement = false; + } else if (type === 138) { + context.push(types.j_oTag); + } else if (type === 139) { + const out = context[context.length - 1]; + + if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { + context.pop(); + this.state.canStartJSXElement = context[context.length - 1] === types.j_expr; + } else { + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + } + } else { + this.state.canStartJSXElement = tokenComesBeforeExpression(type); + } + } + +}); + +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.types = new Set(); + this.enums = new Set(); + this.constEnums = new Set(); + this.classes = new Set(); + this.exportOnlyBindings = new Set(); + } + +} + +class TypeScriptScopeHandler extends ScopeHandler { + createScope(flags) { + return new TypeScriptScope(flags); + } + + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + + if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) { + this.maybeExportDefined(scope, name); + scope.exportOnlyBindings.add(name); + return; + } + + super.declareName(name, bindingType, loc); + + if (bindingType & BIND_KIND_TYPE) { + if (!(bindingType & BIND_KIND_VALUE)) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + } + + scope.types.add(name); + } + + if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name); + if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name); + if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name); + } + + isRedeclaredInScope(scope, name, bindingType) { + if (scope.enums.has(name)) { + if (bindingType & BIND_FLAGS_TS_ENUM) { + const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM); + const wasConst = scope.constEnums.has(name); + return isConst !== wasConst; + } + + return true; + } + + if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) { + if (scope.lexical.has(name)) { + return !!(bindingType & BIND_KIND_VALUE); + } else { + return false; + } + } + + if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) { + return true; + } + + return super.isRedeclaredInScope(scope, name, bindingType); + } + + checkLocalExport(id) { + const topLevelScope = this.scopeStack[0]; + const { + name + } = id; + + if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) { + super.checkLocalExport(id); + } + } + +} + +const getOwn$1 = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; + +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + + return x; +} + +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} + +const TSErrors = ParseErrorEnum`typescript`({ + AbstractMethodHasImplementation: ({ + methodName + }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`, + AbstractPropertyHasInitializer: ({ + propertyName + }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`, + AccesorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccesorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + CannotFindName: ({ + name + }) => `Cannot find name '${name}'.`, + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: ({ + kind + }) => `'declare' is not allowed in ${kind}ters.`, + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: ({ + modifier + }) => `Accessibility modifier already seen.`, + DuplicateModifier: ({ + modifier + }) => `Duplicate modifier: '${modifier}'.`, + EmptyHeritageClauseType: ({ + token + }) => `'${token}' list cannot be empty.`, + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + IncompatibleModifiers: ({ + modifiers + }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`, + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: ({ + modifier + }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`, + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.", + InvalidModifierOnTypeMember: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type member.`, + InvalidModifierOnTypeParameter: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type parameter.`, + InvalidModifierOnTypeParameterPositions: ({ + modifier + }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`, + InvalidModifiersOrder: ({ + orderedModifiers + }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`, + InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + MixedLabeledAndUnlabeledElements: "Tuple members must all have names or all not have names.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: ({ + modifier + }) => `Private elements cannot have an accessibility modifier ('${modifier}').`, + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.", + ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.", + SetAccesorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccesorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccesorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + SingleTypeParameterWithoutTrailingComma: ({ + typeParameterName + }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`, + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.", + TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: ({ + type + }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.` +}); + +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + + case "boolean": + return "TSBooleanKeyword"; + + case "bigint": + return "TSBigIntKeyword"; + + case "never": + return "TSNeverKeyword"; + + case "number": + return "TSNumberKeyword"; + + case "object": + return "TSObjectKeyword"; + + case "string": + return "TSStringKeyword"; + + case "symbol": + return "TSSymbolKeyword"; + + case "undefined": + return "TSUndefinedKeyword"; + + case "unknown": + return "TSUnknownKeyword"; + + default: + return undefined; + } +} + +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} + +function tsIsVarianceAnnotations(modifier) { + return modifier === "in" || modifier === "out"; +} + +var typescript = (superClass => class TypeScriptParserMixin extends superClass { + getScopeHandler() { + return TypeScriptScopeHandler; + } + + tsIsIdentifier() { + return tokenIsIdentifier(this.state.type); + } + + tsTokenCanFollowModifier() { + return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(134) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak(); + } + + tsNextTokenCanFollowModifier() { + this.next(); + return this.tsTokenCanFollowModifier(); + } + + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) { + if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58) { + return undefined; + } + + const modifier = this.state.value; + + if (allowedModifiers.indexOf(modifier) !== -1) { + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + + return undefined; + } + + tsParseModifiers({ + modified, + allowedModifiers, + disallowedModifiers, + stopOnStartOfClassStaticBlock, + errorTemplate = TSErrors.InvalidModifierOnTypeMember + }) { + const enforceOrder = (loc, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(TSErrors.InvalidModifiersOrder, { + at: loc, + orderedModifiers: [before, after] + }); + } + }; + + const incompatible = (loc, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(TSErrors.IncompatibleModifiers, { + at: loc, + modifiers: [mod1, mod2] + }); + } + }; + + for (;;) { + const { + startLoc + } = this.state; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock); + if (!modifier) break; + + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(TSErrors.DuplicateAccessibilityModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, modifier, "override"); + enforceOrder(startLoc, modifier, modifier, "static"); + enforceOrder(startLoc, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else if (tsIsVarianceAnnotations(modifier)) { + if (modified[modifier]) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } + + modified[modifier] = true; + enforceOrder(startLoc, modifier, "in", "out"); + } else { + if (Object.hasOwnProperty.call(modified, modifier)) { + this.raise(TSErrors.DuplicateModifier, { + at: startLoc, + modifier + }); + } else { + enforceOrder(startLoc, modifier, "static", "readonly"); + enforceOrder(startLoc, modifier, "static", "override"); + enforceOrder(startLoc, modifier, "override", "readonly"); + enforceOrder(startLoc, modifier, "abstract", "override"); + incompatible(startLoc, modifier, "declare", "override"); + incompatible(startLoc, modifier, "static", "abstract"); + } + + modified[modifier] = true; + } + + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(errorTemplate, { + at: startLoc, + modifier + }); + } + } + } + + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(8); + + case "HeritageClauseElement": + return this.match(5); + + case "TupleElementTypes": + return this.match(3); + + case "TypeParametersOrArguments": + return this.match(48); + } + + throw new Error("Unreachable"); + } + + tsParseList(kind, parseElement) { + const result = []; + + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + + return result; + } + + tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos)); + } + + tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) { + const result = []; + let trailingCommaPos = -1; + + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + + trailingCommaPos = -1; + const element = parseElement(); + + if (element == null) { + return undefined; + } + + result.push(element); + + if (this.eat(12)) { + trailingCommaPos = this.state.lastTokStart; + continue; + } + + if (this.tsIsListTerminator(kind)) { + break; + } + + if (expectSuccess) { + this.expect(12); + } + + return undefined; + } + + if (refTrailingCommaPos) { + refTrailingCommaPos.value = trailingCommaPos; + } + + return result; + } + + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) { + if (!skipFirstToken) { + if (bracket) { + this.expect(0); + } else { + this.expect(47); + } + } + + const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos); + + if (bracket) { + this.expect(3); + } else { + this.expect(48); + } + + return result; + } + + tsParseImportType() { + const node = this.startNode(); + this.expect(83); + this.expect(10); + + if (!this.match(129)) { + this.raise(TSErrors.UnsupportedImportTypeArgument, { + at: this.state.startLoc + }); + } + + node.argument = super.parseExprAtom(); + this.expect(11); + + if (this.eat(16)) { + node.qualifier = this.tsParseEntityName(); + } + + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSImportType"); + } + + tsParseEntityName(allowReservedWords = true) { + let entity = this.parseIdentifier(allowReservedWords); + + while (this.eat(16)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(allowReservedWords); + entity = this.finishNode(node, "TSQualifiedName"); + } + + return entity; + } + + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(); + + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSTypeReference"); + } + + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(87); + + if (this.match(83)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(); + } + + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSTypeQuery"); + } + + tsParseInOutModifiers(node) { + this.tsParseModifiers({ + modified: node, + allowedModifiers: ["in", "out"], + disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + } + + tsParseNoneModifiers(node) { + this.tsParseModifiers({ + modified: node, + allowedModifiers: [], + disallowedModifiers: ["in", "out"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + } + + tsParseTypeParameter(parseModifiers = this.tsParseNoneModifiers.bind(this)) { + const node = this.startNode(); + parseModifiers(node); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(81); + node.default = this.tsEatThenParseType(29); + return this.finishNode(node, "TSTypeParameter"); + } + + tsTryParseTypeParameters(parseModifiers) { + if (this.match(47)) { + return this.tsParseTypeParameters(parseModifiers); + } + } + + tsParseTypeParameters(parseModifiers) { + const node = this.startNode(); + + if (this.match(47) || this.match(138)) { + this.next(); + } else { + this.unexpected(); + } + + const refTrailingCommaPos = { + value: -1 + }; + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos); + + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeParameters, { + at: node + }); + } + + if (refTrailingCommaPos.value !== -1) { + this.addExtra(node, "trailingComma", refTrailingCommaPos.value); + } + + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + + tsTryNextParseConstantContext() { + if (this.lookahead().type !== 75) return null; + this.next(); + const typeReference = this.tsParseTypeReference(); + + if (typeReference.typeParameters) { + this.raise(TSErrors.CannotFindName, { + at: typeReference.typeName, + name: "const" + }); + } + + return typeReference; + } + + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 19; + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + signature.typeParameters = this.tsTryParseTypeParameters(); + this.expect(10); + signature[paramsKey] = this.tsParseBindingListForSignature(); + + if (returnTokenRequired) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + + tsParseBindingListForSignature() { + return super.parseBindingList(11, 41).map(pattern => { + if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") { + this.raise(TSErrors.UnsupportedSignatureParameterKind, { + at: pattern, + type: pattern.type + }); + } + + return pattern; + }); + } + + tsParseTypeMemberSemicolon() { + if (!this.eat(12) && !this.isLineTerminator()) { + this.expect(13); + } + } + + tsParseSignatureMember(kind, node) { + this.tsFillSignature(14, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + + tsIsUnambiguouslyIndexSignature() { + this.next(); + + if (tokenIsIdentifier(this.state.type)) { + this.next(); + return this.match(14); + } + + return false; + } + + tsTryParseIndexSignature(node) { + if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return undefined; + } + + this.expect(0); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(3); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(17)) node.optional = true; + const nodeAny = node; + + if (this.match(10) || this.match(47)) { + if (readonly) { + this.raise(TSErrors.ReadonlyForMethodSignature, { + at: node + }); + } + + const method = nodeAny; + + if (method.kind && this.match(47)) { + this.raise(TSErrors.AccesorCannotHaveTypeParameters, { + at: this.state.curPosition() + }); + } + + this.tsFillSignature(14, method); + this.tsParseTypeMemberSemicolon(); + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + + if (method.kind === "get") { + if (method[paramsKey].length > 0) { + this.raise(Errors.BadGetterArity, { + at: this.state.curPosition() + }); + + if (this.isThisParam(method[paramsKey][0])) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + } + } else if (method.kind === "set") { + if (method[paramsKey].length !== 1) { + this.raise(Errors.BadSetterArity, { + at: this.state.curPosition() + }); + } else { + const firstParameter = method[paramsKey][0]; + + if (this.isThisParam(firstParameter)) { + this.raise(TSErrors.AccesorCannotDeclareThisParameter, { + at: this.state.curPosition() + }); + } + + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, { + at: this.state.curPosition() + }); + } + + if (firstParameter.type === "RestElement") { + this.raise(TSErrors.SetAccesorCannotHaveRestParameter, { + at: this.state.curPosition() + }); + } + } + + if (method[returnTypeKey]) { + this.raise(TSErrors.SetAccesorCannotHaveReturnType, { + at: method[returnTypeKey] + }); + } + } else { + method.kind = "method"; + } + + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = nodeAny; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + + tsParseTypeMember() { + const node = this.startNode(); + + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + + if (this.match(77)) { + const id = this.startNode(); + this.next(); + + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + + this.tsParseModifiers({ + modified: node, + allowedModifiers: ["readonly"], + disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"] + }); + const idx = this.tsTryParseIndexSignature(node); + + if (idx) { + return idx; + } + + super.parsePropertyName(node); + + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + super.parsePropertyName(node); + } + + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + + tsParseObjectTypeMembers() { + this.expect(5); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(8); + return members; + } + + tsIsStartOfMappedType() { + this.next(); + + if (this.eat(53)) { + return this.isContextual(118); + } + + if (this.isContextual(118)) { + this.next(); + } + + if (!this.match(0)) { + return false; + } + + this.next(); + + if (!this.tsIsIdentifier()) { + return false; + } + + this.next(); + return this.match(58); + } + + tsParseMappedTypeParameter() { + const node = this.startNode(); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsExpectThenParseType(58); + return this.finishNode(node, "TSTypeParameter"); + } + + tsParseMappedType() { + const node = this.startNode(); + this.expect(5); + + if (this.match(53)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual(118); + } else if (this.eatContextual(118)) { + node.readonly = true; + } + + this.expect(0); + node.typeParameter = this.tsParseMappedTypeParameter(); + node.nameType = this.eatContextual(93) ? this.tsParseType() : null; + this.expect(3); + + if (this.match(53)) { + node.optional = this.state.value; + this.next(); + this.expect(17); + } else if (this.eat(17)) { + node.optional = true; + } + + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(8); + return this.finishNode(node, "TSMappedType"); + } + + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + let labeledElements = null; + node.elementTypes.forEach(elementNode => { + var _labeledElements; + + const { + type + } = elementNode; + + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(TSErrors.OptionalTypeBeforeRequired, { + at: elementNode + }); + } + + seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"); + let checkType = type; + + if (type === "TSRestType") { + elementNode = elementNode.typeAnnotation; + checkType = elementNode.type; + } + + const isLabeled = checkType === "TSNamedTupleMember"; + (_labeledElements = labeledElements) != null ? _labeledElements : labeledElements = isLabeled; + + if (labeledElements !== isLabeled) { + this.raise(TSErrors.MixedLabeledAndUnlabeledElements, { + at: elementNode + }); + } + }); + return this.finishNode(node, "TSTupleType"); + } + + tsParseTupleElementType() { + const { + start: startPos, + startLoc + } = this.state; + const rest = this.eat(21); + let type = this.tsParseType(); + const optional = this.eat(17); + const labeled = this.eat(14); + + if (labeled) { + const labeledNode = this.startNodeAtNode(type); + labeledNode.optional = optional; + + if (type.type === "TSTypeReference" && !type.typeParameters && type.typeName.type === "Identifier") { + labeledNode.label = type.typeName; + } else { + this.raise(TSErrors.InvalidTupleMemberLabel, { + at: type + }); + labeledNode.label = type; + } + + labeledNode.elementType = this.tsParseType(); + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAtNode(type); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + + if (rest) { + const restNode = this.startNodeAt(startPos, startLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + + return type; + } + + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(10); + node.typeAnnotation = this.tsParseType(); + this.expect(11); + return this.finishNode(node, "TSParenthesizedType"); + } + + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + + this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node)); + return this.finishNode(node, type); + } + + tsParseLiteralTypeNode() { + const node = this.startNode(); + + node.literal = (() => { + switch (this.state.type) { + case 130: + case 131: + case 129: + case 85: + case 86: + return super.parseExprAtom(); + + default: + throw this.unexpected(); + } + })(); + + return this.finishNode(node, "TSLiteralType"); + } + + tsParseTemplateLiteralType() { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + + if (this.isContextual(113) && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + + tsParseNonArrayType() { + switch (this.state.type) { + case 129: + case 130: + case 131: + case 85: + case 86: + return this.tsParseLiteralTypeNode(); + + case 53: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + + if (nextToken.type !== 130 && nextToken.type !== 131) { + throw this.unexpected(); + } + + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + + break; + + case 78: + return this.tsParseThisTypeOrThisTypePredicate(); + + case 87: + return this.tsParseTypeQuery(); + + case 83: + return this.tsParseImportType(); + + case 5: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + + case 0: + return this.tsParseTupleType(); + + case 10: + return this.tsParseParenthesizedType(); + + case 25: + case 24: + return this.tsParseTemplateLiteralType(); + + default: + { + const { + type + } = this.state; + + if (tokenIsIdentifier(type) || type === 88 || type === 84) { + const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + + if (nodeType !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, nodeType); + } + + return this.tsParseTypeReference(); + } + } + } + + throw this.unexpected(); + } + + tsParseArrayTypeOrHigher() { + let type = this.tsParseNonArrayType(); + + while (!this.hasPrecedingLineBreak() && this.eat(0)) { + if (this.match(3)) { + const node = this.startNodeAtNode(type); + node.elementType = type; + this.expect(3); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAtNode(type); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(3); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + + return type; + } + + tsParseTypeOperator() { + const node = this.startNode(); + const operator = this.state.value; + this.next(); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + + return this.finishNode(node, "TSTypeOperator"); + } + + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + + default: + this.raise(TSErrors.UnexpectedReadonly, { + at: node + }); + } + } + + tsParseInferType() { + const node = this.startNode(); + this.expectContextual(112); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + + tsParseConstraintForInferType() { + if (this.eat(81)) { + const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType()); + + if (this.state.inDisallowConditionalTypesContext || !this.match(17)) { + return constraint; + } + } + } + + tsParseTypeOperatorOrHigher() { + const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc; + return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(112) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher()); + } + + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + + node.types = types; + return this.finishNode(node, kind); + } + + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45); + } + + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43); + } + + tsIsStartOfFunctionType() { + if (this.match(47)) { + return true; + } + + return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + + tsSkipParameterStart() { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + this.next(); + return true; + } + + if (this.match(5)) { + const { + errors + } = this.state; + const previousErrorCount = errors.length; + + try { + this.parseObjectLike(8, true); + return errors.length === previousErrorCount; + } catch (_unused) { + return false; + } + } + + if (this.match(0)) { + this.next(); + const { + errors + } = this.state; + const previousErrorCount = errors.length; + + try { + super.parseBindingList(3, 93, true); + return errors.length === previousErrorCount; + } catch (_unused2) { + return false; + } + } + + return false; + } + + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + + if (this.match(11) || this.match(21)) { + return true; + } + + if (this.tsSkipParameterStart()) { + if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) { + return true; + } + + if (this.match(11)) { + this.next(); + + if (this.match(19)) { + return true; + } + } + } + + return false; + } + + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + + if (asserts && this.match(78)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + + tsTryParseTypeOrTypePredicateAnnotation() { + return this.match(14) ? this.tsParseTypeOrTypePredicateAnnotation(14) : undefined; + } + + tsTryParseTypeAnnotation() { + return this.match(14) ? this.tsParseTypeAnnotation() : undefined; + } + + tsTryParseType() { + return this.tsEatThenParseType(14); + } + + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + + if (this.isContextual(113) && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + + tsParseTypePredicateAsserts() { + if (this.state.type !== 106) { + return false; + } + + const containsEsc = this.state.containsEsc; + this.next(); + + if (!tokenIsIdentifier(this.state.type) && !this.match(78)) { + return false; + } + + if (containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, { + at: this.state.lastTokStartLoc, + reservedWord: "asserts" + }); + } + + return true; + } + + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(14); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + + if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) { + return type; + } + + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()); + this.expect(17); + node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + this.expect(14); + node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + return this.finishNode(node, "TSConditionalType"); + } + + isAbstractConstructorSignature() { + return this.isContextual(120) && this.lookahead().type === 77; + } + + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + + if (this.match(77)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + + return this.tsParseUnionTypeOrHigher(); + } + + tsParseTypeAssertion() { + if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedTypeAssertion, { + at: this.state.startLoc + }); + } + + const node = this.startNode(); + + const _const = this.tsTryNextParseConstantContext(); + + node.typeAnnotation = _const || this.tsNextThenParseType(); + this.expect(48); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + + tsParseHeritageClause(token) { + const originalStartLoc = this.state.startLoc; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { + const node = this.startNode(); + node.expression = this.tsParseEntityName(); + + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSExpressionWithTypeArguments"); + }); + + if (!delimitedList.length) { + this.raise(TSErrors.EmptyHeritageClauseType, { + at: originalStartLoc, + token + }); + } + + return delimitedList; + } + + tsParseInterfaceDeclaration(node, properties = {}) { + if (this.hasFollowingLineBreak()) return null; + this.expectContextual(125); + if (properties.declare) node.declare = true; + + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, BIND_TS_INTERFACE); + } else { + node.id = null; + this.raise(TSErrors.MissingInterfaceName, { + at: this.state.startLoc + }); + } + + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this)); + + if (this.eat(81)) { + node.extends = this.tsParseHeritageClause("extends"); + } + + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, BIND_TS_TYPE); + node.typeAnnotation = this.tsInType(() => { + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this)); + this.expect(29); + + if (this.isContextual(111) && this.lookahead().type !== 16) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + + tsInNoContext(cb) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } + + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + + tsInDisallowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = true; + + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + + tsInAllowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = false; + + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + + tsEatThenParseType(token) { + return !this.match(token) ? undefined : this.tsNextThenParseType(); + } + + tsExpectThenParseType(token) { + return this.tsDoThenParseType(() => this.expect(token)); + } + + tsNextThenParseType() { + return this.tsDoThenParseType(() => this.next()); + } + + tsDoThenParseType(cb) { + return this.tsInType(() => { + cb(); + return this.tsParseType(); + }); + } + + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(129) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + + if (this.eat(29)) { + node.initializer = super.parseMaybeAssignAllowIn(); + } + + return this.finishNode(node, "TSEnumMember"); + } + + tsParseEnumDeclaration(node, properties = {}) { + if (properties.const) node.const = true; + if (properties.declare) node.declare = true; + this.expectContextual(122); + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, node.const ? BIND_TS_CONST_ENUM : BIND_TS_ENUM); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumDeclaration"); + } + + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(SCOPE_OTHER); + this.expect(5); + super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + + if (!nested) { + this.checkIdentifier(node.id, BIND_TS_NAMESPACE); + } + + if (this.eat(16)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual(109)) { + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(129)) { + node.id = super.parseStringLiteral(this.state.value); + } else { + this.unexpected(); + } + + if (this.match(5)) { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + + tsParseImportEqualsDeclaration(node, isExport) { + node.isExport = isExport || false; + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, BIND_LEXICAL); + this.expect(29); + const moduleReference = this.tsParseModuleReference(); + + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(TSErrors.ImportAliasHasImportType, { + at: moduleReference + }); + } + + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + + tsIsExternalModuleReference() { + return this.isContextual(116) && this.lookaheadCharCode() === 40; + } + + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + } + + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual(116); + this.expect(10); + + if (!this.match(129)) { + throw this.unexpected(); + } + + node.expression = super.parseExprAtom(); + this.expect(11); + return this.finishNode(node, "TSExternalModuleReference"); + } + + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return undefined; + if (result.error) this.state = result.failState; + return result.node; + } + + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + + if (result !== undefined && result !== false) { + return result; + } else { + this.state = state; + return undefined; + } + } + + tsTryParseDeclare(nany) { + if (this.isLineTerminator()) { + return; + } + + let starttype = this.state.type; + let kind; + + if (this.isContextual(99)) { + starttype = 74; + kind = "let"; + } + + return this.tsInAmbientContext(() => { + if (starttype === 68) { + nany.declare = true; + return super.parseFunctionStatement(nany, false, true); + } + + if (starttype === 80) { + nany.declare = true; + return this.parseClass(nany, true, false); + } + + if (starttype === 122) { + return this.tsParseEnumDeclaration(nany, { + declare: true + }); + } + + if (starttype === 109) { + return this.tsParseAmbientExternalModuleDeclaration(nany); + } + + if (starttype === 75 || starttype === 74) { + if (!this.match(75) || !this.isLookaheadContextual("enum")) { + nany.declare = true; + return this.parseVarStatement(nany, kind || this.state.value, true); + } + + this.expect(75); + return this.tsParseEnumDeclaration(nany, { + const: true, + declare: true + }); + } + + if (starttype === 125) { + const result = this.tsParseInterfaceDeclaration(nany, { + declare: true + }); + if (result) return result; + } + + if (tokenIsIdentifier(starttype)) { + return this.tsParseDeclaration(nany, this.state.value, true); + } + }); + } + + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.value, true); + } + + tsParseExpressionStatement(node, expr) { + switch (expr.name) { + case "declare": + { + const declaration = this.tsTryParseDeclare(node); + + if (declaration) { + declaration.declare = true; + return declaration; + } + + break; + } + + case "global": + if (this.match(5)) { + this.scope.enter(SCOPE_TS_MODULE); + this.prodParam.enter(PARAM); + const mod = node; + mod.global = true; + mod.id = expr; + mod.body = this.tsParseModuleBlock(); + this.scope.exit(); + this.prodParam.exit(); + return this.finishNode(mod, "TSModuleDeclaration"); + } + + break; + + default: + return this.tsParseDeclaration(node, expr.name, false); + } + } + + tsParseDeclaration(node, value, next) { + switch (value) { + case "abstract": + if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) { + return this.tsParseAbstractDeclaration(node); + } + + break; + + case "module": + if (this.tsCheckLineTerminator(next)) { + if (this.match(129)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + + break; + + case "namespace": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + + break; + + case "type": + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseTypeAliasDeclaration(node); + } + + break; + } + } + + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + + return !this.isLineTerminator(); + } + + tsTryParseGenericAsyncArrowFunction(startPos, startLoc) { + if (!this.match(47)) { + return undefined; + } + + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startPos, startLoc); + node.typeParameters = this.tsParseTypeParameters(); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(19); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + + if (!res) { + return undefined; + } + + return super.parseArrowExpression(res, null, true); + } + + tsParseTypeArgumentsInExpression() { + if (this.reScan_lt() !== 47) { + return undefined; + } + + return this.tsParseTypeArguments(); + } + + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInNoContext(() => { + this.expect(47); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeArguments, { + at: node + }); + } + + this.expect(48); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + + tsIsDeclarationStart() { + return tokenIsTSDeclarationStart(this.state.type); + } + + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + + parseAssignableListItem(allowModifiers, decorators) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let accessibility; + let readonly = false; + let override = false; + + if (allowModifiers !== undefined) { + const modified = {}; + this.tsParseModifiers({ + modified, + allowedModifiers: ["public", "private", "protected", "override", "readonly"] + }); + accessibility = modified.accessibility; + override = modified.override; + readonly = modified.readonly; + + if (allowModifiers === false && (accessibility || readonly || override)) { + this.raise(TSErrors.UnexpectedParameterModifier, { + at: startLoc + }); + } + } + + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + const elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startPos, startLoc); + + if (decorators.length) { + pp.decorators = decorators; + } + + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(TSErrors.UnsupportedParameterPropertyKind, { + at: pp + }); + } + + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + + isSimpleParameter(node) { + return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node); + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + } + + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined; + + if (bodilessType && !this.match(5) && this.isLineTerminator()) { + return this.finishNode(node, bodilessType); + } + + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(TSErrors.DeclareFunctionHasImplementation, { + at: node + }); + + if (node.declare) { + return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + } + } + + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkIdentifier(node.id, BIND_TS_AMBIENT); + } else { + super.registerFunctionStatementId(node); + } + } + + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(TSErrors.UnexpectedTypeAnnotation, { + at: node.typeAnnotation + }); + } + }); + } + + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors); + + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + + return node; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(35)) { + this.state.canStartJSXElement = false; + this.next(); + const nonNullExpression = this.startNodeAt(startPos, startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + + let isOptionalCall = false; + + if (this.match(18) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + + if (this.match(47) || this.match(51)) { + let missingParenErrorLoc; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startPos, startLoc); + + if (asyncArrowFn) { + return asyncArrowFn; + } + } + + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (!typeArguments) return; + + if (isOptionalCall && !this.match(10)) { + missingParenErrorLoc = this.state.curPosition(); + return; + } + + if (tokenIsTemplate(this.state.type)) { + const result = super.parseTaggedTemplateExpression(base, startPos, startLoc, state); + result.typeParameters = typeArguments; + return result; + } + + if (!noCalls && this.eat(10)) { + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(11, false); + this.tsCheckForInvalidTypeCasts(node.arguments); + node.typeParameters = typeArguments; + + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + + return this.finishCallExpression(node, state.optionalChainMember); + } + + const tokenType = this.state.type; + + if (tokenType === 48 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) { + return; + } + + const node = this.startNodeAt(startPos, startLoc); + node.expression = base; + node.typeParameters = typeArguments; + return this.finishNode(node, "TSInstantiationExpression"); + }); + + if (missingParenErrorLoc) { + this.unexpected(missingParenErrorLoc, 10); + } + + if (result) { + if (result.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40)) { + this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, { + at: this.state.startLoc + }); + } + + return result; + } + } + + return super.parseSubscript(base, startPos, startLoc, noCalls, state); + } + + parseNewCallee(node) { + var _callee$extra; + + super.parseNewCallee(node); + const { + callee + } = node; + + if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { + node.typeParameters = callee.typeParameters; + node.callee = callee.expression; + } + } + + parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { + if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual(93)) { + const node = this.startNodeAt(leftStartPos, leftStartLoc); + node.expression = left; + + const _const = this.tsTryNextParseConstantContext(); + + if (_const) { + node.typeAnnotation = _const; + } else { + node.typeAnnotation = this.tsNextThenParseType(); + } + + this.finishNode(node, "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec); + } + + return super.parseExprOp(left, leftStartPos, leftStartLoc, minPrec); + } + + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (!this.state.isAmbientContext) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + + checkDuplicateExports() {} + + parseImport(node) { + node.importKind = "value"; + + if (tokenIsIdentifier(this.state.type) || this.match(55) || this.match(5)) { + let ahead = this.lookahead(); + + if (this.isContextual(126) && ahead.type !== 12 && ahead.type !== 97 && ahead.type !== 29) { + node.importKind = "type"; + this.next(); + ahead = this.lookahead(); + } + + if (tokenIsIdentifier(this.state.type) && ahead.type === 29) { + return this.tsParseImportEqualsDeclaration(node); + } + } + + const importNode = super.parseImport(node); + + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, { + at: importNode + }); + } + + return importNode; + } + + parseExport(node) { + if (this.match(83)) { + this.next(); + + if (this.isContextual(126) && this.lookaheadCharCode() !== 61) { + node.importKind = "type"; + this.next(); + } else { + node.importKind = "value"; + } + + return this.tsParseImportEqualsDeclaration(node, true); + } else if (this.eat(29)) { + const assign = node; + assign.expression = super.parseExpression(); + this.semicolon(); + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual(93)) { + const decl = node; + this.expectContextual(124); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + if (this.isContextual(126) && this.lookahead().type === 5) { + this.next(); + node.exportKind = "type"; + } else { + node.exportKind = "value"; + } + + return super.parseExport(node); + } + } + + isAbstractClass() { + return this.isContextual(120) && this.lookahead().type === 80; + } + + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + return this.parseClass(cls, true, true); + } + + if (this.match(125)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + + return super.parseExportDefaultExpression(); + } + + parseVarStatement(node, kind, allowMissingInitializer = false) { + const { + isAmbientContext + } = this.state; + const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext); + if (!isAmbientContext) return declaration; + + for (const { + id, + init + } of declaration.declarations) { + if (!init) continue; + + if (kind !== "const" || !!id.typeAnnotation) { + this.raise(TSErrors.InitializerNotAllowedInAmbientContext, { + at: init + }); + } else if (init.type !== "StringLiteral" && init.type !== "BooleanLiteral" && init.type !== "NumericLiteral" && init.type !== "BigIntLiteral" && (init.type !== "TemplateLiteral" || init.expressions.length > 0) && !isPossiblyLiteralEnum(init)) { + this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, { + at: init + }); + } + } + + return declaration; + } + + parseStatementContent(context, topLevel) { + if (this.match(75) && this.isLookaheadContextual("enum")) { + const node = this.startNode(); + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true + }); + } + + if (this.isContextual(122)) { + return this.tsParseEnumDeclaration(this.startNode()); + } + + if (this.isContextual(125)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + + return super.parseStatementContent(context, topLevel); + } + + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + + return !!member[modifier]; + }); + } + + tsIsStartOfStaticBlocks() { + return this.isContextual(104) && this.lookaheadCharCode() === 123; + } + + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers({ + modified: member, + allowedModifiers: modifiers, + disallowedModifiers: ["in", "out"], + stopOnStartOfClassStaticBlock: true, + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(TSErrors.StaticBlockCannotHaveModifier, { + at: this.state.curPosition() + }); + } + + super.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + + if (idx) { + classBody.body.push(idx); + + if (member.abstract) { + this.raise(TSErrors.IndexSignatureHasAbstract, { + at: member + }); + } + + if (member.accessibility) { + this.raise(TSErrors.IndexSignatureHasAccessibility, { + at: member, + modifier: member.accessibility + }); + } + + if (member.declare) { + this.raise(TSErrors.IndexSignatureHasDeclare, { + at: member + }); + } + + if (member.override) { + this.raise(TSErrors.IndexSignatureHasOverride, { + at: member + }); + } + + return; + } + + if (!this.state.inAbstractClass && member.abstract) { + this.raise(TSErrors.NonAbstractClassHasAbstractMethod, { + at: member + }); + } + + if (member.override) { + if (!state.hadSuperClass) { + this.raise(TSErrors.OverrideNotInSubClass, { + at: member + }); + } + } + + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(17); + if (optional) methodOrProp.optional = true; + + if (methodOrProp.readonly && this.match(10)) { + this.raise(TSErrors.ClassMethodHasReadonly, { + at: methodOrProp + }); + } + + if (methodOrProp.declare && this.match(10)) { + this.raise(TSErrors.ClassMethodHasDeclare, { + at: methodOrProp + }); + } + } + + parseExpressionStatement(node, expr) { + const decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined; + return decl || super.parseExpressionStatement(node, expr); + } + + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (!this.state.maybeInArrowParameters || !this.match(17)) { + return super.parseConditional(expr, startPos, startLoc, refExpressionErrors); + } + + const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc)); + + if (!result.node) { + if (result.error) { + super.setOptionalParametersError(refExpressionErrors, result.error); + } + + return expr; + } + + if (result.error) this.state = result.failState; + return result.node; + } + + parseParenItem(node, startPos, startLoc) { + node = super.parseParenItem(node, startPos, startLoc); + + if (this.eat(17)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + + return node; + } + + parseExportDeclaration(node) { + if (!this.state.isAmbientContext && this.isContextual(121)) { + return this.tsInAmbientContext(() => this.parseExportDeclaration(node)); + } + + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual(121); + + if (isDeclare && (this.isContextual(121) || !this.shouldParseExportDeclaration())) { + throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, { + at: this.state.startLoc + }); + } + + const isIdentifier = tokenIsIdentifier(this.state.type); + const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node); + if (!declaration) return null; + + if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { + node.exportKind = "type"; + } + + if (isDeclare) { + this.resetStartLocation(declaration, startPos, startLoc); + declaration.declare = true; + } + + return declaration; + } + + parseClassId(node, isStatement, optionalId, bindingType) { + if ((!isStatement || optionalId) && this.isContextual(110)) { + return; + } + + super.parseClassId(node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS); + const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this)); + if (typeParameters) node.typeParameters = typeParameters; + } + + parseClassPropertyAnnotation(node) { + if (!node.optional && this.eat(35)) { + node.definite = true; + } + + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + + if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) { + this.raise(TSErrors.DeclareClassFieldHasInitializer, { + at: this.state.startLoc + }); + } + + if (node.abstract && this.match(29)) { + const { + key + } = node; + this.raise(TSErrors.AbstractPropertyHasInitializer, { + at: this.state.startLoc, + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + + return super.parseClassProperty(node); + } + + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(TSErrors.PrivateElementHasAbstract, { + at: node + }); + } + + if (node.accessibility) { + this.raise(TSErrors.PrivateElementHasAccessibility, { + at: node, + modifier: node.accessibility + }); + } + + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(); + + if (typeParameters && isConstructor) { + this.raise(TSErrors.ConstructorHasTypeParameters, { + at: typeParameters + }); + } + + const { + declare = false, + kind + } = method; + + if (declare && (kind === "get" || kind === "set")) { + this.raise(TSErrors.DeclareAccessor, { + at: method, + kind + }); + } + + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + + declareClassPrivateMethodInScope(node, kind) { + if (node.type === "TSDeclareMethod") return; + if (node.type === "MethodDefinition" && !node.value.body) return; + super.declareClassPrivateMethodInScope(node, kind); + } + + parseClassSuper(node) { + super.parseClassSuper(node); + + if (node.superClass && (this.match(47) || this.match(51))) { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } + + if (this.eatContextual(110)) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) prop.typeParameters = typeParameters; + return super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + } + + parseFunctionParams(node, allowModifiers) { + const typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, allowModifiers); + } + + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + + if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) { + decl.definite = true; + } + + const type = this.tsTryParseTypeAnnotation(); + + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + node.returnType = this.tsParseTypeAnnotation(); + } + + return super.parseAsyncArrowFromCallExpression(node, call); + } + + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2, _jsx4, _typeCast3; + + let state; + let jsx; + let typeCast; + + if (this.hasPlugin("jsx") && (this.match(138) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + + if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) { + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + + if (!state || state === this.state) state = this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + + typeParameters = this.tsParseTypeParameters(); + const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + + expr.typeParameters = typeParameters; + return expr; + }, state); + + if (!arrow.error && !arrow.aborted) { + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!typeCast.error) return typeCast.node; + } + + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrow.node) { + this.state = arrow.failState; + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error; + throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error); + } + + reportReservedArrowTypeParam(node) { + var _node$extra; + + if (node.params.length === 1 && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedArrowTypeParam, { + at: node + }); + } + } + + parseMaybeUnary(refExpressionErrors, sawUnary) { + if (!this.hasPlugin("jsx") && this.match(47)) { + return this.tsParseTypeAssertion(); + } else { + return super.parseMaybeUnary(refExpressionErrors, sawUnary); + } + } + + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + if (this.canInsertSemicolon() || !this.match(19)) abort(); + return returnType; + }); + if (result.aborted) return; + + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + + return super.parseArrow(node); + } + + parseAssignableListItemTypes(param) { + if (this.eat(17)) { + if (param.type !== "Identifier" && !this.state.isAmbientContext && !this.state.inType) { + this.raise(TSErrors.PatternIsOptional, { + at: param + }); + } + + param.optional = true; + } + + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + + case "TSParameterProperty": + return true; + + default: + return super.isAssignable(node, isBinding); + } + } + + toAssignable(node, isLHS = false) { + switch (node.type) { + case "ParenthesizedExpression": + this.toAssignableParenthesizedExpression(node, isLHS); + break; + + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + if (isLHS) { + this.expressionScope.recordArrowParemeterBindingError(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } else { + this.raise(TSErrors.UnexpectedTypeCastInParameter, { + at: node + }); + } + + this.toAssignable(node.expression, isLHS); + break; + + case "AssignmentExpression": + if (!isLHS && node.left.type === "TSTypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + + default: + super.toAssignable(node, isLHS); + } + } + + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + this.toAssignable(node.expression, isLHS); + break; + + default: + super.toAssignable(node, isLHS); + } + } + + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "TSAsExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + this.checkToRestConversion(node.expression, false); + break; + + default: + super.checkToRestConversion(node, allowPattern); + } + } + + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn$1({ + TSTypeCastExpression: true, + TSParameterProperty: "parameter", + TSNonNullExpression: "expression", + TSAsExpression: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true], + TSTypeAssertion: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true] + }, type) || super.isValidLVal(type, isUnparenthesizedInAssign, binding); + } + + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + + default: + return super.parseBindingAtom(); + } + } + + parseMaybeDecoratorArguments(expr) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsParseTypeArgumentsInExpression(); + + if (this.match(10)) { + const call = super.parseMaybeDecoratorArguments(expr); + call.typeParameters = typeArguments; + return call; + } + + this.unexpected(null, 10); + } + + return super.parseMaybeDecoratorArguments(expr); + } + + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { + this.next(); + return false; + } else { + return super.checkCommaAfterRest(close); + } + } + + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + + isClassProperty() { + return this.match(35) || this.match(14) || super.isClassProperty(); + } + + parseMaybeDefault(startPos, startLoc, left) { + const node = super.parseMaybeDefault(startPos, startLoc, left); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(TSErrors.TypeAnnotationAfterAssign, { + at: node.typeAnnotation + }); + } + + return node; + } + + getTokenFromCode(code) { + if (this.state.inType) { + if (code === 62) { + return this.finishOp(48, 1); + } + + if (code === 60) { + return this.finishOp(47, 1); + } + } + + return super.getTokenFromCode(code); + } + + reScan_lt_gt() { + const { + type + } = this.state; + + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + + reScan_lt() { + const { + type + } = this.state; + + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + + return type; + } + + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + + if ((expr == null ? void 0 : expr.type) === "TSTypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + + shouldParseArrow(params) { + if (this.match(14)) { + return params.every(expr => this.isAssignable(expr, true)); + } + + return super.shouldParseArrow(params); + } + + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + + jsxParseOpeningElementAfterName(node) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); + if (typeArguments) node.typeParameters = typeArguments; + } + + return super.jsxParseOpeningElementAfterName(node); + } + + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + + return param; + } + + tsInAmbientContext(cb) { + const oldIsAmbientContext = this.state.isAmbientContext; + this.state.isAmbientContext = true; + + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + } + } + + parseClass(node, isStatement, optionalId) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + + try { + return super.parseClass(node, isStatement, optionalId); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + + tsParseAbstractDeclaration(node) { + if (this.match(80)) { + node.abstract = true; + return this.parseClass(node, true, false); + } else if (this.isContextual(125)) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, { + at: node + }); + return this.tsParseInterfaceDeclaration(node); + } + } else { + this.unexpected(null, 80); + } + } + + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { + const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + + if (method.abstract) { + const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; + + if (hasBody) { + const { + key + } = method; + this.raise(TSErrors.AbstractMethodHasImplementation, { + at: method, + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + }); + } + } + + return method; + } + + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + + return super.parse(); + } + + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + + return super.getExpression(); + } + + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (!isString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport); + return this.finishNode(node, "ExportSpecifier"); + } + + node.exportKind = "value"; + return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly); + } + + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) { + if (!importedIsString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport); + return this.finishNode(specifier, "ImportSpecifier"); + } + + specifier.importKind = "value"; + return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly); + } + + parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) { + const leftOfAsKey = isImport ? "imported" : "local"; + const rightOfAsKey = isImport ? "local" : "exported"; + let leftOfAs = node[leftOfAsKey]; + let rightOfAs; + let hasTypeSpecifier = false; + let canParseAsKeyword = true; + const loc = leftOfAs.loc.start; + + if (this.isContextual(93)) { + const firstAs = this.parseIdentifier(); + + if (this.isContextual(93)) { + const secondAs = this.parseIdentifier(); + + if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + leftOfAs = firstAs; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + canParseAsKeyword = false; + } else { + rightOfAs = secondAs; + canParseAsKeyword = false; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + canParseAsKeyword = false; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } else { + hasTypeSpecifier = true; + leftOfAs = firstAs; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + + if (isImport) { + leftOfAs = this.parseIdentifier(true); + + if (!this.isContextual(93)) { + this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true); + } + } else { + leftOfAs = this.parseModuleExportName(); + } + } + + if (hasTypeSpecifier && isInTypeOnlyImportExport) { + this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, { + at: loc + }); + } + + node[leftOfAsKey] = leftOfAs; + node[rightOfAsKey] = rightOfAs; + const kindKey = isImport ? "importKind" : "exportKind"; + node[kindKey] = hasTypeSpecifier ? "type" : "value"; + + if (canParseAsKeyword && this.eatContextual(93)) { + node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } + + if (!node[rightOfAsKey]) { + node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]); + } + + if (isImport) { + this.checkIdentifier(node[rightOfAsKey], BIND_LEXICAL); + } + } + +}); + +function isPossiblyLiteralEnum(expression) { + if (expression.type !== "MemberExpression") return false; + const { + computed, + property + } = expression; + + if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) { + return false; + } + + return isUncomputedMemberExpressionChain(expression.object); +} + +function isUncomputedMemberExpressionChain(expression) { + if (expression.type === "Identifier") return true; + if (expression.type !== "MemberExpression") return false; + if (expression.computed) return false; + return isUncomputedMemberExpressionChain(expression.object); +} + +const PlaceholderErrors = ParseErrorEnum`placeholders`({ + ClassNameIsRequired: "A class name is required.", + UnexpectedSpace: "Unexpected space in placeholder." +}); +var placeholders = (superClass => class PlaceholdersParserMixin extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(140)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace(); + node.name = super.parseIdentifier(true); + this.assertNoSpace(); + this.expect(140); + return this.finishPlaceholder(node, expectedNode); + } + } + + finishPlaceholder(node, expectedNode) { + const isFinished = !!(node.expectedNode && node.type === "Placeholder"); + node.expectedNode = expectedNode; + return isFinished ? node : this.finishNode(node, "Placeholder"); + } + + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + return this.finishOp(140, 2); + } + + return super.getTokenFromCode(code); + } + + parseExprAtom(refExpressionErrors) { + return this.parsePlaceholder("Expression") || super.parseExprAtom(refExpressionErrors); + } + + parseIdentifier(liberal) { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(liberal); + } + + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word !== undefined) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(); + } + + isValidLVal(type, isParenthesized, binding) { + return type === "Placeholder" || super.isValidLVal(type, isParenthesized, binding); + } + + toAssignable(node, isLHS) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + } else { + super.toAssignable(node, isLHS); + } + } + + isLet(context) { + if (super.isLet(context)) { + return true; + } + + if (!this.isContextual(99)) { + return false; + } + + if (context) return false; + const nextToken = this.lookahead(); + + if (nextToken.type === 140) { + return true; + } + + return false; + } + + verifyBreakContinue(node, isBreak) { + if (node.label && node.label.type === "Placeholder") return; + super.verifyBreakContinue(node, isBreak); + } + + parseExpressionStatement(node, expr) { + if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) { + return super.parseExpressionStatement(node, expr); + } + + if (this.match(14)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = super.parseStatement("label"); + return this.finishNode(stmt, "LabeledStatement"); + } + + this.semicolon(); + node.name = expr.name; + return this.finishPlaceholder(node, "Statement"); + } + + parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse); + } + + parseFunctionId(requireId) { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(requireId); + } + + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + this.takeDecorators(node); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + + if (placeholder) { + if (this.match(81) || this.match(140) || this.match(5)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + throw this.raise(PlaceholderErrors.ClassNameIsRequired, { + at: this.state.startLoc + }); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + + super.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + + parseExport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(node); + + if (!this.isContextual(97) && !this.match(12)) { + node.specifiers = []; + node.source = null; + node.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node); + } + + isExportDefaultSpecifier() { + if (this.match(65)) { + const next = this.nextTokenStart(); + + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(140), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + + return super.isExportDefaultSpecifier(); + } + + maybeParseExportDefaultSpecifier(node) { + if (node.specifiers && node.specifiers.length > 0) { + return true; + } + + return super.maybeParseExportDefaultSpecifier(node); + } + + checkExport(node) { + const { + specifiers + } = node; + + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + + super.checkExport(node); + node.specifiers = specifiers; + } + + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(node); + node.specifiers = []; + + if (!this.isContextual(97) && !this.match(12)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier")); + + if (this.eat(12)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + + this.expectContextual(97); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); + } + + assertNoSpace() { + if (this.state.start > this.state.lastTokEndLoc.index) { + this.raise(PlaceholderErrors.UnexpectedSpace, { + at: this.state.lastTokEndLoc + }); + } + } + +}); + +var v8intrinsic = (superClass => class V8IntrinsicMixin extends superClass { + parseV8Intrinsic() { + if (this.match(54)) { + const v8IntrinsicStartLoc = this.state.startLoc; + const node = this.startNode(); + this.next(); + + if (tokenIsIdentifier(this.state.type)) { + const name = this.parseIdentifierName(this.state.start); + const identifier = this.createIdentifier(node, name); + identifier.type = "V8IntrinsicIdentifier"; + + if (this.match(10)) { + return identifier; + } + } + + this.unexpected(v8IntrinsicStartLoc); + } + } + + parseExprAtom(refExpressionErrors) { + return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); + } + +}); + +function hasPlugin(plugins, expectedConfig) { + const [expectedName, expectedOptions] = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig; + const expectedKeys = Object.keys(expectedOptions); + const expectedOptionsIsEmpty = expectedKeys.length === 0; + return plugins.some(p => { + if (typeof p === "string") { + return expectedOptionsIsEmpty && p === expectedName; + } else { + const [pluginName, pluginOptions] = p; + + if (pluginName !== expectedName) { + return false; + } + + for (const key of expectedKeys) { + if (pluginOptions[key] !== expectedOptions[key]) { + return false; + } + } + + return true; + } + }); +} +function getPluginOption(plugins, name, option) { + const plugin = plugins.find(plugin => { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); + + if (plugin && Array.isArray(plugin) && plugin.length > 1) { + return plugin[1][option]; + } + + return null; +} +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; +const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; +function validatePlugins(plugins) { + if (hasPlugin(plugins, "decorators")) { + if (hasPlugin(plugins, "decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + + const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + + if (decoratorsBeforeExport == null) { + throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'."); + } else if (typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean."); + } + } + + if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + + if (hasPlugin(plugins, "pipelineOperator")) { + const proposal = getPluginOption(plugins, "pipelineOperator", "proposal"); + + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + + const tupleSyntaxIsHash = hasPlugin(plugins, ["recordAndTuple", { + syntaxType: "hash" + }]); + + if (proposal === "hack") { + if (hasPlugin(plugins, "placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + + if (hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + + const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken"); + + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + + if (topicToken === "#" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } else if (proposal === "smart" && tupleSyntaxIsHash) { + throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.'); + } + } + + if (hasPlugin(plugins, "moduleAttributes")) { + { + if (hasPlugin(plugins, "importAssertions")) { + throw new Error("Cannot combine importAssertions and moduleAttributes plugins."); + } + + const moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version"); + + if (moduleAttributesVersionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + } + + if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) { + throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + + if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); + +const defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true +}; +function getOptions(opts) { + const options = {}; + + for (const key of Object.keys(defaultOptions)) { + options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; + } + + return options; +} + +const getOwn = (object, key) => Object.hasOwnProperty.call(object, key) && object[key]; + +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; + +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + + let parenthesized = undefined; + + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordArrowParemeterBindingError(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } else if (parenthesized.type !== "MemberExpression") { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } else { + this.raise(Errors.InvalidParenthesizedAssignment, { + at: node + }); + } + } + + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + break; + + case "ObjectExpression": + node.type = "ObjectPattern"; + + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: node.extra.trailingCommaLoc + }); + } + } + + break; + + case "ObjectProperty": + { + const { + key, + value + } = node; + + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + + this.toAssignable(value, isLHS); + break; + } + + case "SpreadElement": + { + throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller."); + } + + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS); + break; + + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(Errors.MissingEqInAssignment, { + at: node.left.loc.end + }); + } + + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isLHS); + break; + + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + } + + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, { + at: prop.key + }); + } else if (prop.type === "SpreadElement") { + prop.type = "RestElement"; + const arg = prop.argument; + this.checkToRestConversion(arg, false); + this.toAssignable(arg, isLHS); + + if (!isLast) { + this.raise(Errors.RestTrailingComma, { + at: prop + }); + } + } else { + this.toAssignable(prop, isLHS); + } + } + + toAssignableList(exprList, trailingCommaLoc, isLHS) { + const end = exprList.length - 1; + + for (let i = 0; i <= end; i++) { + const elt = exprList[i]; + if (!elt) continue; + + if (elt.type === "SpreadElement") { + elt.type = "RestElement"; + const arg = elt.argument; + this.checkToRestConversion(arg, true); + this.toAssignable(arg, isLHS); + } else { + this.toAssignable(elt, isLHS); + } + + if (elt.type === "RestElement") { + if (i < end) { + this.raise(Errors.RestTrailingComma, { + at: elt + }); + } else if (trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, { + at: trailingCommaLoc + }); + } + } + } + } + + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + return true; + + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + + case "ObjectProperty": + return this.isAssignable(node.value); + + case "SpreadElement": + return this.isAssignable(node.argument); + + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + + case "AssignmentExpression": + return node.operator === "="; + + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + + default: + return false; + } + } + + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + + parseSpread(refExpressionErrors) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined); + return this.finishNode(node, "SpreadElement"); + } + + parseRestBinding() { + const node = this.startNode(); + this.next(); + node.argument = this.parseBindingAtom(); + return this.finishNode(node, "RestElement"); + } + + parseBindingAtom() { + switch (this.state.type) { + case 0: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(3, 93, true); + return this.finishNode(node, "ArrayPattern"); + } + + case 5: + return this.parseObjectLike(8, true); + } + + return this.parseIdentifier(); + } + + parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) { + const elts = []; + let first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + } + + if (allowEmpty && this.match(12)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(21)) { + elts.push(this.parseAssignableListItemTypes(this.parseRestBinding())); + + if (!this.checkCommaAfterRest(closeCharCode)) { + this.expect(close); + break; + } + } else { + const decorators = []; + + if (this.match(26) && this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedParameterDecorator, { + at: this.state.startLoc + }); + } + + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + + elts.push(this.parseAssignableListItem(allowModifiers, decorators)); + } + } + + return elts; + } + + parseBindingRestProperty(prop) { + this.next(); + prop.argument = this.parseIdentifier(); + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + + parseBindingProperty() { + const prop = this.startNode(); + const { + type, + start: startPos, + startLoc + } = this.state; + + if (type === 21) { + return this.parseBindingRestProperty(prop); + } else if (type === 134) { + this.expectPlugin("destructuringPrivate", startLoc); + this.classScope.usePrivateName(this.state.value, startLoc); + prop.key = this.parsePrivateName(); + } else { + this.parsePropertyName(prop); + } + + prop.method = false; + return this.parseObjPropValue(prop, startPos, startLoc, false, false, true, false); + } + + parseAssignableListItem(allowModifiers, decorators) { + const left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + const elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + + parseAssignableListItemTypes(param) { + return param; + } + + parseMaybeDefault(startPos, startLoc, left) { + var _startLoc, _startPos, _left; + + startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc; + startPos = (_startPos = startPos) != null ? _startPos : this.state.start; + left = (_left = left) != null ? _left : this.parseBindingAtom(); + if (!this.eat(29)) return left; + const node = this.startNodeAt(startPos, startLoc); + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + + isValidLVal(type, isUnparenthesizedInAssign, binding) { + return getOwn({ + AssignmentPattern: "left", + RestElement: "argument", + ObjectProperty: "value", + ParenthesizedExpression: "expression", + ArrayPattern: "elements", + ObjectPattern: "properties" + }, type); + } + + checkLVal(expression, { + in: ancestor, + binding = BIND_NONE, + checkClashes = false, + strictModeChanged = false, + allowingSloppyLetBinding = !(binding & BIND_SCOPE_LEXICAL), + hasParenthesizedAncestor = false + }) { + var _expression$extra; + + const type = expression.type; + if (this.isObjectMethod(expression)) return; + + if (type === "MemberExpression") { + if (binding !== BIND_NONE) { + this.raise(Errors.InvalidPropertyBindingPattern, { + at: expression + }); + } + + return; + } + + if (expression.type === "Identifier") { + this.checkIdentifier(expression, binding, strictModeChanged, allowingSloppyLetBinding); + const { + name + } = expression; + + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(Errors.ParamDupe, { + at: expression + }); + } else { + checkClashes.add(name); + } + } + + return; + } + + const validity = this.isValidLVal(expression.type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding); + if (validity === true) return; + + if (validity === false) { + const ParseErrorClass = binding === BIND_NONE ? Errors.InvalidLhs : Errors.InvalidLhsBinding; + this.raise(ParseErrorClass, { + at: expression, + ancestor: ancestor.type === "UpdateExpression" ? { + type: "UpdateExpression", + prefix: ancestor.prefix + } : { + type: ancestor.type + } + }); + return; + } + + const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"]; + const nextAncestor = expression.type === "ArrayPattern" || expression.type === "ObjectPattern" || expression.type === "ParenthesizedExpression" ? expression : ancestor; + + for (const child of [].concat(expression[key])) { + if (child) { + this.checkLVal(child, { + in: nextAncestor, + binding, + checkClashes, + allowingSloppyLetBinding, + strictModeChanged, + hasParenthesizedAncestor: isParenthesizedExpression + }); + } + } + } + + checkIdentifier(at, bindingType, strictModeChanged = false, allowLetBinding = !(bindingType & BIND_SCOPE_LEXICAL)) { + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) { + if (bindingType === BIND_NONE) { + this.raise(Errors.StrictEvalArguments, { + at, + referenceName: at.name + }); + } else { + this.raise(Errors.StrictEvalArgumentsBinding, { + at, + bindingName: at.name + }); + } + } + + if (!allowLetBinding && at.name === "let") { + this.raise(Errors.LetInLexicalBinding, { + at + }); + } + + if (!(bindingType & BIND_NONE)) { + this.declareNameFromIdentifier(at, bindingType); + } + } + + declareNameFromIdentifier(identifier, binding) { + this.scope.declareName(identifier.name, binding, identifier.loc.start); + } + + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "ParenthesizedExpression": + this.checkToRestConversion(node.expression, allowPattern); + break; + + case "Identifier": + case "MemberExpression": + break; + + case "ArrayExpression": + case "ObjectExpression": + if (allowPattern) break; + + default: + this.raise(Errors.InvalidRestAssignmentPattern, { + at: node + }); + } + } + + checkCommaAfterRest(close) { + if (!this.match(12)) { + return false; + } + + this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, { + at: this.state.startLoc + }); + return true; + } + +} + +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, protoRef, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return; + } + + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + + if (name === "__proto__") { + if (isRecord) { + this.raise(Errors.RecordNoProto, { + at: key + }); + return; + } + + if (protoRef.used) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProtoLoc === null) { + refExpressionErrors.doubleProtoLoc = key.loc.start; + } + } else { + this.raise(Errors.DuplicateProto, { + at: key + }); + } + } + + protoRef.used = true; + } + } + + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt; + } + + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + const expr = this.parseExpression(); + + if (!this.match(135)) { + this.unexpected(); + } + + this.finalizeRemainingComments(); + expr.comments = this.state.comments; + expr.errors = this.state.errors; + + if (this.options.tokens) { + expr.tokens = this.tokens; + } + + return expr; + } + + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + + parseExpressionBase(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + + if (this.match(12)) { + const node = this.startNodeAt(startPos, startLoc); + node.expressions = [expr]; + + while (this.eat(12)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + + return expr; + } + + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + + setOptionalParametersError(refExpressionErrors, resultError) { + var _resultError$loc; + + refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc; + } + + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + + if (this.isContextual(105)) { + if (this.prodParam.hasYield) { + let left = this.parseYield(); + + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startPos, startLoc); + } + + return left; + } + } + + let ownExpressionErrors; + + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + + const { + type + } = this.state; + + if (type === 10 || tokenIsIdentifier(type)) { + this.state.potentialArrowAt = this.state.start; + } + + let left = this.parseMaybeConditional(refExpressionErrors); + + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startPos, startLoc); + } + + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startPos, startLoc); + const operator = this.state.value; + node.operator = operator; + + if (this.match(29)) { + this.toAssignable(left, true); + node.left = left; + + if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startPos) { + refExpressionErrors.doubleProtoLoc = null; + } + + if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startPos) { + refExpressionErrors.shorthandAssignLoc = null; + } + + if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startPos) { + this.checkDestructuringPrivate(refExpressionErrors); + refExpressionErrors.privateKeyLoc = null; + } + } else { + node.left = left; + } + + this.next(); + node.right = this.parseMaybeAssign(); + this.checkLVal(left, { + in: this.finishNode(node, "AssignmentExpression") + }); + return node; + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + + return left; + } + + parseMaybeConditional(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseConditional(expr, startPos, startLoc, refExpressionErrors); + } + + parseConditional(expr, startPos, startLoc, refExpressionErrors) { + if (this.eat(17)) { + const node = this.startNodeAt(startPos, startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(14); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + + return expr; + } + + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(134) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + + parseExprOps(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseExprOp(expr, startPos, startLoc, -1); + } + + parseExprOp(left, leftStartPos, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + + if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) { + this.raise(Errors.PrivateInExpectedIn, { + at: left, + identifierName: value + }); + } + + this.classScope.usePrivateName(value, left.loc.start); + } + + const op = this.state.type; + + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) { + let prec = tokenOperatorPrecedence(op); + + if (prec > minPrec) { + if (op === 39) { + this.expectPlugin("pipelineOperator"); + + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + + this.checkPipelineAtInfixOperator(left, leftStartLoc); + } + + const node = this.startNodeAt(leftStartPos, leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 41 || op === 42; + const coalesce = op === 40; + + if (coalesce) { + prec = tokenOperatorPrecedence(42); + } + + this.next(); + + if (op === 39 && this.hasPlugin(["pipelineOperator", { + proposal: "minimal" + }])) { + if (this.state.type === 96 && this.prodParam.hasAwait) { + throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, { + at: this.state.startLoc + }); + } + } + + node.right = this.parseExprOpRightExpr(op, prec); + const finishedNode = this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + + if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) { + throw this.raise(Errors.MixingCoalesceWithLogical, { + at: this.state.startLoc + }); + } + + return this.parseExprOp(finishedNode, leftStartPos, leftStartLoc, minPrec); + } + } + + return left; + } + + parseExprOpRightExpr(op, prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + + switch (op) { + case 39: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + + case "smart": + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(105)) { + throw this.raise(Errors.PipeBodyIsTighter, { + at: this.state.startLoc + }); + } + + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startPos, startLoc); + }); + + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + + parseExprOpBaseRightExpr(op, prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + + parseHackPipeBody() { + var _body$extra; + + const { + startLoc + } = this.state; + const body = this.parseMaybeAssign(); + const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type); + + if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(Errors.PipeUnparenthesizedBody, { + at: startLoc, + type: body.type + }); + } + + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipeTopicUnused, { + at: startLoc + }); + } + + return body; + } + + checkExponentialAfterUnary(node) { + if (this.match(57)) { + this.raise(Errors.UnexpectedTokenUnaryExponentiation, { + at: node.argument + }); + } + } + + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const isAwait = this.isContextual(96); + + if (isAwait && this.isAwaitAllowed()) { + this.next(); + const expr = this.parseAwait(startPos, startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + + const update = this.match(34); + const node = this.startNode(); + + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + + if (this.match(72)) { + this.expectPlugin("throwExpressions"); + } + + const isDelete = this.match(89); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + + if (this.state.strict && isDelete) { + const arg = node.argument; + + if (arg.type === "Identifier") { + this.raise(Errors.StrictDelete, { + at: node + }); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(Errors.DeletePrivateField, { + at: node + }); + } + } + + if (!update) { + if (!sawUnary) { + this.checkExponentialAfterUnary(node); + } + + return this.finishNode(node, "UnaryExpression"); + } + } + + const expr = this.parseUpdate(node, update, refExpressionErrors); + + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + + if (startsExpr && !this.isAmbiguousAwait()) { + this.raiseOverwrite(Errors.AwaitNotInAsyncContext, { + at: startLoc + }); + return this.parseAwait(startPos, startLoc); + } + } + + return expr; + } + + parseUpdate(node, update, refExpressionErrors) { + if (update) { + const updateExpressionNode = node; + this.checkLVal(updateExpressionNode.argument, { + in: this.finishNode(updateExpressionNode, "UpdateExpression") + }); + return node; + } + + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startPos, startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.next(); + this.checkLVal(expr, { + in: expr = this.finishNode(node, "UpdateExpression") + }); + } + + return expr; + } + + parseExprSubscripts(refExpressionErrors) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + + return this.parseSubscripts(expr, startPos, startLoc); + } + + parseSubscripts(base, startPos, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + + do { + base = this.parseSubscript(base, startPos, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + + return base; + } + + parseSubscript(base, startPos, startLoc, noCalls, state) { + const { + type + } = this.state; + + if (!noCalls && type === 15) { + return this.parseBind(base, startPos, startLoc, noCalls, state); + } else if (tokenIsTemplate(type)) { + return this.parseTaggedTemplateExpression(base, startPos, startLoc, state); + } + + let optional = false; + + if (type === 18) { + if (noCalls && this.lookaheadCharCode() === 40) { + state.stop = true; + return base; + } + + state.optionalChainMember = optional = true; + this.next(); + } + + if (!noCalls && this.match(10)) { + return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional); + } else { + const computed = this.eat(0); + + if (computed || optional || this.eat(16)) { + return this.parseMember(base, startPos, startLoc, state, computed, optional); + } else { + state.stop = true; + return base; + } + } + } + + parseMember(base, startPos, startLoc, state, computed, optional) { + const node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.computed = computed; + + if (computed) { + node.property = this.parseExpression(); + this.expect(3); + } else if (this.match(134)) { + if (base.type === "Super") { + this.raise(Errors.SuperPrivateField, { + at: startLoc + }); + } + + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + + parseBind(base, startPos, startLoc, noCalls, state) { + const node = this.startNodeAt(startPos, startLoc); + node.object = base; + this.next(); + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls); + } + + parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + const node = this.startNodeAt(startPos, startLoc); + node.callee = base; + const { + maybeAsyncArrow, + optionalChainMember + } = state; + + if (maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + + if (optionalChainMember) { + node.optional = optional; + } + + if (optional) { + node.arguments = this.parseCallExpressionArguments(11); + } else { + node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors); + } + + let finishedNode = this.finishCallExpression(node, optionalChainMember); + + if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), finishedNode); + } else { + if (maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + + this.toReferencedArguments(finishedNode); + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return finishedNode; + } + + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + + parseTaggedTemplateExpression(base, startPos, startLoc, state) { + const node = this.startNodeAt(startPos, startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + + if (state.optionalChainMember) { + this.raise(Errors.OptionalChainingNoTemplate, { + at: startLoc + }); + } + + return this.finishNode(node, "TaggedTemplateExpression"); + } + + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt; + } + + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 2) { + { + if (!this.hasPlugin("moduleAttributes")) { + this.expectPlugin("importAssertions"); + } + } + } + + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(Errors.ImportCallArity, { + at: node, + maxArgumentCount: this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1 + }); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(Errors.ImportCallSpreadArgument, { + at: arg + }); + } + } + } + } + + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + + parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + + if (this.match(close)) { + if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { + this.raise(Errors.ImportCallArgumentTrailingComma, { + at: this.state.lastTokStartLoc + }); + } + + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + + this.next(); + break; + } + } + + elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder)); + } + + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + + shouldParseAsyncArrow() { + return this.match(19) && !this.canInsertSemicolon(); + } + + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + + this.resetPreviousNodeTrailingComments(call); + this.expect(19); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc); + + if (call.innerComments) { + setInnerComments(node, call.innerComments); + } + + if (call.callee.trailingComments) { + setInnerComments(node, call.callee.trailingComments); + } + + return node; + } + + parseNoCallExpr() { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); + } + + parseExprAtom(refExpressionErrors) { + let node; + const { + type + } = this.state; + + switch (type) { + case 79: + return this.parseSuper(); + + case 83: + node = this.startNode(); + this.next(); + + if (this.match(16)) { + return this.parseImportMetaProperty(node); + } + + if (!this.match(10)) { + this.raise(Errors.UnsupportedImport, { + at: this.state.lastTokStartLoc + }); + } + + return this.finishNode(node, "Import"); + + case 78: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + + case 90: + { + return this.parseDo(this.startNode(), false); + } + + case 56: + case 31: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + + case 130: + return this.parseNumericLiteral(this.state.value); + + case 131: + return this.parseBigIntLiteral(this.state.value); + + case 132: + return this.parseDecimalLiteral(this.state.value); + + case 129: + return this.parseStringLiteral(this.state.value); + + case 84: + return this.parseNullLiteral(); + + case 85: + return this.parseBooleanLiteral(true); + + case 86: + return this.parseBooleanLiteral(false); + + case 10: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + + case 2: + case 1: + { + return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true); + } + + case 0: + { + return this.parseArrayLike(3, true, false, refExpressionErrors); + } + + case 6: + case 7: + { + return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true); + } + + case 5: + { + return this.parseObjectLike(8, false, false, refExpressionErrors); + } + + case 68: + return this.parseFunctionOrFunctionSent(); + + case 26: + this.parseDecorators(); + + case 80: + node = this.startNode(); + this.takeDecorators(node); + return this.parseClass(node, false); + + case 77: + return this.parseNewOrNewTarget(); + + case 25: + case 24: + return this.parseTemplate(false); + + case 15: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(Errors.UnsupportedBind, { + at: callee + }); + } + } + + case 134: + { + this.raise(Errors.PrivateInExpectedIn, { + at: this.state.startLoc, + identifierName: this.state.value + }); + return this.parsePrivateName(); + } + + case 33: + { + return this.parseTopicReferenceThenEqualsSign(54, "%"); + } + + case 32: + { + return this.parseTopicReferenceThenEqualsSign(44, "^"); + } + + case 37: + case 38: + { + return this.parseTopicReference("hack"); + } + + case 44: + case 54: + case 27: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + + if (pipeProposal) { + return this.parseTopicReference(pipeProposal); + } else { + throw this.unexpected(); + } + } + + case 47: + { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + this.expectOnePlugin(["jsx", "flow", "typescript"]); + break; + } else { + throw this.unexpected(); + } + } + + default: + if (tokenIsIdentifier(type)) { + if (this.isContextual(123) && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) { + return this.parseModuleExpression(); + } + + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + const { + type + } = this.state; + + if (type === 68) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseFunction(this.startNodeAtNode(id), undefined, true); + } else if (tokenIsIdentifier(type)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (type === 90) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + + if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + + return id; + } else { + throw this.unexpected(); + } + + } + } + + parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + + if (pipeProposal) { + this.state.type = topicTokenType; + this.state.value = topicTokenValue; + this.state.pos--; + this.state.end--; + this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1); + return this.parseTopicReference(pipeProposal); + } else { + throw this.unexpected(); + } + } + + parseTopicReference(pipeProposal) { + const node = this.startNode(); + const startLoc = this.state.startLoc; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, startLoc, pipeProposal, tokenType); + } + + finishTopicReference(node, startLoc, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { + const nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference"; + + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, { + at: startLoc + }); + } + + this.registerTopicReference(); + return this.finishNode(node, nodeType); + } else { + throw this.raise(Errors.PipeTopicUnconfiguredToken, { + at: startLoc, + token: tokenLabelName(tokenType) + }); + } + } + + testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) { + switch (pipeProposal) { + case "hack": + { + return this.hasPlugin(["pipelineOperator", { + topicToken: tokenLabelName(tokenType) + }]); + } + + case "smart": + return tokenType === 27; + + default: + throw this.raise(Errors.PipeTopicRequiresHackPipes, { + at: startLoc + }); + } + } + + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.LineTerminatorBeforeArrow, { + at: this.state.curPosition() + }); + } + + this.expect(19); + return this.parseArrowExpression(node, params, true); + } + + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + + if (isAsync) { + this.prodParam.enter(PARAM_AWAIT); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + + parseSuper() { + const node = this.startNode(); + this.next(); + + if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.SuperNotAllowed, { + at: node + }); + } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + this.raise(Errors.UnexpectedSuper, { + at: node + }); + } + + if (!this.match(10) && !this.match(0) && !this.match(16)) { + this.raise(Errors.UnsupportedSuper, { + at: node + }); + } + + return this.finishNode(node, "Super"); + } + + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart, this.state.start + 1)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + + if (this.prodParam.hasYield && this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + + if (this.match(102)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + + return this.parseMetaProperty(node, meta, "sent"); + } + + return this.parseFunction(node); + } + + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + + if (node.property.name !== propertyName || containsEsc) { + this.raise(Errors.UnsupportedMetaProperty, { + at: node.property, + target: meta.name, + onlyValidPropertyName: propertyName + }); + } + + return this.finishNode(node, "MetaProperty"); + } + + parseImportMetaProperty(node) { + const id = this.createIdentifier(this.startNodeAtNode(node), "import"); + this.next(); + + if (this.isContextual(100)) { + if (!this.inModule) { + this.raise(Errors.ImportMetaOutsideModule, { + at: id + }); + } + + this.sawUnambiguousESM = true; + } + + return this.parseMetaProperty(node, id, "meta"); + } + + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + + parseRegExpLiteral(value) { + const node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + + parseParenAndDistinguishExpression(canBeArrow) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartPos = this.state.start; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStartLoc; + let optionalCommaStartLoc; + + while (!this.match(11)) { + if (first) { + first = false; + } else { + this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc); + + if (this.match(11)) { + optionalCommaStartLoc = this.state.startLoc; + break; + } + } + + if (this.match(21)) { + const spreadNodeStartPos = this.state.start; + const spreadNodeStartLoc = this.state.startLoc; + spreadStartLoc = this.state.startLoc; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc)); + + if (!this.checkCommaAfterRest(41)) { + break; + } + } else { + exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem)); + } + } + + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(11); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startPos, startLoc); + + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + + this.expressionScope.exit(); + + if (!exprList.length) { + this.unexpected(this.state.lastTokStartLoc); + } + + if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc); + if (spreadStartLoc) this.unexpected(spreadStartLoc); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndLoc); + } else { + val = exprList[0]; + } + + return this.wrapParenthesis(startPos, startLoc, val); + } + + wrapParenthesis(startPos, startLoc, expression) { + if (!this.options.createParenthesizedExpressions) { + this.addExtra(expression, "parenthesized", true); + this.addExtra(expression, "parenStart", startPos); + this.takeSurroundingComments(expression, startPos, this.state.lastTokEndLoc.index); + return expression; + } + + const parenExpression = this.startNodeAt(startPos, startLoc); + parenExpression.expression = expression; + return this.finishNode(parenExpression, "ParenthesizedExpression"); + } + + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + + parseArrow(node) { + if (this.eat(19)) { + return node; + } + } + + parseParenItem(node, startPos, startLoc) { + return node; + } + + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + + if (this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + + if (!this.scope.inNonArrowFunction && !this.scope.inClass) { + this.raise(Errors.UnexpectedNewTarget, { + at: metaProp + }); + } + + return metaProp; + } + + return this.parseNew(node); + } + + parseNew(node) { + this.parseNewCallee(node); + + if (this.eat(10)) { + const args = this.parseExprList(11); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + + return this.finishNode(node, "NewExpression"); + } + + parseNewCallee(node) { + node.callee = this.parseNoCallExpr(); + + if (node.callee.type === "Import") { + this.raise(Errors.ImportCallNotNewExpression, { + at: node.callee + }); + } else if (this.isOptionalChain(node.callee)) { + this.raise(Errors.OptionalChainingNoNew, { + at: this.state.lastTokEndLoc + }); + } else if (this.eat(18)) { + this.raise(Errors.OptionalChainingNoNew, { + at: this.state.startLoc + }); + } + } + + parseTemplateElement(isTagged) { + const { + start, + startLoc, + end, + value + } = this.state; + const elemStart = start + 1; + const elem = this.startNodeAt(elemStart, createPositionWithColumnOffset(startLoc, 1)); + + if (value === null) { + if (!isTagged) { + this.raise(Errors.InvalidEscapeSequenceTemplate, { + at: createPositionWithColumnOffset(startLoc, 2) + }); + } + } + + const isTail = this.match(24); + const endOffset = isTail ? -1 : -2; + const elemEnd = end + endOffset; + elem.value = { + raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"), + cooked: value === null ? null : value.slice(1, endOffset) + }; + elem.tail = isTail; + this.next(); + const finishedNode = this.finishNode(elem, "TemplateElement"); + this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset)); + return finishedNode; + } + + parseTemplate(isTagged) { + const node = this.startNode(); + node.expressions = []; + let curElt = this.parseTemplateElement(isTagged); + node.quasis = [curElt]; + + while (!curElt.tail) { + node.expressions.push(this.parseTemplateSubstitution()); + this.readTemplateContinuation(); + node.quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + + return this.finishNode(node, "TemplateLiteral"); + } + + parseTemplateSubstitution() { + return this.parseExpression(); + } + + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const propHash = Object.create(null); + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(12); + + if (this.match(close)) { + this.addTrailingCommaExtraToNode(node); + break; + } + } + + let prop; + + if (isPattern) { + prop = this.parseBindingProperty(); + } else { + prop = this.parsePropertyDefinition(refExpressionErrors); + this.checkProto(prop, isRecord, propHash, refExpressionErrors); + } + + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(Errors.InvalidRecordProperty, { + at: prop + }); + } + + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + + node.properties.push(prop); + } + + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + + return this.finishNode(node, type); + } + + addTrailingCommaExtraToNode(node) { + this.addExtra(node, "trailingComma", this.state.lastTokStart); + this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); + } + + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55)); + } + + parsePropertyDefinition(refExpressionErrors) { + let decorators = []; + + if (this.match(26)) { + if (this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedPropertyDecorator, { + at: this.state.startLoc + }); + } + + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + + const prop = this.startNode(); + let isAsync = false; + let isAccessor = false; + let startPos; + let startLoc; + + if (this.match(21)) { + if (decorators.length) this.unexpected(); + return this.parseSpread(); + } + + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + + prop.method = false; + + if (refExpressionErrors) { + startPos = this.state.start; + startLoc = this.state.startLoc; + } + + let isGenerator = this.eat(55); + this.parsePropertyNamePrefixOperator(prop); + const containsEsc = this.state.containsEsc; + const key = this.parsePropertyName(prop, refExpressionErrors); + + if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const keyName = key.name; + + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(55); + this.parsePropertyName(prop); + } + + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + + if (this.match(55)) { + isGenerator = true; + this.raise(Errors.AccessorIsGenerator, { + at: this.state.curPosition(), + kind: keyName + }); + this.next(); + } + + this.parsePropertyName(prop); + } + } + + return this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors); + } + + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + + getObjectOrClassMethodParams(method) { + return method.params; + } + + checkGetterSetterParams(method) { + var _params; + + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + + if (params.length !== paramCount) { + this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, { + at: method + }); + } + + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(Errors.BadSetterRestParameter, { + at: method + }); + } + } + + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(finishedProp); + return finishedProp; + } + + if (isAsync || isGenerator || this.match(10)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + + parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + + if (this.eat(14)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors); + return this.finishNode(prop, "ObjectProperty"); + } + + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false); + + if (isPattern) { + prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key)); + } else if (this.match(29)) { + const shorthandAssignLoc = this.state.startLoc; + + if (refExpressionErrors != null) { + if (refExpressionErrors.shorthandAssignLoc === null) { + refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc; + } + } else { + this.raise(Errors.InvalidCoverInitializedName, { + at: shorthandAssignLoc + }); + } + + prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key)); + } else { + prop.value = cloneIdentifier(prop.key); + } + + prop.shorthand = true; + return this.finishNode(prop, "ObjectProperty"); + } + } + + parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + + parsePropertyName(prop, refExpressionErrors) { + if (this.eat(0)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(3); + } else { + const { + type, + value + } = this.state; + let key; + + if (tokenIsKeywordOrIdentifier(type)) { + key = this.parseIdentifier(true); + } else { + switch (type) { + case 130: + key = this.parseNumericLiteral(value); + break; + + case 129: + key = this.parseStringLiteral(value); + break; + + case 131: + key = this.parseBigIntLiteral(value); + break; + + case 132: + key = this.parseDecimalLiteral(value); + break; + + case 134: + { + const privateKeyLoc = this.state.startLoc; + + if (refExpressionErrors != null) { + if (refExpressionErrors.privateKeyLoc === null) { + refExpressionErrors.privateKeyLoc = privateKeyLoc; + } + } else { + this.raise(Errors.UnexpectedPrivateField, { + at: privateKeyLoc + }); + } + + key = this.parsePrivateName(); + break; + } + + default: + throw this.unexpected(); + } + } + + prop.key = key; + + if (type !== 134) { + prop.computed = false; + } + } + + return prop.key; + } + + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = !!isAsync; + } + + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = !!isGenerator; + const allowModifiers = isConstructor; + this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, allowModifiers); + const finishedNode = this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return finishedNode; + } + + parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + + parseArrowExpression(node, params, isAsync, trailingCommaLoc) { + this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW); + let flags = functionFlags(isAsync, false); + + if (!this.match(5) && this.prodParam.hasIn) { + flags |= PARAM_IN; + } + + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaLoc); + } + + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + + setArrowFunctionParameters(node, params, trailingCommaLoc) { + this.toAssignableList(params, trailingCommaLoc, false); + node.params = params; + } + + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + return this.finishNode(node, type); + } + + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(5); + this.expressionScope.enter(newExpressionScope()); + + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + + if (hasStrictModeDirective && nonSimple) { + this.raise(Errors.IllegalLanguageModeDirective, { + at: (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node + }); + } + + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + + if (this.state.strict && node.id) { + this.checkIdentifier(node.id, BIND_OUTSIDE, strictModeChanged); + } + }); + this.prodParam.exit(); + this.state.labels = oldLabels; + } + + this.expressionScope.exit(); + } + + isSimpleParameter(node) { + return node.type === "Identifier"; + } + + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (!this.isSimpleParameter(params[i])) return false; + } + + return true; + } + + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = !allowDuplicates && new Set(); + const formalParameters = { + type: "FormalParameters" + }; + + for (const param of node.params) { + this.checkLVal(param, { + in: formalParameters, + binding: BIND_VAR, + checkClashes, + strictModeChanged + }); + } + } + + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + + if (this.match(close)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + + this.next(); + break; + } + } + + elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors)); + } + + return elts; + } + + parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + + if (this.match(12)) { + if (!allowEmpty) { + this.raise(Errors.UnexpectedToken, { + at: this.state.curPosition(), + unexpected: "," + }); + } + + elt = null; + } else if (this.match(21)) { + const spreadNodeStartPos = this.state.start; + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartPos, spreadNodeStartLoc); + } else if (this.match(17)) { + this.expectPlugin("partialApplication"); + + if (!allowPlaceholder) { + this.raise(Errors.UnexpectedArgumentPlaceholder, { + at: this.state.startLoc + }); + } + + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem); + } + + return elt; + } + + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(node.start, liberal); + return this.createIdentifier(node, name); + } + + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + + parseIdentifierName(pos, liberal) { + let name; + const { + startLoc, + type + } = this.state; + + if (tokenIsKeywordOrIdentifier(type)) { + name = this.state.value; + } else { + throw this.unexpected(); + } + + const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type); + + if (liberal) { + if (tokenIsKeyword) { + this.replaceToken(128); + } + } else { + this.checkReservedWord(name, startLoc, tokenIsKeyword, false); + } + + this.next(); + return name; + } + + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + + if (!canBeReservedWord(word)) { + return; + } + + if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(Errors.YieldBindingIdentifier, { + at: startLoc + }); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(Errors.AwaitBindingIdentifier, { + at: startLoc + }); + return; + } + + if (this.scope.inStaticBlock) { + this.raise(Errors.AwaitBindingIdentifierInStaticBlock, { + at: startLoc + }); + return; + } + + this.expressionScope.recordAsyncArrowParametersError({ + at: startLoc + }); + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(Errors.ArgumentsInClass, { + at: startLoc + }); + return; + } + } + + if (checkKeywords && isKeyword(word)) { + this.raise(Errors.UnexpectedKeyword, { + at: startLoc, + keyword: word + }); + return; + } + + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + + if (reservedTest(word, this.inModule)) { + this.raise(Errors.UnexpectedReservedWord, { + at: startLoc, + reservedWord: word + }); + } + } + + isAwaitAllowed() { + if (this.prodParam.hasAwait) return true; + + if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) { + return true; + } + + return false; + } + + parseAwait(startPos, startLoc) { + const node = this.startNodeAt(startPos, startLoc); + this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, { + at: node + }); + + if (this.eat(55)) { + this.raise(Errors.ObsoleteAwaitStar, { + at: node + }); + } + + if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (this.isAmbiguousAwait()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + + return this.finishNode(node, "AwaitExpression"); + } + + isAmbiguousAwait() { + if (this.hasPrecedingLineBreak()) return true; + const { + type + } = this.state; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 133 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + } + + parseYield() { + const node = this.startNode(); + this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, { + at: node + }); + this.next(); + let delegating = false; + let argument = null; + + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(55); + + switch (this.state.type) { + case 13: + case 135: + case 8: + case 11: + case 3: + case 9: + case 14: + case 12: + if (!delegating) break; + + default: + argument = this.parseMaybeAssign(); + } + } + + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + + checkPipelineAtInfixOperator(left, leftStartLoc) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + if (left.type === "SequenceExpression") { + this.raise(Errors.PipelineHeadSequenceExpression, { + at: leftStartLoc + }); + } + } + } + + parseSmartPipelineBodyInStyle(childExpr, startPos, startLoc) { + if (this.isSimpleReference(childExpr)) { + const bodyNode = this.startNodeAt(startPos, startLoc); + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + const bodyNode = this.startNodeAt(startPos, startLoc); + this.checkSmartPipeTopicBodyEarlyErrors(startLoc); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + + case "Identifier": + return true; + + default: + return false; + } + } + + checkSmartPipeTopicBodyEarlyErrors(startLoc) { + if (this.match(19)) { + throw this.raise(Errors.PipelineBodyNoArrow, { + at: this.state.startLoc + }); + } + + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipelineTopicUnused, { + at: startLoc + }); + } + } + + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + + withSmartMixTopicForbiddingContext(callback) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = PARAM_IN & ~flags; + + if (prodParamToSet) { + this.prodParam.enter(flags | PARAM_IN); + + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + + return callback(); + } + + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = PARAM_IN & flags; + + if (prodParamToClear) { + this.prodParam.enter(flags & ~PARAM_IN); + + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + + return callback(); + } + + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + + parseFSharpPipelineBody(prec) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + this.eat(5); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + const program = this.startNode(); + + try { + node.body = this.parseProgram(program, 8, "module"); + } finally { + revertScopes(); + } + + this.eat(8); + return this.finishNode(node, "ModuleExpression"); + } + + parsePropertyNamePrefixOperator(prop) {} + +} + +const loopLabel = { + kind: "loop" +}, + switchLabel = { + kind: "switch" +}; +const FUNC_NO_FLAGS = 0b000, + FUNC_STATEMENT = 0b001, + FUNC_HANGING_STATEMENT = 0b010, + FUNC_NULLABLE_ID = 0b100; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; + +function babel7CompatTokens(tokens, input) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + + if (typeof type === "number") { + { + if (type === 134) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = createPositionWithColumnOffset(loc.start, 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(27), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(128), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + + if (tokenIsTemplate(type)) { + const { + loc, + start, + value, + end + } = token; + const backquoteEnd = start + 1; + const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); + let startToken; + + if (input.charCodeAt(start) === 96) { + startToken = new Token({ + type: getExportedToken(22), + value: "`", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } else { + startToken = new Token({ + type: getExportedToken(8), + value: "}", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } + + let templateValue, templateElementEnd, templateElementEndLoc, endToken; + + if (type === 24) { + templateElementEnd = end - 1; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1); + templateValue = value === null ? null : value.slice(1, -1); + endToken = new Token({ + type: getExportedToken(22), + value: "`", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } else { + templateElementEnd = end - 2; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2); + templateValue = value === null ? null : value.slice(1, -2); + endToken = new Token({ + type: getExportedToken(23), + value: "${", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } + + tokens.splice(i, 1, startToken, new Token({ + type: getExportedToken(20), + value: templateValue, + start: backquoteEnd, + end: templateElementEnd, + startLoc: backquoteEndLoc, + endLoc: templateElementEndLoc + }), endToken); + i += 2; + continue; + } + } + token.type = getExportedToken(type); + } + } + + return tokens; +} + +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program); + file.comments = this.state.comments; + + if (this.options.tokens) { + file.tokens = babel7CompatTokens(this.tokens, this.input); + } + + return this.finishNode(file, "File"); + } + + parseProgram(program, end = 135, sourceType = this.options.sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + + if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, { + at, + localName + }); + } + } + + return this.finishNode(program, "Program"); + } + + stmtToDirective(stmt) { + const directive = stmt; + directive.type = "Directive"; + directive.value = directive.expression; + delete directive.expression; + const directiveLiteral = directive.value; + const expressionValue = directiveLiteral.value; + const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + this.addExtra(directiveLiteral, "expressionValue", expressionValue); + directiveLiteral.type = "DirectiveLiteral"; + return directive; + } + + parseInterpreterDirective() { + if (!this.match(28)) { + return null; + } + + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + + isLet(context) { + if (!this.isContextual(99)) { + return false; + } + + return this.isLetKeyword(context); + } + + isLetKeyword(context) { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + + if (nextCh === 92 || nextCh === 91) { + return true; + } + + if (context) return false; + if (nextCh === 123) return true; + + if (isIdentifierStart(nextCh)) { + keywordRelationalOperator.lastIndex = next; + + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + + return true; + } + + return false; + } + + parseStatement(context, topLevel) { + if (this.match(26)) { + this.parseDecorators(true); + } + + return this.parseStatementContent(context, topLevel); + } + + parseStatementContent(context, topLevel) { + let starttype = this.state.type; + const node = this.startNode(); + let kind; + + if (this.isLet(context)) { + starttype = 74; + kind = "let"; + } + + switch (starttype) { + case 60: + return this.parseBreakContinueStatement(node, true); + + case 63: + return this.parseBreakContinueStatement(node, false); + + case 64: + return this.parseDebuggerStatement(node); + + case 90: + return this.parseDoStatement(node); + + case 91: + return this.parseForStatement(node); + + case 68: + if (this.lookaheadCharCode() === 46) break; + + if (context) { + if (this.state.strict) { + this.raise(Errors.StrictFunction, { + at: this.state.startLoc + }); + } else if (context !== "if" && context !== "label") { + this.raise(Errors.SloppyFunction, { + at: this.state.startLoc + }); + } + } + + return this.parseFunctionStatement(node, false, !context); + + case 80: + if (context) this.unexpected(); + return this.parseClass(node, true); + + case 69: + return this.parseIfStatement(node); + + case 70: + return this.parseReturnStatement(node); + + case 71: + return this.parseSwitchStatement(node); + + case 72: + return this.parseThrowStatement(node); + + case 73: + return this.parseTryStatement(node); + + case 75: + case 74: + kind = kind || this.state.value; + + if (context && kind !== "var") { + this.raise(Errors.UnexpectedLexicalDeclaration, { + at: this.state.startLoc + }); + } + + return this.parseVarStatement(node, kind); + + case 92: + return this.parseWhileStatement(node); + + case 76: + return this.parseWithStatement(node); + + case 5: + return this.parseBlock(); + + case 13: + return this.parseEmptyStatement(node); + + case 83: + { + const nextTokenCharCode = this.lookaheadCharCode(); + + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + + case 82: + { + if (!this.options.allowImportExportEverywhere && !topLevel) { + this.raise(Errors.UnexpectedImportExport, { + at: this.state.startLoc + }); + } + + this.next(); + let result; + + if (starttype === 83) { + result = this.parseImport(node); + + if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { + this.sawUnambiguousESM = true; + } + } else { + result = this.parseExport(node); + + if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { + this.sawUnambiguousESM = true; + } + } + + this.assertModuleNodeAllowed(result); + return result; + } + + default: + { + if (this.isAsyncFunction()) { + if (context) { + this.raise(Errors.AsyncFunctionInSingleStatementContext, { + at: this.state.startLoc + }); + } + + this.next(); + return this.parseFunctionStatement(node, true, !context); + } + } + } + + const maybeName = this.state.value; + const expr = this.parseExpression(); + + if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) { + return this.parseLabeledStatement(node, maybeName, expr, context); + } else { + return this.parseExpressionStatement(node, expr); + } + } + + assertModuleNodeAllowed(node) { + if (!this.options.allowImportExportEverywhere && !this.inModule) { + this.raise(Errors.ImportOutsideModule, { + at: node + }); + } + } + + takeDecorators(node) { + const decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (decorators.length) { + node.decorators = decorators; + this.resetStartLocationFromNode(node, decorators[0]); + this.state.decoratorStack[this.state.decoratorStack.length - 1] = []; + } + } + + canHaveLeadingDecorator() { + return this.match(80); + } + + parseDecorators(allowExport) { + const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + while (this.match(26)) { + const decorator = this.parseDecorator(); + currentContextDecorators.push(decorator); + } + + if (this.match(82)) { + if (!allowExport) { + this.unexpected(); + } + + if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(Errors.DecoratorExportClass, { + at: this.state.startLoc + }); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(Errors.UnexpectedLeadingDecorator, { + at: this.state.startLoc + }); + } + } + + parseDecorator() { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + const node = this.startNode(); + this.next(); + + if (this.hasPlugin("decorators")) { + this.state.decoratorStack.push([]); + const startPos = this.state.start; + const startLoc = this.state.startLoc; + let expr; + + if (this.match(10)) { + const startPos = this.state.start; + const startLoc = this.state.startLoc; + this.next(); + expr = this.parseExpression(); + this.expect(11); + expr = this.wrapParenthesis(startPos, startLoc, expr); + } else { + expr = this.parseIdentifier(false); + + while (this.eat(16)) { + const node = this.startNodeAt(startPos, startLoc); + node.object = expr; + node.property = this.parseIdentifier(true); + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + } + + node.expression = this.parseMaybeDecoratorArguments(expr); + this.state.decoratorStack.pop(); + } else { + node.expression = this.parseExprSubscripts(); + } + + return this.finishNode(node, "Decorator"); + } + + parseMaybeDecoratorArguments(expr) { + if (this.eat(10)) { + const node = this.startNodeAtNode(expr); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(11, false); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + + return expr; + } + + parseBreakContinueStatement(node, isBreak) { + this.next(); + + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + + verifyBreakContinue(node, isBreak) { + let i; + + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + + if (i === this.state.labels.length) { + const type = isBreak ? "BreakStatement" : "ContinueStatement"; + this.raise(Errors.IllegalBreakContinue, { + at: node, + type + }); + } + } + + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + + parseHeaderExpression() { + this.expect(10); + const val = this.parseExpression(); + this.expect(11); + return val; + } + + parseDoStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("do")); + this.state.labels.pop(); + this.expect(92); + node.test = this.parseHeaderExpression(); + this.eat(13); + return this.finishNode(node, "DoWhileStatement"); + } + + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = null; + + if (this.isAwaitAllowed() && this.eatContextual(96)) { + awaitAt = this.state.lastTokStartLoc; + } + + this.scope.enter(SCOPE_OTHER); + this.expect(10); + + if (this.match(13)) { + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, null); + } + + const startsWithLet = this.isContextual(99); + const isLet = startsWithLet && this.isLetKeyword(); + + if (this.match(74) || this.match(75) || isLet) { + const initNode = this.startNode(); + const kind = isLet ? "let" : this.state.value; + this.next(); + this.parseVar(initNode, true, kind); + const init = this.finishNode(initNode, "VariableDeclaration"); + + if ((this.match(58) || this.isContextual(101)) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, init); + } + + const startsWithAsync = this.isContextual(95); + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual(101); + + if (isForOf) { + if (startsWithLet) { + this.raise(Errors.ForOfLet, { + at: init + }); + } + + if (awaitAt === null && startsWithAsync && init.type === "Identifier") { + this.raise(Errors.ForOfAsync, { + at: init + }); + } + } + + if (isForOf || this.match(58)) { + this.checkDestructuringPrivate(refExpressionErrors); + this.toAssignable(init, true); + const type = isForOf ? "ForOfStatement" : "ForInStatement"; + this.checkLVal(init, { + in: { + type + } + }); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, init); + } + + parseFunctionStatement(node, isAsync, declarationPosition) { + this.next(); + return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync); + } + + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatement("if"); + node.alternate = this.eat(66) ? this.parseStatement("if") : null; + return this.finishNode(node, "IfStatement"); + } + + parseReturnStatement(node) { + if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) { + this.raise(Errors.IllegalReturn, { + at: this.state.startLoc + }); + } + + this.next(); + + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + + return this.finishNode(node, "ReturnStatement"); + } + + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(5); + this.state.labels.push(switchLabel); + this.scope.enter(SCOPE_OTHER); + let cur; + + for (let sawDefault; !this.match(8);) { + if (this.match(61) || this.match(65)) { + const isCase = this.match(61); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(Errors.MultipleDefaultsInSwitch, { + at: this.state.lastTokStartLoc + }); + } + + sawDefault = true; + cur.test = null; + } + + this.expect(14); + } else { + if (cur) { + cur.consequent.push(this.parseStatement(null)); + } else { + this.unexpected(); + } + } + } + + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + + parseThrowStatement(node) { + this.next(); + + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.NewlineAfterThrow, { + at: this.state.lastTokEndLoc + }); + } + + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + const simple = param.type === "Identifier"; + this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0); + this.checkLVal(param, { + in: { + type: "CatchClause" + }, + binding: BIND_LEXICAL, + allowingSloppyLetBinding: true + }); + return param; + } + + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + + if (this.match(62)) { + const clause = this.startNode(); + this.next(); + + if (this.match(10)) { + this.expect(10); + clause.param = this.parseCatchClauseParam(); + this.expect(11); + } else { + clause.param = null; + this.scope.enter(SCOPE_OTHER); + } + + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + + node.finalizer = this.eat(67) ? this.parseBlock() : null; + + if (!node.handler && !node.finalizer) { + this.raise(Errors.NoCatchOrFinally, { + at: node + }); + } + + return this.finishNode(node, "TryStatement"); + } + + parseVarStatement(node, kind, allowMissingInitializer = false) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("while")); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + + parseWithStatement(node) { + if (this.state.strict) { + this.raise(Errors.StrictWith, { + at: this.state.startLoc + }); + } + + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("with")); + return this.finishNode(node, "WithStatement"); + } + + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + + parseLabeledStatement(node, maybeName, expr, context) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(Errors.LabelRedeclaration, { + at: expr, + labelName: maybeName + }); + } + } + + const kind = tokenIsLoop(this.state.type) ? "loop" : this.match(71) ? "switch" : null; + + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + + if (label.statementStart === node.start) { + label.statementStart = this.state.start; + label.kind = kind; + } else { + break; + } + } + + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.state.start + }); + node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + + parseExpressionStatement(node, expr) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + + if (allowDirectives) { + this.state.strictErrors.clear(); + } + + this.expect(5); + + if (createNewLexicalScope) { + this.scope.enter(SCOPE_OTHER); + } + + this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse); + + if (createNewLexicalScope) { + this.scope.exit(); + } + + return this.finishNode(node, "BlockStatement"); + } + + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + + while (!this.match(end)) { + const stmt = this.parseStatement(null, topLevel); + + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + + continue; + } + + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + + body.push(stmt); + } + + if (afterBlockParse) { + afterBlockParse.call(this, hasStrictModeDirective); + } + + if (!oldStrict) { + this.setStrict(false); + } + + this.next(); + } + + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(13) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(11) ? null : this.parseExpression(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for")); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + + parseForIn(node, init, awaitAt) { + const isForIn = this.match(58); + this.next(); + + if (isForIn) { + if (awaitAt !== null) this.unexpected(awaitAt); + } else { + node.await = awaitAt !== null; + } + + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(Errors.ForInOfLoopInitializer, { + at: init, + type: isForIn ? "ForInStatement" : "ForOfStatement" + }); + } + + if (init.type === "AssignmentPattern") { + this.raise(Errors.InvalidLhs, { + at: init, + ancestor: { + type: "ForStatement" + } + }); + } + + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for")); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + + parseVar(node, isFor, kind, allowMissingInitializer = false) { + const declarations = node.declarations = []; + node.kind = kind; + + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + + if (decl.init === null && !allowMissingInitializer) { + if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(101)))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "destructuring" + }); + } else if (kind === "const" && !(this.match(58) || this.isContextual(101))) { + this.raise(Errors.DeclarationMissingInitializer, { + at: this.state.lastTokEndLoc, + kind: "const" + }); + } + } + + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(12)) break; + } + + return node; + } + + parseVarId(decl, kind) { + decl.id = this.parseBindingAtom(); + this.checkLVal(decl.id, { + in: { + type: "VariableDeclarator" + }, + binding: kind === "var" ? BIND_VAR : BIND_LEXICAL + }); + } + + parseFunction(node, statement = FUNC_NO_FLAGS, isAsync = false) { + const isStatement = statement & FUNC_STATEMENT; + const isHangingStatement = statement & FUNC_HANGING_STATEMENT; + const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID); + this.initFunction(node, isAsync); + + if (this.match(55) && isHangingStatement) { + this.raise(Errors.GeneratorInSingleStatementContext, { + at: this.state.startLoc + }); + } + + node.generator = this.eat(55); + + if (isStatement) { + node.id = this.parseFunctionId(requireId); + } + + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(SCOPE_FUNCTION); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + + if (!isStatement) { + node.id = this.parseFunctionId(); + } + + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + + if (isStatement && !isHangingStatement) { + this.registerFunctionStatementId(node); + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + + parseFunctionId(requireId) { + return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null; + } + + parseFunctionParams(node, allowModifiers) { + this.expect(10); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(11, 41, false, allowModifiers); + this.expressionScope.exit(); + } + + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.loc.start); + } + + parseClass(node, isStatement, optionalId) { + this.next(); + this.takeDecorators(node); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + + isClassProperty() { + return this.match(29) || this.match(13) || this.match(8); + } + + isClassMethod() { + return this.match(10); + } + + isNonstaticConstructor(method) { + return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); + } + + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(5); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(8)) { + if (this.eat(13)) { + if (decorators.length > 0) { + throw this.raise(Errors.DecoratorSemicolon, { + at: this.state.lastTokEndLoc + }); + } + + continue; + } + + if (this.match(26)) { + decorators.push(this.parseDecorator()); + continue; + } + + const member = this.startNode(); + + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + + this.parseClassMember(classBody, member, state); + + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(Errors.DecoratorConstructor, { + at: member + }); + } + } + }); + this.state.strict = oldStrict; + this.next(); + + if (decorators.length) { + throw this.raise(Errors.TrailingDecorator, { + at: this.state.startLoc + }); + } + + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + + this.resetPreviousNodeTrailingComments(key); + return false; + } + + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual(104); + + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + + if (this.eat(5)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const accessorProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + this.parsePropertyNamePrefixOperator(member); + + if (this.eat(55)) { + method.kind = "method"; + const isPrivateName = this.match(134); + this.parseClassElementName(method); + + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsGenerator, { + at: publicMethod.key + }); + } + + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + + const isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc; + const isPrivate = this.match(134); + const key = this.parseClassElementName(member); + const maybeQuestionTokenStartLoc = this.state.startLoc; + this.parsePostMemberNameModifiers(publicMember); + + if (this.isClassMethod()) { + method.kind = "method"; + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + + if (isConstructor) { + publicMethod.kind = "constructor"; + + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(Errors.DuplicateConstructor, { + at: key + }); + } + + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(Errors.OverrideOnConstructor, { + at: key + }); + } + + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (isContextual && key.name === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(55); + + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStartLoc); + } + + method.kind = "method"; + const isPrivate = this.match(134); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAsync, { + at: publicMethod.key + }); + } + + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(55) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = key.name; + const isPrivate = this.match(134); + this.parseClassElementName(publicMethod); + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAccessor, { + at: publicMethod.key + }); + } + + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + + this.checkGetterSetterParams(publicMethod); + } else if (isContextual && key.name === "accessor" && !this.isLineTerminator()) { + this.expectPlugin("decoratorAutoAccessors"); + this.resetPreviousNodeTrailingComments(key); + const isPrivate = this.match(134); + this.parseClassElementName(publicProp); + this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + + parseClassElementName(member) { + const { + type, + value + } = this.state; + + if ((type === 128 || type === 129) && member.static && value === "prototype") { + this.raise(Errors.StaticPrototype, { + at: this.state.startLoc + }); + } + + if (type === 134) { + if (value === "constructor") { + this.raise(Errors.ConstructorClassPrivateField, { + at: this.state.startLoc + }); + } + + const key = this.parsePrivateName(); + member.key = key; + return key; + } + + return this.parsePropertyName(member); + } + + parseClassStaticBlock(classBody, member) { + var _member$decorators; + + this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(PARAM); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 8); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(Errors.DecoratorStaticBlock, { + at: member + }); + } + } + + pushClassProperty(classBody, prop) { + if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { + this.raise(Errors.ConstructorClassField, { + at: prop.key + }); + } + + classBody.body.push(this.parseClassProperty(prop)); + } + + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start); + } + + pushClassAccessorProperty(classBody, prop, isPrivate) { + if (!isPrivate && !prop.computed) { + const key = prop.key; + + if (key.name === "constructor" || key.value === "constructor") { + this.raise(Errors.ConstructorClassField, { + at: key + }); + } + } + + const node = this.parseClassAccessorProperty(prop); + classBody.body.push(node); + + if (isPrivate) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start); + } + } + + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node.static ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER; + this.declareClassPrivateMethodInScope(node, kind); + } + + declareClassPrivateMethodInScope(node, kind) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start); + } + + parsePostMemberNameModifiers(methodOrProp) {} + + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + + parseClassAccessorProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassAccessorProperty"); + } + + parseInitializer(node) { + this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(PARAM); + node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + + parseClassId(node, isStatement, optionalId, bindingType = BIND_CLASS) { + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + + if (isStatement) { + this.declareNameFromIdentifier(node.id, bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + throw this.raise(Errors.MissingClassName, { + at: this.state.startLoc + }); + } + } + } + + parseClassSuper(node) { + node.superClass = this.eat(81) ? this.parseExprSubscripts() : null; + } + + parseExport(node) { + const hasDefault = this.maybeParseExportDefaultSpecifier(node); + const parseAfterDefault = !hasDefault || this.eat(12); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12)); + const isFromRequired = hasDefault || hasStar; + + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + this.parseExportFrom(node, true); + return this.finishNode(node, "ExportAllDeclaration"); + } + + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) { + throw this.unexpected(null, 5); + } + + let hasDeclaration; + + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + + if (isFromRequired || hasSpecifiers || hasDeclaration) { + this.checkExport(node, true, false, !!node.source); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + if (this.eat(65)) { + node.declaration = this.parseExportDefaultExpression(); + this.checkExport(node, true, true); + return this.finishNode(node, "ExportDefaultDeclaration"); + } + + throw this.unexpected(null, 5); + } + + eatExportStar(node) { + return this.eat(55); + } + + maybeParseExportDefaultSpecifier(node) { + if (this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = this.parseIdentifier(true); + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + + return false; + } + + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual(93)) { + if (!node.specifiers) node.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + + return false; + } + + maybeParseExportNamedSpecifiers(node) { + if (this.match(5)) { + if (!node.specifiers) node.specifiers = []; + const isTypeExport = node.exportKind === "type"; + node.specifiers.push(...this.parseExportSpecifiers(isTypeExport)); + node.source = null; + node.declaration = null; + + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + + return true; + } + + return false; + } + + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } + + node.declaration = this.parseExportDeclaration(node); + return true; + } + + return false; + } + + isAsyncFunction() { + if (!this.isContextual(95)) return false; + const next = this.nextTokenStart(); + return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function"); + } + + parseExportDefaultExpression() { + const expr = this.startNode(); + const isAsync = this.isAsyncFunction(); + + if (this.match(68) || isAsync) { + this.next(); + + if (isAsync) { + this.next(); + } + + return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync); + } + + if (this.match(80)) { + return this.parseClass(expr, true, true); + } + + if (this.match(26)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + + this.parseDecorators(false); + return this.parseClass(expr, true, true); + } + + if (this.match(75) || this.match(74) || this.isLet()) { + throw this.raise(Errors.UnsupportedDefaultExport, { + at: this.state.startLoc + }); + } + + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + + parseExportDeclaration(node) { + return this.parseStatement(null); + } + + isExportDefaultSpecifier() { + const { + type + } = this.state; + + if (tokenIsIdentifier(type)) { + if (type === 95 && !this.state.containsEsc || type === 99) { + return false; + } + + if ((type === 126 || type === 125) && !this.state.containsEsc) { + const { + type: nextType + } = this.lookahead(); + + if (tokenIsIdentifier(nextType) && nextType !== 97 || nextType === 5) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(65)) { + return false; + } + + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + + if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) { + return true; + } + + if (this.match(65) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + + return false; + } + + parseExportFrom(node, expect) { + if (this.eatContextual(97)) { + node.source = this.parseImportSource(); + this.checkExport(node); + const assertions = this.maybeParseImportAssertions(); + + if (assertions) { + node.assertions = assertions; + this.checkJSONModuleImport(node); + } + } else if (expect) { + this.unexpected(); + } + + this.semicolon(); + } + + shouldParseExportDeclaration() { + const { + type + } = this.state; + + if (type === 26) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport")) { + throw this.raise(Errors.DecoratorBeforeExport, { + at: this.state.startLoc + }); + } + + return true; + } + } + + return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction(); + } + + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + if (isDefault) { + this.checkDuplicateExports(node, "default"); + + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + + const declaration = node.declaration; + + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(Errors.ExportDefaultFromAsIdentifier, { + at: declaration + }); + } + } + } else if (node.specifiers && node.specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportName); + + if (!isFrom && specifier.local) { + const { + local + } = specifier; + + if (local.type !== "Identifier") { + this.raise(Errors.ExportBindingIsString, { + at: specifier, + localName: local.value, + exportName + }); + } else { + this.checkReservedWord(local.name, local.loc.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { + const id = node.declaration.id; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (node.declaration.type === "VariableDeclaration") { + for (const declaration of node.declaration.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + + const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (currentContextDecorators.length) { + throw this.raise(Errors.UnsupportedDecoratorExport, { + at: node + }); + } + } + + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + + checkDuplicateExports(node, exportName) { + if (this.exportedIdentifiers.has(exportName)) { + if (exportName === "default") { + this.raise(Errors.DuplicateDefaultExport, { + at: node + }); + } else { + this.raise(Errors.DuplicateExport, { + at: node, + exportName + }); + } + } + + this.exportedIdentifiers.add(exportName); + } + + parseExportSpecifiers(isInTypeExport) { + const nodes = []; + let first = true; + this.expect(5); + + while (!this.eat(8)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.eat(8)) break; + } + + const isMaybeTypeOnly = this.isContextual(126); + const isString = this.match(129); + const node = this.startNode(); + node.local = this.parseModuleExportName(); + nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); + } + + return nodes; + } + + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = cloneStringLiteral(node.local); + } else if (!node.exported) { + node.exported = cloneIdentifier(node.local); + } + + return this.finishNode(node, "ExportSpecifier"); + } + + parseModuleExportName() { + if (this.match(129)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = result.value.match(loneSurrogate); + + if (surrogate) { + this.raise(Errors.ModuleExportNameHasLoneSurrogate, { + at: result, + surrogateCharCode: surrogate[0].charCodeAt(0) + }); + } + + return result; + } + + return this.parseIdentifier(true); + } + + isJSONModuleImport(node) { + if (node.assertions != null) { + return node.assertions.some(({ + key, + value + }) => { + return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type"); + }); + } + + return false; + } + + checkJSONModuleImport(node) { + if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") { + const { + specifiers + } = node; + + if (node.specifiers != null) { + const nonDefaultNamedSpecifier = specifiers.find(specifier => { + let imported; + + if (specifier.type === "ExportSpecifier") { + imported = specifier.local; + } else if (specifier.type === "ImportSpecifier") { + imported = specifier.imported; + } + + if (imported !== undefined) { + return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default"; + } + }); + + if (nonDefaultNamedSpecifier !== undefined) { + this.raise(Errors.ImportJSONBindingNotDefault, { + at: nonDefaultNamedSpecifier.loc.start + }); + } + } + } + } + + parseImport(node) { + node.specifiers = []; + + if (!this.match(129)) { + const hasDefault = this.maybeParseDefaultImportSpecifier(node); + const parseNext = !hasDefault || this.eat(12); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual(97); + } + + node.source = this.parseImportSource(); + const assertions = this.maybeParseImportAssertions(); + + if (assertions) { + node.assertions = assertions; + } else { + const attributes = this.maybeParseModuleAttributes(); + + if (attributes) { + node.attributes = attributes; + } + } + + this.checkJSONModuleImport(node); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + parseImportSource() { + if (!this.match(129)) this.unexpected(); + return this.parseExprAtom(); + } + + shouldParseDefaultImport(node) { + return tokenIsIdentifier(this.state.type); + } + + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + + finishImportSpecifier(specifier, type) { + this.checkLVal(specifier.local, { + in: specifier, + binding: BIND_LEXICAL + }); + return this.finishNode(specifier, type); + } + + parseAssertEntries() { + const attrs = []; + const attrNames = new Set(); + + do { + if (this.match(8)) { + break; + } + + const node = this.startNode(); + const keyName = this.state.value; + + if (attrNames.has(keyName)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: this.state.startLoc, + key: keyName + }); + } + + attrNames.add(keyName); + + if (this.match(129)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + + this.expect(14); + + if (!this.match(129)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + + return attrs; + } + + maybeParseModuleAttributes() { + if (this.match(76) && !this.hasPrecedingLineBreak()) { + this.expectPlugin("moduleAttributes"); + this.next(); + } else { + if (this.hasPlugin("moduleAttributes")) return []; + return null; + } + + const attrs = []; + const attributes = new Set(); + + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + + if (node.key.name !== "type") { + this.raise(Errors.ModuleAttributeDifferentFromType, { + at: node.key + }); + } + + if (attributes.has(node.key.name)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, { + at: node.key, + key: node.key.name + }); + } + + attributes.add(node.key.name); + this.expect(14); + + if (!this.match(129)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, { + at: this.state.startLoc + }); + } + + node.value = this.parseStringLiteral(this.state.value); + this.finishNode(node, "ImportAttribute"); + attrs.push(node); + } while (this.eat(12)); + + return attrs; + } + + maybeParseImportAssertions() { + if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { + this.expectPlugin("importAssertions"); + this.next(); + } else { + if (this.hasPlugin("importAssertions")) return []; + return null; + } + + this.eat(5); + const attrs = this.parseAssertEntries(); + this.eat(8); + return attrs; + } + + maybeParseDefaultImportSpecifier(node) { + if (this.shouldParseDefaultImport(node)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier"); + return true; + } + + return false; + } + + maybeParseStarImportSpecifier(node) { + if (this.match(55)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual(93); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier"); + return true; + } + + return false; + } + + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(5); + + while (!this.eat(8)) { + if (first) { + first = false; + } else { + if (this.eat(14)) { + throw this.raise(Errors.DestructureNamedImport, { + at: this.state.startLoc + }); + } + + this.expect(12); + if (this.eat(8)) break; + } + + const specifier = this.startNode(); + const importedIsString = this.match(129); + const isMaybeTypeOnly = this.isContextual(126); + specifier.imported = this.parseModuleExportName(); + const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly); + node.specifiers.push(importSpecifier); + } + } + + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, { + at: specifier, + importName: imported.value + }); + } + + this.checkReservedWord(imported.name, specifier.loc.start, true, true); + + if (!specifier.local) { + specifier.local = cloneIdentifier(imported); + } + } + + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } + +} + +class Parser extends StatementParser { + constructor(options, input) { + options = getOptions(options); + super(options, input); + this.options = options; + this.initializeScopes(); + this.plugins = pluginsMap(this.options.plugins); + this.filename = options.sourceFilename; + } + + getScopeHandler() { + return ScopeHandler; + } + + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + this.parseTopLevel(file, program); + file.errors = this.state.errors; + return file; + } + +} + +function pluginsMap(plugins) { + const pluginMap = new Map(); + + for (const plugin of plugins) { + const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}]; + if (!pluginMap.has(name)) pluginMap.set(name, options || {}); + } + + return pluginMap; +} + +function parse(input, options) { + var _options; + + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + + if (parser.sawUnambiguousESM) { + return ast; + } + + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + + if (parser.options.strictMode) { + parser.state.strict = true; + } + + return parser.getExpression(); +} + +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + + return tokenTypes; +} + +const tokTypes = generateExportedTokenTypes(tt); + +function getParser(options, input) { + let cls = Parser; + + if (options != null && options.plugins) { + validatePlugins(options.plugins); + cls = getParserClass(options.plugins); + } + + return new cls(options, input); +} + +const parserClassCache = {}; + +function getParserClass(pluginsFromOptions) { + const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name)); + const key = pluginList.join("/"); + let cls = parserClassCache[key]; + + if (!cls) { + cls = Parser; + + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + + parserClassCache[key] = cls; + } + + return cls; +} + +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js.map b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js.map new file mode 100644 index 00000000..e98cffd7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/@babel/parser/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../src/util/location.ts","../src/parse-error/credentials.ts","../src/parse-error/module-errors.ts","../src/parse-error/to-node-description.ts","../src/parse-error/standard-errors.ts","../src/parse-error/strict-mode-errors.ts","../src/parse-error/pipeline-operator-errors.ts","../src/parse-error.ts","../src/plugins/estree.ts","../src/tokenizer/context.ts","../src/tokenizer/types.ts","../../babel-helper-validator-identifier/src/identifier.ts","../../babel-helper-validator-identifier/src/keyword.ts","../src/util/identifier.ts","../src/util/scopeflags.ts","../src/parser/base.ts","../src/parser/comments.ts","../src/util/whitespace.ts","../src/tokenizer/state.ts","../../babel-helper-string-parser/src/index.ts","../src/tokenizer/index.ts","../src/util/scope.ts","../src/plugins/flow/scope.ts","../src/util/class-scope.ts","../src/util/expression-scope.ts","../src/util/production-parameter.ts","../src/parser/util.ts","../src/parser/node.ts","../src/plugins/flow/index.ts","../src/plugins/jsx/xhtml.ts","../src/plugins/jsx/index.ts","../src/plugins/typescript/scope.ts","../src/plugins/typescript/index.ts","../src/plugins/placeholders.ts","../src/plugins/v8intrinsic.ts","../src/plugin-utils.ts","../src/options.ts","../src/parser/lval.ts","../src/parser/expression.ts","../src/parser/statement.ts","../src/parser/index.ts","../src/index.ts"],"sourcesContent":["export type Pos = {\n start: number;\n};\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n line: number;\n column: number;\n index: number;\n\n constructor(line: number, col: number, index: number) {\n this.line = line;\n this.column = col;\n this.index = index;\n }\n}\n\nexport class SourceLocation {\n start: Position;\n end: Position;\n filename: string;\n identifierName: string | undefined | null;\n\n constructor(start: Position, end?: Position) {\n this.start = start;\n // (may start as null, but initialized later)\n this.end = end;\n }\n}\n\n/**\n * creates a new position with a non-zero column offset from the given position.\n * This function should be only be used when we create AST node out of the token\n * boundaries, such as TemplateElement ends before tt.templateNonTail. This\n * function does not skip whitespaces.\n *\n * @export\n * @param {Position} position\n * @param {number} columnOffset\n * @returns {Position}\n */\nexport function createPositionWithColumnOffset(\n position: Position,\n columnOffset: number,\n) {\n const { line, column, index } = position;\n return new Position(line, column + columnOffset, index + columnOffset);\n}\n","export const enum ParseErrorCode {\n SyntaxError = \"BABEL_PARSER_SYNTAX_ERROR\",\n SourceTypeModuleError = \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\",\n}\n\nexport type SyntaxPlugin =\n | \"flow\"\n | \"typescript\"\n | \"jsx\"\n | \"pipelineOperator\"\n | \"placeholders\";\n\nexport type ToMessage = (self: ErrorDetails) => string;\n\nexport type ParseErrorCredentials = {\n code: ParseErrorCode;\n reasonCode: string;\n syntaxPlugin?: SyntaxPlugin;\n toMessage: ToMessage;\n};\n\nconst reflect = (keys: string[], last = keys.length - 1) => ({\n get(this: unknown): unknown {\n return keys.reduce(\n (object, key) =>\n // @ts-expect-error key should index object\n object[key],\n this,\n );\n },\n set(this: unknown, value: unknown) {\n keys.reduce(\n // @ts-expect-error key should index item\n (item, key, i) => (i === last ? (item[key] = value) : item[key]),\n this,\n );\n },\n});\n\nconst instantiate = (\n constructor: new () => T,\n properties: any,\n descriptors: any,\n) =>\n Object.keys(descriptors)\n .map(key => [key, descriptors[key]])\n .filter(([, descriptor]) => !!descriptor)\n .map(([key, descriptor]) => [\n key,\n typeof descriptor === \"function\"\n ? { value: descriptor, enumerable: false }\n : typeof descriptor.reflect === \"string\"\n ? { ...descriptor, ...reflect(descriptor.reflect.split(\".\")) }\n : descriptor,\n ])\n .reduce(\n (instance, [key, descriptor]) =>\n Object.defineProperty(instance, key, {\n configurable: true,\n ...descriptor,\n }),\n Object.assign(new constructor(), properties),\n );\n\nexport { instantiate };\n","import { ParseErrorCode } from \"../parse-error\";\n\nexport default {\n ImportMetaOutsideModule: {\n message: `import.meta may appear only with 'sourceType: \"module\"'`,\n code: ParseErrorCode.SourceTypeModuleError,\n },\n ImportOutsideModule: {\n message: `'import' and 'export' may appear only with 'sourceType: \"module\"'`,\n code: ParseErrorCode.SourceTypeModuleError,\n },\n};\n","const NodeDescriptions = {\n ArrayPattern: \"array destructuring pattern\",\n AssignmentExpression: \"assignment expression\",\n AssignmentPattern: \"assignment expression\",\n ArrowFunctionExpression: \"arrow function expression\",\n ConditionalExpression: \"conditional expression\",\n CatchClause: \"catch clause\",\n ForOfStatement: \"for-of statement\",\n ForInStatement: \"for-in statement\",\n ForStatement: \"for-loop\",\n FormalParameters: \"function parameter list\",\n Identifier: \"identifier\",\n ImportSpecifier: \"import specifier\",\n ImportDefaultSpecifier: \"import default specifier\",\n ImportNamespaceSpecifier: \"import namespace specifier\",\n ObjectPattern: \"object destructuring pattern\",\n ParenthesizedExpression: \"parenthesized expression\",\n RestElement: \"rest element\",\n UpdateExpression: {\n true: \"prefix operation\",\n false: \"postfix operation\",\n },\n VariableDeclarator: \"variable declaration\",\n YieldExpression: \"yield expression\",\n};\n\ntype NodeTypesWithDescriptions = keyof Omit<\n typeof NodeDescriptions,\n \"UpdateExpression\"\n>;\n\ntype NodeWithDescription =\n | {\n type: \"UpdateExpression\";\n prefix: boolean;\n }\n | {\n type: NodeTypesWithDescriptions;\n };\n\n// @ts-expect-error prefix is specified only when type is UpdateExpression\n// eslint-disable-next-line no-confusing-arrow\nconst toNodeDescription = ({ type, prefix }: NodeWithDescription) =>\n type === \"UpdateExpression\"\n ? NodeDescriptions.UpdateExpression[String(prefix) as \"true\" | \"false\"]\n : NodeDescriptions[type];\n\nexport default toNodeDescription;\n","import toNodeDescription from \"./to-node-description\";\n\nexport type LValAncestor =\n | { type: \"UpdateExpression\"; prefix: boolean }\n | {\n type:\n | \"ArrayPattern\"\n | \"AssignmentExpression\"\n | \"CatchClause\"\n | \"ForOfStatement\"\n | \"FormalParameters\"\n | \"ForInStatement\"\n | \"ForStatement\"\n | \"ImportSpecifier\"\n | \"ImportNamespaceSpecifier\"\n | \"ImportDefaultSpecifier\"\n | \"ObjectPattern\"\n | \"RestElement\"\n | \"VariableDeclarator\";\n };\n\nexport default {\n AccessorIsGenerator: ({ kind }: { kind: \"get\" | \"set\" }) =>\n `A ${kind}ter cannot be a generator.`,\n ArgumentsInClass:\n \"'arguments' is only allowed in functions and class methods.\",\n AsyncFunctionInSingleStatementContext:\n \"Async functions can only be declared at the top level or inside a block.\",\n AwaitBindingIdentifier:\n \"Can not use 'await' as identifier inside an async function.\",\n AwaitBindingIdentifierInStaticBlock:\n \"Can not use 'await' as identifier inside a static block.\",\n AwaitExpressionFormalParameter:\n \"'await' is not allowed in async function parameters.\",\n AwaitNotInAsyncContext:\n \"'await' is only allowed within async functions and at the top levels of modules.\",\n AwaitNotInAsyncFunction: \"'await' is only allowed within async functions.\",\n BadGetterArity: \"A 'get' accesor must not have any formal parameters.\",\n BadSetterArity: \"A 'set' accesor must have exactly one formal parameter.\",\n BadSetterRestParameter:\n \"A 'set' accesor function argument must not be a rest parameter.\",\n ConstructorClassField: \"Classes may not have a field named 'constructor'.\",\n ConstructorClassPrivateField:\n \"Classes may not have a private field named '#constructor'.\",\n ConstructorIsAccessor: \"Class constructor may not be an accessor.\",\n ConstructorIsAsync: \"Constructor can't be an async function.\",\n ConstructorIsGenerator: \"Constructor can't be a generator.\",\n DeclarationMissingInitializer: ({\n kind,\n }: {\n kind: \"const\" | \"destructuring\";\n }) => `Missing initializer in ${kind} declaration.`,\n DecoratorBeforeExport:\n \"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.\",\n DecoratorConstructor:\n \"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",\n DecoratorExportClass:\n \"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",\n DecoratorSemicolon: \"Decorators must not be followed by a semicolon.\",\n DecoratorStaticBlock: \"Decorators can't be used with a static block.\",\n DeletePrivateField: \"Deleting a private field is not allowed.\",\n DestructureNamedImport:\n \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",\n DuplicateConstructor: \"Duplicate constructor in the same class.\",\n DuplicateDefaultExport: \"Only one default export allowed per module.\",\n DuplicateExport: ({ exportName }: { exportName: string }) =>\n `\\`${exportName}\\` has already been exported. Exported identifiers must be unique.`,\n DuplicateProto: \"Redefinition of __proto__ property.\",\n DuplicateRegExpFlags: \"Duplicate regular expression flag.\",\n ElementAfterRest: \"Rest element must be last element.\",\n EscapedCharNotAnIdentifier: \"Invalid Unicode escape.\",\n ExportBindingIsString: ({\n localName,\n exportName,\n }: {\n localName: string;\n exportName: string;\n }) =>\n `A string literal cannot be used as an exported binding without \\`from\\`.\\n- Did you mean \\`export { '${localName}' as '${exportName}' } from 'some-module'\\`?`,\n ExportDefaultFromAsIdentifier:\n \"'from' is not allowed as an identifier after 'export default'.\",\n\n ForInOfLoopInitializer: ({\n type,\n }: {\n type: \"ForInStatement\" | \"ForOfStatement\";\n }) =>\n `'${\n type === \"ForInStatement\" ? \"for-in\" : \"for-of\"\n }' loop variable declaration may not have an initializer.`,\n\n ForOfAsync: \"The left-hand side of a for-of loop may not be 'async'.\",\n ForOfLet: \"The left-hand side of a for-of loop may not start with 'let'.\",\n GeneratorInSingleStatementContext:\n \"Generators can only be declared at the top level or inside a block.\",\n\n IllegalBreakContinue: ({\n type,\n }: {\n type: \"BreakStatement\" | \"ContinueStatement\";\n }) => `Unsyntactic ${type === \"BreakStatement\" ? \"break\" : \"continue\"}.`,\n\n IllegalLanguageModeDirective:\n \"Illegal 'use strict' directive in function with non-simple parameter list.\",\n IllegalReturn: \"'return' outside of function.\",\n ImportBindingIsString: ({ importName }: { importName: string }) =>\n `A string literal cannot be used as an imported binding.\\n- Did you mean \\`import { \"${importName}\" as foo }\\`?`,\n ImportCallArgumentTrailingComma:\n \"Trailing comma is disallowed inside import(...) arguments.\",\n ImportCallArity: ({ maxArgumentCount }: { maxArgumentCount: 1 | 2 }) =>\n `\\`import()\\` requires exactly ${\n maxArgumentCount === 1 ? \"one argument\" : \"one or two arguments\"\n }.`,\n ImportCallNotNewExpression: \"Cannot use new with import(...).\",\n ImportCallSpreadArgument: \"`...` is not allowed in `import()`.\",\n ImportJSONBindingNotDefault:\n \"A JSON module can only be imported with `default`.\",\n IncompatibleRegExpUVFlags:\n \"The 'u' and 'v' regular expression flags cannot be enabled at the same time.\",\n InvalidBigIntLiteral: \"Invalid BigIntLiteral.\",\n InvalidCodePoint: \"Code point out of bounds.\",\n InvalidCoverInitializedName: \"Invalid shorthand property initializer.\",\n InvalidDecimal: \"Invalid decimal.\",\n InvalidDigit: ({ radix }: { radix: number }) =>\n `Expected number in radix ${radix}.`,\n InvalidEscapeSequence: \"Bad character escape sequence.\",\n InvalidEscapeSequenceTemplate: \"Invalid escape sequence in template.\",\n InvalidEscapedReservedWord: ({ reservedWord }: { reservedWord: string }) =>\n `Escape sequence in keyword ${reservedWord}.`,\n InvalidIdentifier: ({ identifierName }: { identifierName: string }) =>\n `Invalid identifier ${identifierName}.`,\n InvalidLhs: ({ ancestor }: { ancestor: LValAncestor }) =>\n `Invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n InvalidLhsBinding: ({ ancestor }: { ancestor: LValAncestor }) =>\n `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n InvalidNumber: \"Invalid number.\",\n InvalidOrMissingExponent:\n \"Floating-point numbers require a valid exponent after the 'e'.\",\n InvalidOrUnexpectedToken: ({ unexpected }: { unexpected: string }) =>\n `Unexpected character '${unexpected}'.`,\n InvalidParenthesizedAssignment: \"Invalid parenthesized assignment pattern.\",\n InvalidPrivateFieldResolution: ({\n identifierName,\n }: {\n identifierName: string;\n }) => `Private name #${identifierName} is not defined.`,\n InvalidPropertyBindingPattern: \"Binding member expression.\",\n InvalidRecordProperty:\n \"Only properties and spread elements are allowed in record definitions.\",\n InvalidRestAssignmentPattern: \"Invalid rest operator's argument.\",\n LabelRedeclaration: ({ labelName }: { labelName: string }) =>\n `Label '${labelName}' is already declared.`,\n LetInLexicalBinding:\n \"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",\n LineTerminatorBeforeArrow: \"No line break is allowed before '=>'.\",\n MalformedRegExpFlags: \"Invalid regular expression flag.\",\n MissingClassName: \"A class name is required.\",\n MissingEqInAssignment:\n \"Only '=' operator can be used for specifying default value.\",\n MissingSemicolon: \"Missing semicolon.\",\n MissingPlugin: ({ missingPlugin }: { missingPlugin: [string] }) =>\n `This experimental syntax requires enabling the parser plugin: ${missingPlugin\n .map(name => JSON.stringify(name))\n .join(\", \")}.`,\n // FIXME: Would be nice to make this \"missingPlugins\" instead.\n // Also, seems like we can drop the \"(s)\" from the message and just make it \"s\".\n MissingOneOfPlugins: ({ missingPlugin }: { missingPlugin: string[] }) =>\n `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin\n .map(name => JSON.stringify(name))\n .join(\", \")}.`,\n MissingUnicodeEscape: \"Expecting Unicode escape sequence \\\\uXXXX.\",\n MixingCoalesceWithLogical:\n \"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",\n ModuleAttributeDifferentFromType:\n \"The only accepted module attribute is `type`.\",\n ModuleAttributeInvalidValue:\n \"Only string literals are allowed as module attribute values.\",\n ModuleAttributesWithDuplicateKeys: ({ key }: { key: string }) =>\n `Duplicate key \"${key}\" is not allowed in module attributes.`,\n ModuleExportNameHasLoneSurrogate: ({\n surrogateCharCode,\n }: {\n surrogateCharCode: number;\n }) =>\n `An export name cannot include a lone surrogate, found '\\\\u${surrogateCharCode.toString(\n 16,\n )}'.`,\n ModuleExportUndefined: ({ localName }: { localName: string }) =>\n `Export '${localName}' is not defined.`,\n MultipleDefaultsInSwitch: \"Multiple default clauses.\",\n NewlineAfterThrow: \"Illegal newline after throw.\",\n NoCatchOrFinally: \"Missing catch or finally clause.\",\n NumberIdentifier: \"Identifier directly after number.\",\n NumericSeparatorInEscapeSequence:\n \"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",\n ObsoleteAwaitStar:\n \"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",\n OptionalChainingNoNew:\n \"Constructors in/after an Optional Chain are not allowed.\",\n OptionalChainingNoTemplate:\n \"Tagged Template Literals are not allowed in optionalChain.\",\n OverrideOnConstructor:\n \"'override' modifier cannot appear on a constructor declaration.\",\n ParamDupe: \"Argument name clash.\",\n PatternHasAccessor: \"Object pattern can't contain getter or setter.\",\n PatternHasMethod: \"Object pattern can't contain methods.\",\n PrivateInExpectedIn: ({ identifierName }: { identifierName: string }) =>\n `Private names are only allowed in property accesses (\\`obj.#${identifierName}\\`) or in \\`in\\` expressions (\\`#${identifierName} in obj\\`).`,\n PrivateNameRedeclaration: ({ identifierName }: { identifierName: string }) =>\n `Duplicate private name #${identifierName}.`,\n RecordExpressionBarIncorrectEndSyntaxType:\n \"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionBarIncorrectStartSyntaxType:\n \"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionHashIncorrectStartSyntaxType:\n \"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n RecordNoProto: \"'__proto__' is not allowed in Record expressions.\",\n RestTrailingComma: \"Unexpected trailing comma after rest element.\",\n SloppyFunction:\n \"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.\",\n StaticPrototype: \"Classes may not have static property named prototype.\",\n SuperNotAllowed:\n \"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",\n SuperPrivateField: \"Private fields can't be accessed on super.\",\n TrailingDecorator: \"Decorators must be attached to a class element.\",\n TupleExpressionBarIncorrectEndSyntaxType:\n \"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionBarIncorrectStartSyntaxType:\n \"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionHashIncorrectStartSyntaxType:\n \"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n UnexpectedArgumentPlaceholder: \"Unexpected argument placeholder.\",\n UnexpectedAwaitAfterPipelineBody:\n 'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',\n UnexpectedDigitAfterHash: \"Unexpected digit after hash token.\",\n UnexpectedImportExport:\n \"'import' and 'export' may only appear at the top level.\",\n UnexpectedKeyword: ({ keyword }: { keyword: string }) =>\n `Unexpected keyword '${keyword}'.`,\n UnexpectedLeadingDecorator:\n \"Leading decorators must be attached to a class declaration.\",\n UnexpectedLexicalDeclaration:\n \"Lexical declaration cannot appear in a single-statement context.\",\n UnexpectedNewTarget:\n \"`new.target` can only be used in functions or class properties.\",\n UnexpectedNumericSeparator:\n \"A numeric separator is only allowed between two digits.\",\n UnexpectedPrivateField: \"Unexpected private name.\",\n UnexpectedReservedWord: ({ reservedWord }: { reservedWord: string }) =>\n `Unexpected reserved word '${reservedWord}'.`,\n UnexpectedSuper: \"'super' is only allowed in object methods and classes.\",\n UnexpectedToken: ({\n expected,\n unexpected,\n }: {\n expected?: string | null;\n unexpected?: string | null;\n }) =>\n `Unexpected token${unexpected ? ` '${unexpected}'.` : \"\"}${\n expected ? `, expected \"${expected}\"` : \"\"\n }`,\n UnexpectedTokenUnaryExponentiation:\n \"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",\n UnsupportedBind: \"Binding should be performed on object property.\",\n UnsupportedDecoratorExport:\n \"A decorated export must export a class declaration.\",\n UnsupportedDefaultExport:\n \"Only expressions, functions or classes are allowed as the `default` export.\",\n UnsupportedImport:\n \"`import` can only be used in `import()` or `import.meta`.\",\n UnsupportedMetaProperty: ({\n target,\n onlyValidPropertyName,\n }: {\n target: string;\n onlyValidPropertyName: string;\n }) =>\n `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`,\n UnsupportedParameterDecorator:\n \"Decorators cannot be used to decorate parameters.\",\n UnsupportedPropertyDecorator:\n \"Decorators cannot be used to decorate object literal properties.\",\n UnsupportedSuper:\n \"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",\n UnterminatedComment: \"Unterminated comment.\",\n UnterminatedRegExp: \"Unterminated regular expression.\",\n UnterminatedString: \"Unterminated string constant.\",\n UnterminatedTemplate: \"Unterminated template.\",\n VarRedeclaration: ({ identifierName }: { identifierName: string }) =>\n `Identifier '${identifierName}' has already been declared.`,\n YieldBindingIdentifier:\n \"Can not use 'yield' as identifier inside a generator.\",\n YieldInParameter: \"Yield expression is not allowed in formal parameters.\",\n ZeroDigitNumericSeparator:\n \"Numeric separator can not be used after leading 0.\",\n};\n","export default {\n StrictDelete: \"Deleting local variable in strict mode.\",\n\n // `referenceName` is the StringValue[1] of an IdentifierReference[2], which\n // is represented as just an `Identifier`[3] in the Babel AST.\n // 1. https://tc39.es/ecma262/#sec-static-semantics-stringvalue\n // 2. https://tc39.es/ecma262/#prod-IdentifierReference\n // 3. https://github.com/babel/babel/blob/main/packages/babel-parser/ast/spec.md#identifier\n StrictEvalArguments: ({ referenceName }: { referenceName: string }) =>\n `Assigning to '${referenceName}' in strict mode.`,\n\n // `bindingName` is the StringValue[1] of a BindingIdentifier[2], which is\n // represented as just an `Identifier`[3] in the Babel AST.\n // 1. https://tc39.es/ecma262/#sec-static-semantics-stringvalue\n // 2. https://tc39.es/ecma262/#prod-BindingIdentifier\n // 3. https://github.com/babel/babel/blob/main/packages/babel-parser/ast/spec.md#identifier\n StrictEvalArgumentsBinding: ({ bindingName }: { bindingName: string }) =>\n `Binding '${bindingName}' in strict mode.`,\n\n StrictFunction:\n \"In strict mode code, functions can only be declared at top level or inside a block.\",\n\n StrictNumericEscape: \"The only valid numeric escape in strict mode is '\\\\0'.\",\n\n StrictOctalLiteral: \"Legacy octal literals are not allowed in strict mode.\",\n\n StrictWith: \"'with' in strict mode.\",\n};\n","import toNodeDescription from \"./to-node-description\";\n\nexport const UnparenthesizedPipeBodyDescriptions = new Set([\n \"ArrowFunctionExpression\",\n \"AssignmentExpression\",\n \"ConditionalExpression\",\n \"YieldExpression\",\n] as const);\n\ntype GetSetMemberType> = T extends Set\n ? M\n : unknown;\n\ntype UnparanthesizedPipeBodyTypes = GetSetMemberType<\n typeof UnparenthesizedPipeBodyDescriptions\n>;\n\nexport default {\n // This error is only used by the smart-mix proposal\n PipeBodyIsTighter:\n \"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",\n PipeTopicRequiresHackPipes:\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n PipeTopicUnbound:\n \"Topic reference is unbound; it must be inside a pipe body.\",\n PipeTopicUnconfiguredToken: ({ token }: { token: string }) =>\n `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"${token}\" }.`,\n PipeTopicUnused:\n \"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",\n PipeUnparenthesizedBody: ({ type }: { type: UnparanthesizedPipeBodyTypes }) =>\n `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({\n type,\n })}; please wrap it in parentheses.`,\n\n // Messages whose codes start with “Pipeline” or “PrimaryTopic”\n // are retained for backwards compatibility\n // with the deprecated smart-mix pipe operator proposal plugin.\n // They are subject to removal in a future major version.\n PipelineBodyNoArrow:\n 'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',\n PipelineBodySequenceExpression:\n \"Pipeline body may not be a comma-separated sequence expression.\",\n PipelineHeadSequenceExpression:\n \"Pipeline head should not be a comma-separated sequence expression.\",\n PipelineTopicUnused:\n \"Pipeline is in topic style but does not use topic reference.\",\n PrimaryTopicNotAllowed:\n \"Topic reference was used in a lexical context without topic binding.\",\n PrimaryTopicRequiresSmartPipeline:\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n};\n","import { Position } from \"./util/location\";\nimport {\n instantiate,\n ParseErrorCode,\n type ParseErrorCredentials,\n type ToMessage,\n type SyntaxPlugin,\n} from \"./parse-error/credentials\";\nimport type { Undone } from \"./parser/node\";\nimport type { Node } from \"./types\";\n\n// Babel uses \"normal\" SyntaxErrors for it's errors, but adds some extra\n// functionality. This functionality is defined in the\n// `ParseErrorSpecification` interface below. We may choose to change to someday\n// give our errors their own full-blown class, but until then this allow us to\n// keep all the desirable properties of SyntaxErrors (like their name in stack\n// traces, etc.), and also allows us to punt on any publicly facing\n// class-hierarchy decisions until Babel 8.\ninterface ParseErrorSpecification {\n // Look, these *could* be readonly, but then Flow complains when we initially\n // set them. We could do a whole dance and make a special interface that's not\n // readonly for when we create the error, then cast it to the readonly\n // interface for public use, but the previous implementation didn't have them\n // as readonly, so let's just not worry about it for now.\n code: ParseErrorCode;\n reasonCode: string;\n syntaxPlugin?: SyntaxPlugin;\n missingPlugin?: string | string[];\n loc: Position;\n details: ErrorDetails;\n\n // We should consider removing this as it now just contains the same\n // information as `loc.index`.\n // pos: number;\n}\n\nexport type ParseError = SyntaxError &\n ParseErrorSpecification;\n\n// By `ParseErrorConstructor`, we mean something like the new-less style\n// `ErrorConstructor`[1], since `ParseError`'s are not themselves actually\n// separate classes from `SyntaxError`'s.\n//\n// 1. https://github.com/microsoft/TypeScript/blob/v4.5.5/lib/lib.es5.d.ts#L1027\nexport type ParseErrorConstructor = (a: {\n loc: Position;\n details: ErrorDetails;\n}) => ParseError;\n\nfunction toParseErrorConstructor({\n toMessage,\n ...properties\n}: ParseErrorCredentials): ParseErrorConstructor {\n type ConstructorArgument = {\n loc: Position;\n details: ErrorDetails;\n };\n\n return function constructor({ loc, details }: ConstructorArgument) {\n return instantiate(\n SyntaxError,\n { ...properties, loc },\n {\n clone(\n overrides: {\n loc?: Position;\n details?: ErrorDetails;\n } = {},\n ) {\n const loc = (overrides.loc || {}) as Partial;\n return constructor({\n loc: new Position(\n \"line\" in loc ? loc.line : this.loc.line,\n \"column\" in loc ? loc.column : this.loc.column,\n \"index\" in loc ? loc.index : this.loc.index,\n ),\n details: { ...this.details, ...overrides.details },\n });\n },\n details: { value: details, enumerable: false },\n message: {\n get(this: ConstructorArgument): string {\n return `${toMessage(this.details)} (${this.loc.line}:${\n this.loc.column\n })`;\n },\n set(value: string) {\n Object.defineProperty(this, \"message\", { value });\n },\n },\n pos: { reflect: \"loc.index\", enumerable: true },\n missingPlugin: \"missingPlugin\" in details && {\n reflect: \"details.missingPlugin\",\n enumerable: true,\n },\n },\n ) as ParseError;\n };\n}\n\ntype ParseErrorTemplate =\n | string\n | ToMessage\n | { message: string | ToMessage };\n\ntype ParseErrorTemplates = { [reasonCode: string]: ParseErrorTemplate };\n\n// This is the templated form of `ParseErrorEnum`.\n//\n// Note: We could factor out the return type calculation into something like\n// `ParseErrorConstructor`, and then we could\n// reuse it in the non-templated form of `ParseErrorEnum`, but TypeScript\n// doesn't seem to drill down that far when showing you the computed type of\n// an object in an editor, so we'll leave it inlined for now.\nexport function ParseErrorEnum(a: TemplateStringsArray): <\n T extends ParseErrorTemplates,\n>(\n parseErrorTemplates: T,\n) => {\n [K in keyof T]: ParseErrorConstructor<\n T[K] extends { message: string | ToMessage }\n ? T[K][\"message\"] extends ToMessage\n ? Parameters[0]\n : {}\n : T[K] extends ToMessage\n ? Parameters[0]\n : {}\n >;\n};\n\nexport function ParseErrorEnum(\n parseErrorTemplates: T,\n syntaxPlugin?: SyntaxPlugin,\n): {\n [K in keyof T]: ParseErrorConstructor<\n T[K] extends { message: string | ToMessage }\n ? T[K][\"message\"] extends ToMessage\n ? Parameters[0]\n : {}\n : T[K] extends ToMessage\n ? Parameters[0]\n : {}\n >;\n};\n\n// You call `ParseErrorEnum` with a mapping from `ReasonCode`'s to either:\n//\n// 1. a static error message,\n// 2. `toMessage` functions that define additional necessary `details` needed by\n// the `ParseError`, or\n// 3. Objects that contain a `message` of one of the above and overridden `code`\n// and/or `reasonCode`:\n//\n// ParseErrorEnum `optionalSyntaxPlugin` ({\n// ErrorWithStaticMessage: \"message\",\n// ErrorWithDynamicMessage: ({ type } : { type: string }) => `${type}`),\n// ErrorWithOverriddenCodeAndOrReasonCode: {\n// message: ({ type }: { type: string }) => `${type}`),\n// code: ParseErrorCode.SourceTypeModuleError,\n// ...(BABEL_8_BREAKING ? { } : { reasonCode: \"CustomErrorReasonCode\" })\n// }\n// });\n//\nexport function ParseErrorEnum(\n argument: TemplateStringsArray | ParseErrorTemplates,\n syntaxPlugin?: SyntaxPlugin,\n) {\n // If the first parameter is an array, that means we were called with a tagged\n // template literal. Extract the syntaxPlugin from this, and call again in\n // the \"normalized\" form.\n if (Array.isArray(argument)) {\n return (parseErrorTemplates: ParseErrorTemplates) =>\n ParseErrorEnum(parseErrorTemplates, argument[0]);\n }\n\n const ParseErrorConstructors = {} as Record<\n string,\n ParseErrorConstructor\n >;\n\n for (const reasonCode of Object.keys(argument)) {\n const template = (argument as ParseErrorTemplates)[reasonCode];\n const { message, ...rest } =\n typeof template === \"string\"\n ? { message: () => template }\n : typeof template === \"function\"\n ? { message: template }\n : template;\n const toMessage = typeof message === \"string\" ? () => message : message;\n\n ParseErrorConstructors[reasonCode] = toParseErrorConstructor({\n code: ParseErrorCode.SyntaxError,\n reasonCode,\n toMessage,\n ...(syntaxPlugin ? { syntaxPlugin } : {}),\n ...rest,\n });\n }\n\n return ParseErrorConstructors;\n}\n\nexport type RaiseProperties = {\n at: Position | Undone;\n} & ErrorDetails;\n\nimport ModuleErrors from \"./parse-error/module-errors\";\nimport StandardErrors from \"./parse-error/standard-errors\";\nimport StrictModeErrors from \"./parse-error/strict-mode-errors\";\nimport PipelineOperatorErrors from \"./parse-error/pipeline-operator-errors\";\n\nexport const Errors = {\n ...ParseErrorEnum(ModuleErrors),\n ...ParseErrorEnum(StandardErrors),\n ...ParseErrorEnum(StrictModeErrors),\n ...ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors),\n};\n\nexport type { LValAncestor } from \"./parse-error/standard-errors\";\n\nexport * from \"./parse-error/credentials\";\n","import { type TokenType } from \"../tokenizer/types\";\nimport type Parser from \"../parser\";\nimport type { ExpressionErrors } from \"../parser/util\";\nimport * as N from \"../types\";\nimport type { Node as NodeType, NodeBase, File } from \"../types\";\nimport type { Position } from \"../util/location\";\nimport { Errors } from \"../parse-error\";\nimport type { Undone } from \"../parser/node\";\nimport type { BindingTypes } from \"../util/scopeflags\";\n\nconst { defineProperty } = Object;\nconst toUnenumerable = (object: any, key: string) =>\n defineProperty(object, key, { enumerable: false, value: object[key] });\n\nfunction toESTreeLocation(node: any) {\n node.loc.start && toUnenumerable(node.loc.start, \"index\");\n node.loc.end && toUnenumerable(node.loc.end, \"index\");\n\n return node;\n}\n\nexport default (superClass: typeof Parser) =>\n class ESTreeParserMixin extends superClass implements Parser {\n parse(): File {\n const file = toESTreeLocation(super.parse());\n\n if (this.options.tokens) {\n file.tokens = file.tokens.map(toESTreeLocation);\n }\n\n return file;\n }\n\n // @ts-expect-error ESTree plugin changes node types\n parseRegExpLiteral({ pattern, flags }): N.EstreeRegExpLiteral {\n let regex: RegExp | null = null;\n try {\n regex = new RegExp(pattern, flags);\n } catch (e) {\n // In environments that don't support these flags value will\n // be null as the regex can't be represented natively.\n }\n const node = this.estreeParseLiteral(regex);\n node.regex = { pattern, flags };\n\n return node;\n }\n\n // @ts-expect-error ESTree plugin changes node types\n parseBigIntLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/es2020.md#bigintliteral\n let bigInt: BigInt | null;\n try {\n bigInt = BigInt(value);\n } catch {\n bigInt = null;\n }\n const node = this.estreeParseLiteral(bigInt);\n node.bigint = String(node.value || value);\n\n return node;\n }\n\n // @ts-expect-error ESTree plugin changes node types\n parseDecimalLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/experimental/decimal.md\n // todo: use BigDecimal when node supports it.\n const decimal: null = null;\n const node = this.estreeParseLiteral(decimal);\n node.decimal = String(node.value || value);\n\n return node;\n }\n\n estreeParseLiteral(value: any) {\n // @ts-expect-error ESTree plugin changes node types\n return this.parseLiteral(value, \"Literal\");\n }\n\n // @ts-expect-error ESTree plugin changes node types\n parseStringLiteral(value: any): N.Node {\n return this.estreeParseLiteral(value);\n }\n\n parseNumericLiteral(value: any): any {\n return this.estreeParseLiteral(value);\n }\n\n // @ts-expect-error ESTree plugin changes node types\n parseNullLiteral(): N.Node {\n return this.estreeParseLiteral(null);\n }\n\n parseBooleanLiteral(value: boolean): N.BooleanLiteral {\n return this.estreeParseLiteral(value);\n }\n\n directiveToStmt(directive: N.Directive): N.ExpressionStatement {\n const directiveLiteral = directive.value;\n\n const stmt = this.startNodeAt(\n directive.start,\n directive.loc.start,\n );\n const expression = this.startNodeAt(\n directiveLiteral.start,\n directiveLiteral.loc.start,\n );\n\n expression.value = directiveLiteral.extra.expressionValue;\n // @ts-expect-error TS2339: Property 'raw' does not exist on type 'Undone '.\n expression.raw = directiveLiteral.extra.raw;\n\n stmt.expression = this.finishNodeAt(\n expression,\n \"Literal\",\n directiveLiteral.loc.end,\n );\n // @ts-expect-error N.Directive.value is not defined\n stmt.directive = directiveLiteral.extra.raw.slice(1, -1);\n\n return this.finishNodeAt(\n stmt,\n \"ExpressionStatement\",\n directive.loc.end,\n ) as N.ExpressionStatement;\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n initFunction(\n node: N.BodilessFunctionOrMethodBase,\n isAsync?: boolean | null,\n ): void {\n super.initFunction(node, isAsync);\n node.expression = false;\n }\n\n checkDeclaration(node: N.Pattern | N.ObjectProperty): void {\n if (node != null && this.isObjectProperty(node)) {\n // @ts-expect-error plugin typings\n this.checkDeclaration((node as unknown as N.EstreeProperty).value);\n } else {\n super.checkDeclaration(node);\n }\n }\n\n getObjectOrClassMethodParams(method: N.ObjectMethod | N.ClassMethod) {\n return (method as any as N.EstreeProperty | N.EstreeMethodDefinition)\n .value.params;\n }\n\n isValidDirective(stmt: N.Statement): boolean {\n return (\n stmt.type === \"ExpressionStatement\" &&\n stmt.expression.type === \"Literal\" &&\n typeof stmt.expression.value === \"string\" &&\n !stmt.expression.extra?.parenthesized\n );\n }\n\n parseBlockBody(\n node: N.BlockStatementLike,\n allowDirectives: boolean | undefined | null,\n topLevel: boolean,\n end: TokenType,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void,\n ): void {\n super.parseBlockBody(\n node,\n allowDirectives,\n topLevel,\n end,\n afterBlockParse,\n );\n\n const directiveStatements = node.directives.map(d =>\n this.directiveToStmt(d),\n );\n // @ts-expect-error estree plugin typings\n node.body = directiveStatements.concat(node.body);\n delete node.directives;\n }\n\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n this.parseMethod(\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n \"ClassMethod\",\n true,\n );\n if (method.typeParameters) {\n // @ts-expect-error\n method.value.typeParameters = method.typeParameters;\n delete method.typeParameters;\n }\n classBody.body.push(method);\n }\n\n parsePrivateName(): any {\n const node = super.parsePrivateName();\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return node;\n }\n }\n return this.convertPrivateNameToPrivateIdentifier(node);\n }\n\n convertPrivateNameToPrivateIdentifier(\n node: N.PrivateName,\n ): N.EstreePrivateIdentifier {\n const name = super.getPrivateNameSV(node);\n node = node as any;\n delete node.id;\n // @ts-expect-error mutate AST types\n node.name = name;\n // @ts-expect-error mutate AST types\n node.type = \"PrivateIdentifier\";\n return node as unknown as N.EstreePrivateIdentifier;\n }\n\n isPrivateName(node: N.Node): boolean {\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.isPrivateName(node);\n }\n }\n return node.type === \"PrivateIdentifier\";\n }\n\n getPrivateNameSV(node: N.Node): string {\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.getPrivateNameSV(node);\n }\n }\n return node.name;\n }\n\n // @ts-expect-error plugin may override interfaces\n parseLiteral(value: any, type: T[\"type\"]): T {\n const node = super.parseLiteral(value, type);\n // @ts-expect-error mutating AST types\n node.raw = node.extra.raw;\n delete node.extra;\n\n return node;\n }\n\n parseFunctionBody(\n node: N.Function,\n allowExpression?: boolean | null,\n isMethod: boolean = false,\n ): void {\n super.parseFunctionBody(node, allowExpression, isMethod);\n node.expression = node.body.type !== \"BlockStatement\";\n }\n\n // @ts-expect-error plugin may override interfaces\n parseMethod<\n T extends N.ClassPrivateMethod | N.ObjectMethod | N.ClassMethod,\n >(\n node: Undone,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowDirectSuper: boolean,\n type: T[\"type\"],\n inClassScope: boolean = false,\n ): N.EstreeMethodDefinition {\n let funcNode = this.startNode();\n funcNode.kind = node.kind; // provide kind, so super method correctly sets state\n funcNode = super.parseMethod(\n // @ts-expect-error todo(flow->ts)\n funcNode,\n isGenerator,\n isAsync,\n isConstructor,\n allowDirectSuper,\n type,\n inClassScope,\n );\n // @ts-expect-error mutate AST types\n funcNode.type = \"FunctionExpression\";\n delete funcNode.kind;\n // @ts-expect-error\n node.value = funcNode;\n if (type === \"ClassPrivateMethod\") {\n node.computed = false;\n }\n return this.finishNode(\n // @ts-expect-error cast methods to estree types\n node as Undone,\n \"MethodDefinition\",\n );\n }\n\n parseClassProperty(...args: [N.ClassProperty]): any {\n const propertyNode = super.parseClassProperty(...args) as any;\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode as N.EstreePropertyDefinition;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n return propertyNode as N.EstreePropertyDefinition;\n }\n\n parseClassPrivateProperty(...args: [N.ClassPrivateProperty]): any {\n const propertyNode = super.parseClassPrivateProperty(...args) as any;\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode as N.EstreePropertyDefinition;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n propertyNode.computed = false;\n return propertyNode as N.EstreePropertyDefinition;\n }\n\n parseObjectMethod(\n prop: N.ObjectMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n ): N.ObjectMethod | undefined | null {\n const node: N.EstreeProperty = super.parseObjectMethod(\n prop,\n isGenerator,\n isAsync,\n isPattern,\n isAccessor,\n ) as any;\n\n if (node) {\n node.type = \"Property\";\n if ((node as any as N.ClassMethod).kind === \"method\") {\n node.kind = \"init\";\n }\n node.shorthand = false;\n }\n\n return node as any;\n }\n\n parseObjectProperty(\n prop: N.ObjectProperty,\n startPos: number | undefined | null,\n startLoc: Position | undefined | null,\n isPattern: boolean,\n refExpressionErrors?: ExpressionErrors | null,\n ): N.ObjectProperty | undefined | null {\n const node: N.EstreeProperty = super.parseObjectProperty(\n prop,\n startPos,\n startLoc,\n isPattern,\n refExpressionErrors,\n ) as any;\n\n if (node) {\n node.kind = \"init\";\n node.type = \"Property\";\n }\n\n return node as any;\n }\n\n isValidLVal(\n type: string,\n isUnparenthesizedInAssign: boolean,\n binding: BindingTypes,\n ) {\n return type === \"Property\"\n ? \"value\"\n : super.isValidLVal(type, isUnparenthesizedInAssign, binding);\n }\n\n isAssignable(node: N.Node, isBinding?: boolean): boolean {\n if (node != null && this.isObjectProperty(node)) {\n return this.isAssignable(node.value, isBinding);\n }\n return super.isAssignable(node, isBinding);\n }\n\n toAssignable(node: N.Node, isLHS: boolean = false): void {\n if (node != null && this.isObjectProperty(node)) {\n const { key, value } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(\n this.getPrivateNameSV(key),\n key.loc.start,\n );\n }\n this.toAssignable(value, isLHS);\n } else {\n super.toAssignable(node, isLHS);\n }\n }\n\n toAssignableObjectExpressionProp(\n prop: N.Node,\n isLast: boolean,\n isLHS: boolean,\n ) {\n if (prop.kind === \"get\" || prop.kind === \"set\") {\n this.raise(Errors.PatternHasAccessor, { at: prop.key });\n } else if (prop.method) {\n this.raise(Errors.PatternHasMethod, { at: prop.key });\n } else {\n super.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n }\n }\n\n finishCallExpression(\n unfinished: Undone,\n optional: boolean,\n ): T {\n const node = super.finishCallExpression(unfinished, optional);\n\n if (node.callee.type === \"Import\") {\n (node as N.Node as N.EstreeImportExpression).type = \"ImportExpression\";\n (node as N.Node as N.EstreeImportExpression).source = node.arguments[0];\n if (this.hasPlugin(\"importAssertions\")) {\n (node as N.Node as N.EstreeImportExpression).attributes =\n node.arguments[1] ?? null;\n }\n // arguments isn't optional in the type definition\n delete node.arguments;\n // callee isn't optional in the type definition\n delete node.callee;\n }\n\n return node;\n }\n\n toReferencedArguments(\n node:\n | N.CallExpression\n | N.OptionalCallExpression\n | N.EstreeImportExpression,\n /* isParenthesizedExpr?: boolean, */\n ) {\n // ImportExpressions do not have an arguments array.\n if (node.type === \"ImportExpression\") {\n return;\n }\n\n super.toReferencedArguments(node);\n }\n\n parseExport(unfinished: Undone) {\n const node = super.parseExport(unfinished);\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n // @ts-expect-error mutating AST types\n node.exported = null;\n break;\n\n case \"ExportNamedDeclaration\":\n if (\n node.specifiers.length === 1 &&\n // @ts-expect-error mutating AST types\n node.specifiers[0].type === \"ExportNamespaceSpecifier\"\n ) {\n // @ts-expect-error mutating AST types\n node.type = \"ExportAllDeclaration\";\n // @ts-expect-error mutating AST types\n node.exported = node.specifiers[0].exported;\n delete node.specifiers;\n }\n\n break;\n }\n\n return node as N.AnyExport;\n }\n\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: boolean | undefined | null,\n state: N.ParseSubscriptState,\n ) {\n const node = super.parseSubscript(\n base,\n startPos,\n startLoc,\n noCalls,\n state,\n );\n\n if (state.optionalChainMember) {\n // https://github.com/estree/estree/blob/master/es2020.md#chainexpression\n if (\n node.type === \"OptionalMemberExpression\" ||\n node.type === \"OptionalCallExpression\"\n ) {\n node.type = node.type.substring(8); // strip Optional prefix\n }\n if (state.stop) {\n const chain = this.startNodeAtNode(node);\n chain.expression = node;\n return this.finishNode(chain, \"ChainExpression\");\n }\n } else if (\n node.type === \"MemberExpression\" ||\n node.type === \"CallExpression\"\n ) {\n node.optional = false;\n }\n\n return node;\n }\n\n hasPropertyAsPrivateName(node: N.Node): boolean {\n if (node.type === \"ChainExpression\") {\n node = node.expression;\n }\n return super.hasPropertyAsPrivateName(node);\n }\n\n isOptionalChain(node: N.Node): boolean {\n return node.type === \"ChainExpression\";\n }\n\n // @ts-expect-error override interfaces\n isObjectProperty(node: N.Node): boolean {\n return node.type === \"Property\" && node.kind === \"init\" && !node.method;\n }\n\n isObjectMethod(node: N.Node): boolean {\n return node.method || node.kind === \"get\" || node.kind === \"set\";\n }\n\n finishNodeAt(\n node: Undone,\n type: T[\"type\"],\n endLoc: Position,\n ): T {\n return toESTreeLocation(super.finishNodeAt(node, type, endLoc));\n }\n\n resetStartLocation(node: N.Node, start: number, startLoc: Position) {\n super.resetStartLocation(node, start, startLoc);\n toESTreeLocation(node);\n }\n\n resetEndLocation(\n node: NodeBase,\n endLoc: Position = this.state.lastTokEndLoc,\n ): void {\n super.resetEndLocation(node, endLoc);\n toESTreeLocation(node);\n }\n };\n","// The token context is used in JSX plugin to track\n// jsx tag / jsx text / normal JavaScript expression\n\nexport class TokContext {\n constructor(token: string, preserveSpace?: boolean) {\n this.token = token;\n this.preserveSpace = !!preserveSpace;\n }\n\n token: string;\n preserveSpace: boolean;\n}\n\nconst types: {\n [key: string]: TokContext;\n} = {\n brace: new TokContext(\"{\"), // normal JavaScript expression\n j_oTag: new TokContext(\"...\", true), // JSX expressions\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n types.template = new TokContext(\"`\", true);\n}\n\nexport { types };\n","import { types as tc, type TokContext } from \"./context\";\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between 1) binary\n// expression (<) and JSX Tag start (); 2) object literal and JSX\n// texts. It is set on the `updateContext` function in the JSX plugin.\n\n// The `startsExpr` property is used to determine whether an expression\n// may be the “argument” subexpression of a `yield` expression or\n// `yield` statement. It is set on all token types that may be at the\n// start of a subexpression.\n\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nconst beforeExpr = true;\nconst startsExpr = true;\nconst isLoop = true;\nconst isAssign = true;\nconst prefix = true;\nconst postfix = true;\n\ntype TokenOptions = {\n keyword?: string;\n beforeExpr?: boolean;\n startsExpr?: boolean;\n rightAssociative?: boolean;\n isLoop?: boolean;\n isAssign?: boolean;\n prefix?: boolean;\n postfix?: boolean;\n binop?: number | null;\n};\n\n// Internally the tokenizer stores token as a number\nexport type TokenType = number;\n\n// The `ExportedTokenType` is exported via `tokTypes` and accessible\n// when `tokens: true` is enabled. Unlike internal token type, it provides\n// metadata of the tokens.\nexport class ExportedTokenType {\n label: string;\n keyword: string | undefined | null;\n beforeExpr: boolean;\n startsExpr: boolean;\n rightAssociative: boolean;\n isLoop: boolean;\n isAssign: boolean;\n prefix: boolean;\n postfix: boolean;\n binop: number | undefined | null;\n // todo(Babel 8): remove updateContext from exposed token layout\n declare updateContext:\n | ((context: Array) => void)\n | undefined\n | null;\n\n constructor(label: string, conf: TokenOptions = {}) {\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.rightAssociative = !!conf.rightAssociative;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop != null ? conf.binop : null;\n if (!process.env.BABEL_8_BREAKING) {\n this.updateContext = null;\n }\n }\n}\n\n// A map from keyword/keyword-like string value to the token type\nexport const keywords = new Map();\n\nfunction createKeyword(name: string, options: TokenOptions = {}): TokenType {\n options.keyword = name;\n const token = createToken(name, options);\n keywords.set(name, token);\n return token;\n}\n\nfunction createBinop(name: string, binop: number) {\n return createToken(name, { beforeExpr, binop });\n}\n\nlet tokenTypeCounter = -1;\nexport const tokenTypes: ExportedTokenType[] = [];\nconst tokenLabels: string[] = [];\nconst tokenBinops: number[] = [];\nconst tokenBeforeExprs: boolean[] = [];\nconst tokenStartsExprs: boolean[] = [];\nconst tokenPrefixes: boolean[] = [];\n\nfunction createToken(name: string, options: TokenOptions = {}): TokenType {\n ++tokenTypeCounter;\n tokenLabels.push(name);\n tokenBinops.push(options.binop ?? -1);\n tokenBeforeExprs.push(options.beforeExpr ?? false);\n tokenStartsExprs.push(options.startsExpr ?? false);\n tokenPrefixes.push(options.prefix ?? false);\n tokenTypes.push(new ExportedTokenType(name, options));\n\n return tokenTypeCounter;\n}\n\nfunction createKeywordLike(\n name: string,\n options: TokenOptions = {},\n): TokenType {\n ++tokenTypeCounter;\n keywords.set(name, tokenTypeCounter);\n tokenLabels.push(name);\n tokenBinops.push(options.binop ?? -1);\n tokenBeforeExprs.push(options.beforeExpr ?? false);\n tokenStartsExprs.push(options.startsExpr ?? false);\n tokenPrefixes.push(options.prefix ?? false);\n // In the exported token type, we set the label as \"name\" for backward compatibility with Babel 7\n tokenTypes.push(new ExportedTokenType(\"name\", options));\n\n return tokenTypeCounter;\n}\n\n// For performance the token type helpers depend on the following declarations order.\n// When adding new token types, please also check if the token helpers need update.\n\nexport type InternalTokenTypes = {\n [name: string]: TokenType;\n};\n\nexport const tt: InternalTokenTypes = {\n // Punctuation token types.\n bracketL: createToken(\"[\", { beforeExpr, startsExpr }),\n bracketHashL: createToken(\"#[\", { beforeExpr, startsExpr }),\n bracketBarL: createToken(\"[|\", { beforeExpr, startsExpr }),\n bracketR: createToken(\"]\"),\n bracketBarR: createToken(\"|]\"),\n braceL: createToken(\"{\", { beforeExpr, startsExpr }),\n braceBarL: createToken(\"{|\", { beforeExpr, startsExpr }),\n braceHashL: createToken(\"#{\", { beforeExpr, startsExpr }),\n braceR: createToken(\"}\"),\n braceBarR: createToken(\"|}\"),\n parenL: createToken(\"(\", { beforeExpr, startsExpr }),\n parenR: createToken(\")\"),\n comma: createToken(\",\", { beforeExpr }),\n semi: createToken(\";\", { beforeExpr }),\n colon: createToken(\":\", { beforeExpr }),\n doubleColon: createToken(\"::\", { beforeExpr }),\n dot: createToken(\".\"),\n question: createToken(\"?\", { beforeExpr }),\n questionDot: createToken(\"?.\"),\n arrow: createToken(\"=>\", { beforeExpr }),\n template: createToken(\"template\"),\n ellipsis: createToken(\"...\", { beforeExpr }),\n backQuote: createToken(\"`\", { startsExpr }),\n dollarBraceL: createToken(\"${\", { beforeExpr, startsExpr }),\n // start: isTemplate\n templateTail: createToken(\"...`\", { startsExpr }),\n templateNonTail: createToken(\"...${\", { beforeExpr, startsExpr }),\n // end: isTemplate\n at: createToken(\"@\"),\n hash: createToken(\"#\", { startsExpr }),\n\n // Special hashbang token.\n interpreterDirective: createToken(\"#!...\"),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n // start: isAssign\n eq: createToken(\"=\", { beforeExpr, isAssign }),\n assign: createToken(\"_=\", { beforeExpr, isAssign }),\n slashAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // These are only needed to support % and ^ as a Hack-pipe topic token.\n // When the proposal settles on a token, the others can be merged with\n // tt.assign.\n xorAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n moduloAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // end: isAssign\n\n incDec: createToken(\"++/--\", { prefix, postfix, startsExpr }),\n bang: createToken(\"!\", { beforeExpr, prefix, startsExpr }),\n tilde: createToken(\"~\", { beforeExpr, prefix, startsExpr }),\n\n // More possible topic tokens.\n // When the proposal settles on a token, at least one of these may be removed.\n doubleCaret: createToken(\"^^\", { startsExpr }),\n doubleAt: createToken(\"@@\", { startsExpr }),\n\n // start: isBinop\n pipeline: createBinop(\"|>\", 0),\n nullishCoalescing: createBinop(\"??\", 1),\n logicalOR: createBinop(\"||\", 1),\n logicalAND: createBinop(\"&&\", 2),\n bitwiseOR: createBinop(\"|\", 3),\n bitwiseXOR: createBinop(\"^\", 4),\n bitwiseAND: createBinop(\"&\", 5),\n equality: createBinop(\"==/!=/===/!==\", 6),\n lt: createBinop(\"/<=/>=\", 7),\n gt: createBinop(\"/<=/>=\", 7),\n relational: createBinop(\"/<=/>=\", 7),\n bitShift: createBinop(\"<>/>>>\", 8),\n bitShiftL: createBinop(\"<>/>>>\", 8),\n bitShiftR: createBinop(\"<>/>>>\", 8),\n plusMin: createToken(\"+/-\", { beforeExpr, binop: 9, prefix, startsExpr }),\n // startsExpr: required by v8intrinsic plugin\n modulo: createToken(\"%\", { binop: 10, startsExpr }),\n // unset `beforeExpr` as it can be `function *`\n star: createToken(\"*\", { binop: 10 }),\n slash: createBinop(\"/\", 10),\n exponent: createToken(\"**\", {\n beforeExpr,\n binop: 11,\n rightAssociative: true,\n }),\n\n // Keywords\n // Don't forget to update packages/babel-helper-validator-identifier/src/keyword.js\n // when new keywords are added\n // start: isLiteralPropertyName\n // start: isKeyword\n _in: createKeyword(\"in\", { beforeExpr, binop: 7 }),\n _instanceof: createKeyword(\"instanceof\", { beforeExpr, binop: 7 }),\n // end: isBinop\n _break: createKeyword(\"break\"),\n _case: createKeyword(\"case\", { beforeExpr }),\n _catch: createKeyword(\"catch\"),\n _continue: createKeyword(\"continue\"),\n _debugger: createKeyword(\"debugger\"),\n _default: createKeyword(\"default\", { beforeExpr }),\n _else: createKeyword(\"else\", { beforeExpr }),\n _finally: createKeyword(\"finally\"),\n _function: createKeyword(\"function\", { startsExpr }),\n _if: createKeyword(\"if\"),\n _return: createKeyword(\"return\", { beforeExpr }),\n _switch: createKeyword(\"switch\"),\n _throw: createKeyword(\"throw\", { beforeExpr, prefix, startsExpr }),\n _try: createKeyword(\"try\"),\n _var: createKeyword(\"var\"),\n _const: createKeyword(\"const\"),\n _with: createKeyword(\"with\"),\n _new: createKeyword(\"new\", { beforeExpr, startsExpr }),\n _this: createKeyword(\"this\", { startsExpr }),\n _super: createKeyword(\"super\", { startsExpr }),\n _class: createKeyword(\"class\", { startsExpr }),\n _extends: createKeyword(\"extends\", { beforeExpr }),\n _export: createKeyword(\"export\"),\n _import: createKeyword(\"import\", { startsExpr }),\n _null: createKeyword(\"null\", { startsExpr }),\n _true: createKeyword(\"true\", { startsExpr }),\n _false: createKeyword(\"false\", { startsExpr }),\n _typeof: createKeyword(\"typeof\", { beforeExpr, prefix, startsExpr }),\n _void: createKeyword(\"void\", { beforeExpr, prefix, startsExpr }),\n _delete: createKeyword(\"delete\", { beforeExpr, prefix, startsExpr }),\n // start: isLoop\n _do: createKeyword(\"do\", { isLoop, beforeExpr }),\n _for: createKeyword(\"for\", { isLoop }),\n _while: createKeyword(\"while\", { isLoop }),\n // end: isLoop\n // end: isKeyword\n\n // Primary literals\n // start: isIdentifier\n _as: createKeywordLike(\"as\", { startsExpr }),\n _assert: createKeywordLike(\"assert\", { startsExpr }),\n _async: createKeywordLike(\"async\", { startsExpr }),\n _await: createKeywordLike(\"await\", { startsExpr }),\n _from: createKeywordLike(\"from\", { startsExpr }),\n _get: createKeywordLike(\"get\", { startsExpr }),\n _let: createKeywordLike(\"let\", { startsExpr }),\n _meta: createKeywordLike(\"meta\", { startsExpr }),\n _of: createKeywordLike(\"of\", { startsExpr }),\n _sent: createKeywordLike(\"sent\", { startsExpr }),\n _set: createKeywordLike(\"set\", { startsExpr }),\n _static: createKeywordLike(\"static\", { startsExpr }),\n _yield: createKeywordLike(\"yield\", { startsExpr }),\n\n // Flow and TypeScript Keywordlike\n _asserts: createKeywordLike(\"asserts\", { startsExpr }),\n _checks: createKeywordLike(\"checks\", { startsExpr }),\n _exports: createKeywordLike(\"exports\", { startsExpr }),\n _global: createKeywordLike(\"global\", { startsExpr }),\n _implements: createKeywordLike(\"implements\", { startsExpr }),\n _intrinsic: createKeywordLike(\"intrinsic\", { startsExpr }),\n _infer: createKeywordLike(\"infer\", { startsExpr }),\n _is: createKeywordLike(\"is\", { startsExpr }),\n _mixins: createKeywordLike(\"mixins\", { startsExpr }),\n _proto: createKeywordLike(\"proto\", { startsExpr }),\n _require: createKeywordLike(\"require\", { startsExpr }),\n // start: isTSTypeOperator\n _keyof: createKeywordLike(\"keyof\", { startsExpr }),\n _readonly: createKeywordLike(\"readonly\", { startsExpr }),\n _unique: createKeywordLike(\"unique\", { startsExpr }),\n // end: isTSTypeOperator\n // start: isTSDeclarationStart\n _abstract: createKeywordLike(\"abstract\", { startsExpr }),\n _declare: createKeywordLike(\"declare\", { startsExpr }),\n _enum: createKeywordLike(\"enum\", { startsExpr }),\n _module: createKeywordLike(\"module\", { startsExpr }),\n _namespace: createKeywordLike(\"namespace\", { startsExpr }),\n // start: isFlowInterfaceOrTypeOrOpaque\n _interface: createKeywordLike(\"interface\", { startsExpr }),\n _type: createKeywordLike(\"type\", { startsExpr }),\n // end: isTSDeclarationStart\n _opaque: createKeywordLike(\"opaque\", { startsExpr }),\n // end: isFlowInterfaceOrTypeOrOpaque\n name: createToken(\"name\", { startsExpr }),\n // end: isIdentifier\n\n string: createToken(\"string\", { startsExpr }),\n num: createToken(\"num\", { startsExpr }),\n bigint: createToken(\"bigint\", { startsExpr }),\n decimal: createToken(\"decimal\", { startsExpr }),\n // end: isLiteralPropertyName\n regexp: createToken(\"regexp\", { startsExpr }),\n privateName: createToken(\"#name\", { startsExpr }),\n eof: createToken(\"eof\"),\n\n // jsx plugin\n jsxName: createToken(\"jsxName\"),\n jsxText: createToken(\"jsxText\", { beforeExpr: true }),\n jsxTagStart: createToken(\"jsxTagStart\", { startsExpr: true }),\n jsxTagEnd: createToken(\"jsxTagEnd\"),\n\n // placeholder plugin\n placeholder: createToken(\"%%\", { startsExpr: true }),\n};\n\nexport function tokenIsIdentifier(token: TokenType): boolean {\n return token >= tt._as && token <= tt.name;\n}\n\nexport function tokenKeywordOrIdentifierIsKeyword(token: TokenType): boolean {\n // we can remove the token >= tt._in check when we\n // know a token is either keyword or identifier\n return token <= tt._while;\n}\n\nexport function tokenIsKeywordOrIdentifier(token: TokenType): boolean {\n return token >= tt._in && token <= tt.name;\n}\n\nexport function tokenIsLiteralPropertyName(token: TokenType): boolean {\n return token >= tt._in && token <= tt.decimal;\n}\n\nexport function tokenComesBeforeExpression(token: TokenType): boolean {\n return tokenBeforeExprs[token];\n}\n\nexport function tokenCanStartExpression(token: TokenType): boolean {\n return tokenStartsExprs[token];\n}\n\nexport function tokenIsAssignment(token: TokenType): boolean {\n return token >= tt.eq && token <= tt.moduloAssign;\n}\n\nexport function tokenIsFlowInterfaceOrTypeOrOpaque(token: TokenType): boolean {\n return token >= tt._interface && token <= tt._opaque;\n}\n\nexport function tokenIsLoop(token: TokenType): boolean {\n return token >= tt._do && token <= tt._while;\n}\n\nexport function tokenIsKeyword(token: TokenType): boolean {\n return token >= tt._in && token <= tt._while;\n}\n\nexport function tokenIsOperator(token: TokenType): boolean {\n return token >= tt.pipeline && token <= tt._instanceof;\n}\n\nexport function tokenIsPostfix(token: TokenType): boolean {\n return token === tt.incDec;\n}\n\nexport function tokenIsPrefix(token: TokenType): boolean {\n return tokenPrefixes[token];\n}\n\nexport function tokenIsTSTypeOperator(token: TokenType): boolean {\n return token >= tt._keyof && token <= tt._unique;\n}\n\nexport function tokenIsTSDeclarationStart(token: TokenType): boolean {\n return token >= tt._abstract && token <= tt._type;\n}\n\nexport function tokenLabelName(token: TokenType): string {\n return tokenLabels[token];\n}\n\nexport function tokenOperatorPrecedence(token: TokenType): number {\n return tokenBinops[token];\n}\n\nexport function tokenIsBinaryOperator(token: TokenType): boolean {\n return tokenBinops[token] !== -1;\n}\n\nexport function tokenIsRightAssociative(token: TokenType): boolean {\n return token === tt.exponent;\n}\n\nexport function tokenIsTemplate(token: TokenType): boolean {\n return token >= tt.templateTail && token <= tt.templateNonTail;\n}\n\nexport function getExportedToken(token: TokenType): ExportedTokenType {\n return tokenTypes[token];\n}\n\nexport function isTokenType(obj: any): boolean {\n return typeof obj === \"number\";\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n tokenTypes[tt.braceR].updateContext = context => {\n context.pop();\n };\n\n tokenTypes[tt.braceL].updateContext =\n tokenTypes[tt.braceHashL].updateContext =\n tokenTypes[tt.dollarBraceL].updateContext =\n context => {\n context.push(tc.brace);\n };\n\n tokenTypes[tt.backQuote].updateContext = context => {\n if (context[context.length - 1] === tc.template) {\n context.pop();\n } else {\n context.push(tc.template);\n }\n };\n\n tokenTypes[tt.jsxTagStart].updateContext = context => {\n context.push(tc.j_expr, tc.j_oTag);\n };\n}\n","import * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n","const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n","/* eslint max-len: 0 */\n\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart } from \"@babel/helper-validator-identifier\";\n\nexport {\n isIdentifierStart,\n isIdentifierChar,\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nexport const keywordRelationalOperator = /^in(stanceof)?$/;\n\n// Test whether a current state character code and next character code is @\n\nexport function isIteratorStart(\n current: number,\n next: number,\n next2: number,\n): boolean {\n return (\n current === charCodes.atSign &&\n next === charCodes.atSign &&\n isIdentifierStart(next2)\n );\n}\n\n// This is the comprehensive set of JavaScript reserved words\n// If a word is in this set, it could be a reserved word,\n// depending on sourceType/strictMode/binding info. In other words\n// if a word is not in this set, it is not a reserved word under\n// any circumstance.\nconst reservedWordLikeSet = new Set([\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n // strict\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n // strictBind\n \"eval\",\n \"arguments\",\n // reservedWorkLike\n \"enum\",\n \"await\",\n]);\n\nexport function canBeReservedWord(word: string): boolean {\n return reservedWordLikeSet.has(word);\n}\n","// Each scope gets a bitset that may contain these flags\n// prettier-ignore\nexport const SCOPE_OTHER = 0b000000000,\n SCOPE_PROGRAM = 0b000000001,\n SCOPE_FUNCTION = 0b000000010,\n SCOPE_ARROW = 0b000000100,\n SCOPE_SIMPLE_CATCH = 0b000001000,\n SCOPE_SUPER = 0b000010000,\n SCOPE_DIRECT_SUPER = 0b000100000,\n SCOPE_CLASS = 0b001000000,\n SCOPE_STATIC_BLOCK = 0b010000000,\n SCOPE_TS_MODULE = 0b100000000,\n SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;\n\nexport type ScopeFlags =\n | typeof SCOPE_OTHER\n | typeof SCOPE_PROGRAM\n | typeof SCOPE_FUNCTION\n | typeof SCOPE_VAR\n | typeof SCOPE_ARROW\n | typeof SCOPE_SIMPLE_CATCH\n | typeof SCOPE_SUPER\n | typeof SCOPE_DIRECT_SUPER\n | typeof SCOPE_CLASS\n | typeof SCOPE_STATIC_BLOCK;\n\n// These flags are meant to be _only_ used inside the Scope class (or subclasses).\n// prettier-ignore\nexport const BIND_KIND_VALUE = 0b000000_0000_01,\n BIND_KIND_TYPE = 0b000000_0000_10,\n // Used in checkLVal and declareName to determine the type of a binding\n BIND_SCOPE_VAR = 0b000000_0001_00, // Var-style binding\n BIND_SCOPE_LEXICAL = 0b000000_0010_00, // Let- or const-style binding\n BIND_SCOPE_FUNCTION = 0b000000_0100_00, // Function declaration\n BIND_SCOPE_OUTSIDE = 0b000000_1000_00, // Special case for function names as\n // bound inside the function\n // Misc flags\n BIND_FLAGS_NONE = 0b000001_0000_00,\n BIND_FLAGS_CLASS = 0b000010_0000_00,\n BIND_FLAGS_TS_ENUM = 0b000100_0000_00,\n BIND_FLAGS_TS_CONST_ENUM = 0b001000_0000_00,\n BIND_FLAGS_TS_EXPORT_ONLY = 0b010000_0000_00,\n BIND_FLAGS_FLOW_DECLARE_FN = 0b100000_0000_00;\n\n// These flags are meant to be _only_ used by Scope consumers\n// prettier-ignore\n/* = is value? | is type? | scope | misc flags */\nexport const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS ,\n BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0 ,\n BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0 ,\n BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0 ,\n BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS ,\n BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0 ,\n BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,\n BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n // These bindings don't introduce anything in the scope. They are used for assignments and\n // function expressions IDs.\n BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE ,\n BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE ,\n\n BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,\n BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n\n BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;\n\nexport type BindingTypes =\n | typeof BIND_NONE\n | typeof BIND_OUTSIDE\n | typeof BIND_VAR\n | typeof BIND_LEXICAL\n | typeof BIND_CLASS\n | typeof BIND_FUNCTION\n | typeof BIND_TS_INTERFACE\n | typeof BIND_TS_TYPE\n | typeof BIND_TS_ENUM\n | typeof BIND_TS_AMBIENT\n | typeof BIND_TS_NAMESPACE;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_FLAG_STATIC = 0b1_00,\n CLASS_ELEMENT_KIND_GETTER = 0b0_10,\n CLASS_ELEMENT_KIND_SETTER = 0b0_01,\n CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,\n CLASS_ELEMENT_OTHER = 0;\n\nexport type ClassElementTypes =\n | typeof CLASS_ELEMENT_STATIC_GETTER\n | typeof CLASS_ELEMENT_STATIC_SETTER\n | typeof CLASS_ELEMENT_INSTANCE_GETTER\n | typeof CLASS_ELEMENT_INSTANCE_SETTER\n | typeof CLASS_ELEMENT_OTHER;\n","import type { Options } from \"../options\";\nimport type State from \"../tokenizer/state\";\nimport type { PluginsMap } from \"./index\";\nimport type ScopeHandler from \"../util/scope\";\nimport type ExpressionScopeHandler from \"../util/expression-scope\";\nimport type ClassScopeHandler from \"../util/class-scope\";\nimport type ProductionParameterHandler from \"../util/production-parameter\";\nimport type {\n ParserPluginWithOptions,\n PluginConfig,\n PluginOptions,\n} from \"../typings\";\n\nexport default class BaseParser {\n // Properties set by constructor in index.js\n declare options: Options;\n declare inModule: boolean;\n declare scope: ScopeHandler;\n declare classScope: ClassScopeHandler;\n declare prodParam: ProductionParameterHandler;\n declare expressionScope: ExpressionScopeHandler;\n declare plugins: PluginsMap;\n declare filename: string | undefined | null;\n // Names of exports store. `default` is stored as a name for both\n // `export default foo;` and `export { foo as default };`.\n declare exportedIdentifiers: Set;\n sawUnambiguousESM: boolean = false;\n ambiguousScriptDifferentAst: boolean = false;\n\n // Initialized by Tokenizer\n declare state: State;\n // input and length are not in state as they are constant and we do\n // not want to ever copy them, which happens if state gets cloned\n declare input: string;\n declare length: number;\n\n // This method accepts either a string (plugin name) or an array pair\n // (plugin name and options object). If an options object is given,\n // then each value is non-recursively checked for identity with that\n // plugin’s actual option value.\n hasPlugin(pluginConfig: PluginConfig): boolean {\n if (typeof pluginConfig === \"string\") {\n return this.plugins.has(pluginConfig);\n } else {\n const [pluginName, pluginOptions] = pluginConfig;\n if (!this.hasPlugin(pluginName)) {\n return false;\n }\n const actualOptions = this.plugins.get(pluginName);\n for (const key of Object.keys(\n pluginOptions,\n ) as (keyof typeof pluginOptions)[]) {\n if (actualOptions?.[key] !== pluginOptions[key]) {\n return false;\n }\n }\n return true;\n }\n }\n\n getPluginOption<\n PluginName extends ParserPluginWithOptions[0],\n OptionName extends keyof PluginOptions,\n >(plugin: PluginName, name: OptionName) {\n return (this.plugins.get(plugin) as null | PluginOptions)?.[\n name\n ];\n }\n}\n","/*:: declare var invariant; */\n\nimport BaseParser from \"./base\";\nimport type { Comment, Node } from \"../types\";\nimport * as charCodes from \"charcodes\";\nimport type { Undone } from \"./node\";\n\n/**\n * A whitespace token containing comments\n * @typedef CommentWhitespace\n * @type {object}\n * @property {number} start - the start of the whitespace token.\n * @property {number} end - the end of the whitespace token.\n * @property {Array} comments - the containing comments\n * @property {Node | null} leadingNode - the immediately preceding AST node of the whitespace token\n * @property {Node | null} trailingNode - the immediately following AST node of the whitespace token\n * @property {Node | null} containingNode - the innermost AST node containing the whitespace\n * with minimal size (|end - start|)\n */\nexport type CommentWhitespace = {\n start: number;\n end: number;\n comments: Array;\n leadingNode: Node | null;\n trailingNode: Node | null;\n containingNode: Node | null;\n};\n\n/**\n * Merge comments with node's trailingComments or assign comments to be\n * trailingComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Undone} node\n * @param {Array} comments\n */\nfunction setTrailingComments(node: Undone, comments: Array) {\n if (node.trailingComments === undefined) {\n node.trailingComments = comments;\n } else {\n node.trailingComments.unshift(...comments);\n }\n}\n\n/**\n * Merge comments with node's leadingComments or assign comments to be\n * leadingComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Undone} node\n * @param {Array} comments\n */\nfunction setLeadingComments(node: Undone, comments: Array) {\n if (node.leadingComments === undefined) {\n node.leadingComments = comments;\n } else {\n node.leadingComments.unshift(...comments);\n }\n}\n\n/**\n * Merge comments with node's innerComments or assign comments to be\n * innerComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Undone} node\n * @param {Array} comments\n */\nexport function setInnerComments(\n node: Undone,\n comments?: Array,\n) {\n if (node.innerComments === undefined) {\n node.innerComments = comments;\n } else {\n node.innerComments.unshift(...comments);\n }\n}\n\n/**\n * Given node and elements array, if elements has non-null element,\n * merge comments to its trailingComments, otherwise merge comments\n * to node's innerComments\n *\n * @param {Undone} node\n * @param {Array} elements\n * @param {Array} comments\n */\nfunction adjustInnerComments(\n node: Undone,\n elements: Array,\n commentWS: CommentWhitespace,\n) {\n let lastElement = null;\n let i = elements.length;\n while (lastElement === null && i > 0) {\n lastElement = elements[--i];\n }\n if (lastElement === null || lastElement.start > commentWS.start) {\n setInnerComments(node, commentWS.comments);\n } else {\n setTrailingComments(lastElement, commentWS.comments);\n }\n}\n\n/** @class CommentsParser */\nexport default class CommentsParser extends BaseParser {\n addComment(comment: Comment): void {\n if (this.filename) comment.loc.filename = this.filename;\n this.state.comments.push(comment);\n }\n\n /**\n * Given a newly created AST node _n_, attach _n_ to a comment whitespace _w_ if applicable\n * {@see {@link CommentWhitespace}}\n *\n * @param {Node} node\n * @returns {void}\n * @memberof CommentsParser\n */\n processComment(node: Node): void {\n const { commentStack } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n const lastCommentWS = commentStack[i];\n\n if (lastCommentWS.start === node.end) {\n lastCommentWS.leadingNode = node;\n i--;\n }\n\n const { start: nodeStart } = node;\n // invariant: for all 0 <= j <= i, let c = commentStack[j], c must satisfy c.end < node.end\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n if (commentEnd > nodeStart) {\n // by definition of commentWhiteSpace, this implies commentWS.start > nodeStart\n // so node can be a containingNode candidate. At this time we can finalize the comment\n // whitespace, because\n // 1) its leadingNode or trailingNode, if exists, will not change\n // 2) its containingNode have been assigned and will not change because it is the\n // innermost minimal-sized AST node\n commentWS.containingNode = node;\n this.finalizeComment(commentWS);\n commentStack.splice(i, 1);\n } else {\n if (commentEnd === nodeStart) {\n commentWS.trailingNode = node;\n }\n // stop the loop when commentEnd <= nodeStart\n break;\n }\n }\n }\n\n /**\n * Assign the comments of comment whitespaces to related AST nodes.\n * Also adjust innerComments following trailing comma.\n *\n * @memberof CommentsParser\n */\n finalizeComment(commentWS: CommentWhitespace) {\n const { comments } = commentWS;\n if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {\n if (commentWS.leadingNode !== null) {\n setTrailingComments(commentWS.leadingNode, comments);\n }\n if (commentWS.trailingNode !== null) {\n setLeadingComments(commentWS.trailingNode, comments);\n }\n } else {\n /*:: invariant(commentWS.containingNode !== null) */\n const { containingNode: node, start: commentStart } = commentWS;\n if (this.input.charCodeAt(commentStart - 1) === charCodes.comma) {\n // If a commentWhitespace follows a comma and the containingNode allows\n // list structures with trailing comma, merge it to the trailingComment\n // of the last non-null list element\n switch (node.type) {\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"RecordExpression\":\n adjustInnerComments(node, node.properties, commentWS);\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n adjustInnerComments(node, node.arguments, commentWS);\n break;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n adjustInnerComments(node, node.params, commentWS);\n break;\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n case \"TupleExpression\":\n adjustInnerComments(node, node.elements, commentWS);\n break;\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n adjustInnerComments(node, node.specifiers, commentWS);\n break;\n default: {\n setInnerComments(node, comments);\n }\n }\n } else {\n setInnerComments(node, comments);\n }\n }\n }\n\n /**\n * Drains remaining commentStack and applies finalizeComment\n * to each comment whitespace. Used only in parseExpression\n * where the top level AST node is _not_ Program\n * {@see {@link CommentsParser#finalizeComment}}\n *\n * @memberof CommentsParser\n */\n finalizeRemainingComments() {\n const { commentStack } = this.state;\n for (let i = commentStack.length - 1; i >= 0; i--) {\n this.finalizeComment(commentStack[i]);\n }\n this.state.commentStack = [];\n }\n\n /**\n * Reset previous node trailing comments. Used in object / class\n * property parsing. We parse `async`, `static`, `set` and `get`\n * as an identifier but may reinterpret it into an async/static/accessor\n * method later. In this case the identifier is not part of the AST and we\n * should sync the knowledge to commentStacks\n *\n * For example, when parsing */\n // async /* 1 */ function f() {}\n /*\n * the comment whitespace \"* 1 *\" has leading node Identifier(async). When\n * we see the function token, we create a Function node and mark \"* 1 *\" as\n * inner comments. So \"* 1 *\" should be detached from the Identifier node.\n *\n * @param {N.Node} node the last finished AST node _before_ current token\n * @returns\n * @memberof CommentsParser\n */\n resetPreviousNodeTrailingComments(node: Node) {\n const { commentStack } = this.state;\n const { length } = commentStack;\n if (length === 0) return;\n const commentWS = commentStack[length - 1];\n if (commentWS.leadingNode === node) {\n commentWS.leadingNode = null;\n }\n }\n\n /**\n * Attach a node to the comment whitespaces right before/after\n * the given range.\n *\n * This is used to properly attach comments around parenthesized\n * expressions as leading/trailing comments of the inner expression.\n *\n * @param {Node} node\n * @param {number} start\n * @param {number} end\n */\n takeSurroundingComments(node: Node, start: number, end: number) {\n const { commentStack } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n const commentStart = commentWS.start;\n\n if (commentStart === end) {\n commentWS.leadingNode = node;\n } else if (commentEnd === start) {\n commentWS.trailingNode = node;\n } else if (commentEnd < start) {\n break;\n }\n }\n }\n}\n","import * as charCodes from \"charcodes\";\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\nexport const lineBreak = /\\r\\n?|[\\n\\u2028\\u2029]/;\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\");\n\n// https://tc39.github.io/ecma262/#sec-line-terminators\nexport function isNewLine(code: number): boolean {\n switch (code) {\n case charCodes.lineFeed:\n case charCodes.carriageReturn:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return true;\n\n default:\n return false;\n }\n}\n\nexport const skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nexport const skipWhiteSpaceInLine =\n /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/y;\n\n// Skip whitespace and single-line comments, including /* no newline here */.\n// After this RegExp matches, its lastIndex points to a line terminator, or\n// the start of multi-line comment (which is effectively a line terminator),\n// or the end of string.\nexport const skipWhiteSpaceToLineBreak = new RegExp(\n // Unfortunately JS doesn't support Perl's atomic /(?>pattern)/ or\n // possessive quantifiers, so we use a trick to prevent backtracking\n // when the look-ahead for line terminator fails.\n \"(?=(\" +\n // Capture the whitespace and comments that should be skipped inside\n // a look-ahead assertion, and then re-match the group as a unit.\n skipWhiteSpaceInLine.source +\n \"))\\\\1\" +\n // Look-ahead for either line terminator, start of multi-line comment,\n // or end of string.\n /(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\n \"y\", // sticky\n);\n\n// https://tc39.github.io/ecma262/#sec-white-space\nexport function isWhitespace(code: number): boolean {\n switch (code) {\n case 0x0009: // CHARACTER TABULATION\n case 0x000b: // LINE TABULATION\n case 0x000c: // FORM FEED\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.oghamSpaceMark:\n case 0x2000: // EN QUAD\n case 0x2001: // EM QUAD\n case 0x2002: // EN SPACE\n case 0x2003: // EM SPACE\n case 0x2004: // THREE-PER-EM SPACE\n case 0x2005: // FOUR-PER-EM SPACE\n case 0x2006: // SIX-PER-EM SPACE\n case 0x2007: // FIGURE SPACE\n case 0x2008: // PUNCTUATION SPACE\n case 0x2009: // THIN SPACE\n case 0x200a: // HAIR SPACE\n case 0x202f: // NARROW NO-BREAK SPACE\n case 0x205f: // MEDIUM MATHEMATICAL SPACE\n case 0x3000: // IDEOGRAPHIC SPACE\n case 0xfeff: // ZERO WIDTH NO-BREAK SPACE\n return true;\n\n default:\n return false;\n }\n}\n","import type { Options } from \"../options\";\nimport * as N from \"../types\";\nimport type { CommentWhitespace } from \"../parser/comments\";\nimport { Position } from \"../util/location\";\n\nimport { types as ct, type TokContext } from \"./context\";\nimport { tt, type TokenType } from \"./types\";\nimport { Errors, type ParseError } from \"../parse-error\";\n\nexport type DeferredStrictError =\n | typeof Errors.StrictNumericEscape\n | typeof Errors.StrictOctalLiteral;\n\ntype TopicContextState = {\n // When a topic binding has been currently established,\n // then this is 1. Otherwise, it is 0. This is forwards compatible\n // with a future plugin for multiple lexical topics.\n maxNumOfResolvableTopics: number;\n // When a topic binding has been currently established, and if that binding\n // has been used as a topic reference `#`, then this is 0. Otherwise, it is\n // `null`. This is forwards compatible with a future plugin for multiple\n // lexical topics.\n maxTopicIndex: null | 0;\n};\n\nexport default class State {\n strict: boolean;\n curLine: number;\n lineStart: number;\n\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n startLoc: Position;\n endLoc: Position;\n\n init({ strictMode, sourceType, startLine, startColumn }: Options): void {\n this.strict =\n strictMode === false\n ? false\n : strictMode === true\n ? true\n : sourceType === \"module\";\n\n this.curLine = startLine;\n this.lineStart = -startColumn;\n this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);\n }\n\n errors: ParseError[] = [];\n\n // Used to signify the start of a potential arrow function\n potentialArrowAt: number = -1;\n\n // Used to signify the start of an expression which looks like a\n // typed arrow function, but it isn't\n // e.g. a ? (b) : c => d\n // ^\n noArrowAt: number[] = [];\n\n // Used to signify the start of an expression whose params, if it looks like\n // an arrow function, shouldn't be converted to assignable nodes.\n // This is used to defer the validation of typed arrow functions inside\n // conditional expressions.\n // e.g. a ? (b) : c => d\n // ^\n noArrowParamsConversionAt: number[] = [];\n\n // Flags to track\n maybeInArrowParameters: boolean = false;\n inType: boolean = false;\n noAnonFunctionType: boolean = false;\n hasFlowComment: boolean = false;\n isAmbientContext: boolean = false;\n inAbstractClass: boolean = false;\n inDisallowConditionalTypesContext: boolean = false;\n\n // For the Hack-style pipelines plugin\n topicContext: TopicContextState = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null,\n };\n\n // For the F#-style pipelines plugin\n soloAwait: boolean = false;\n inFSharpPipelineDirectBody: boolean = false;\n\n // Labels in scope.\n labels: Array<{\n kind: \"loop\" | \"switch\" | undefined | null;\n name?: string | null;\n statementStart?: number;\n }> = [];\n\n // Leading decorators. Last element of the stack represents the decorators in current context.\n // Supports nesting of decorators, e.g. @foo(@bar class inner {}) class outer {}\n // where @foo belongs to the outer class and @bar to the inner\n decoratorStack: Array> = [[]];\n\n // Comment store for Program.comments\n comments: Array = [];\n\n // Comment attachment store\n commentStack: Array = [];\n\n // The current position of the tokenizer in the input.\n pos: number = 0;\n\n // Properties of the current token:\n // Its type\n type: TokenType = tt.eof;\n\n // For tokens that include more information than their type, the value\n value: any = null;\n\n // Its start and end offset\n start: number = 0;\n end: number = 0;\n\n // Position information for the previous token\n // this is initialized when generating the second token.\n lastTokEndLoc: Position = null;\n // this is initialized when generating the second token.\n lastTokStartLoc: Position = null;\n lastTokStart: number = 0;\n\n // The context stack is used to track whether the apostrophe \"`\" starts\n // or ends a string template\n context: Array = [ct.brace];\n // Used to track whether a JSX element is allowed to form\n canStartJSXElement: boolean = true;\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n containsEsc: boolean = false;\n\n // This property is used to track the following errors\n // - StrictNumericEscape\n // - StrictOctalLiteral\n //\n // in a literal that occurs prior to/immediately after a \"use strict\" directive.\n\n // todo(JLHwung): set strictErrors to null and avoid recording string errors\n // after a non-directive is parsed\n strictErrors: Map = new Map();\n\n // Tokens length in token store\n tokensLength: number = 0;\n\n curPosition(): Position {\n return new Position(this.curLine, this.pos - this.lineStart, this.pos);\n }\n\n clone(skipArrays?: boolean): State {\n const state = new State();\n const keys = Object.keys(this) as (keyof State)[];\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n let val = this[key];\n\n if (!skipArrays && Array.isArray(val)) {\n val = val.slice();\n }\n\n // @ts-expect-error\n state[key] = val;\n }\n\n return state;\n }\n}\n\nexport type LookaheadState = {\n pos: number;\n value: any;\n type: TokenType;\n start: number;\n end: number;\n context: TokContext[];\n startLoc: Position;\n lastTokEndLoc: Position;\n curLine: number;\n lineStart: number;\n curPosition: () => Position;\n /* Used only in readToken_mult_modulo */\n inType: boolean;\n};\n","import * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let containsInvalid = false;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n let escaped;\n ({\n ch: escaped,\n pos,\n lineStart,\n curLine,\n } = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n ));\n if (escaped === null) {\n containsInvalid = true;\n } else {\n out += escaped;\n }\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return { pos, str: out, containsInvalid, lineStart, curLine };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = input.slice(startPos, pos + 2).match(/^[0-7]+/)!;\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n","/*:: declare var invariant; */\n\nimport type { Options } from \"../options\";\nimport {\n Position,\n SourceLocation,\n createPositionWithColumnOffset,\n} from \"../util/location\";\nimport CommentsParser, { type CommentWhitespace } from \"../parser/comments\";\nimport * as N from \"../types\";\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart, isIdentifierChar } from \"../util/identifier\";\nimport {\n tokenIsKeyword,\n tokenLabelName,\n tt,\n keywords as keywordTypes,\n type TokenType,\n} from \"./types\";\nimport { type TokContext } from \"./context\";\nimport {\n Errors,\n type ParseError,\n type ParseErrorConstructor,\n type RaiseProperties,\n} from \"../parse-error\";\nimport {\n lineBreakG,\n isNewLine,\n isWhitespace,\n skipWhiteSpace,\n} from \"../util/whitespace\";\nimport State from \"./state\";\nimport type { LookaheadState, DeferredStrictError } from \"./state\";\n\nimport {\n readInt,\n readCodePoint,\n readStringContents,\n type IntErrorHandlers,\n type CodePointErrorHandlers,\n type StringContentsErrorHandlers,\n} from \"@babel/helper-string-parser\";\n\nimport type { Plugin } from \"../typings\";\n\nfunction buildPosition(pos: number, lineStart: number, curLine: number) {\n return new Position(curLine, pos - lineStart, pos);\n}\n\nconst VALID_REGEX_FLAGS = new Set([\n charCodes.lowercaseG,\n charCodes.lowercaseM,\n charCodes.lowercaseS,\n charCodes.lowercaseI,\n charCodes.lowercaseY,\n charCodes.lowercaseU,\n charCodes.lowercaseD,\n // This is only valid when using the regexpUnicodeSets plugin\n charCodes.lowercaseV,\n]);\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nexport class Token {\n constructor(state: State) {\n this.type = state.type;\n this.value = state.value;\n this.start = state.start;\n this.end = state.end;\n this.loc = new SourceLocation(state.startLoc, state.endLoc);\n }\n\n declare type: TokenType;\n declare value: any;\n declare start: number;\n declare end: number;\n declare loc: SourceLocation;\n}\n\n// ## Tokenizer\n\nexport default abstract class Tokenizer extends CommentsParser {\n isLookahead: boolean;\n\n // Token store.\n tokens: Array = [];\n\n constructor(options: Options, input: string) {\n super();\n this.state = new State();\n this.state.init(options);\n this.input = input;\n this.length = input.length;\n this.isLookahead = false;\n }\n\n pushToken(token: Token | N.Comment) {\n // Pop out invalid tokens trapped by try-catch parsing.\n // Those parsing branches are mainly created by typescript and flow plugins.\n this.tokens.length = this.state.tokensLength;\n this.tokens.push(token);\n ++this.state.tokensLength;\n }\n\n // Move to the next token\n\n next(): void {\n this.checkKeywordEscapes();\n if (this.options.tokens) {\n this.pushToken(new Token(this.state));\n }\n\n this.state.lastTokStart = this.state.start;\n this.state.lastTokEndLoc = this.state.endLoc;\n this.state.lastTokStartLoc = this.state.startLoc;\n this.nextToken();\n }\n\n // TODO\n\n eat(type: TokenType): boolean {\n if (this.match(type)) {\n this.next();\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Whether current token matches given type\n *\n * @param {TokenType} type\n * @returns {boolean}\n * @memberof Tokenizer\n */\n match(type: TokenType): boolean {\n return this.state.type === type;\n }\n\n /**\n * Create a LookaheadState from current parser state\n *\n * @param {State} state\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n createLookaheadState(state: State): LookaheadState {\n return {\n pos: state.pos,\n value: null,\n type: state.type,\n start: state.start,\n end: state.end,\n context: [this.curContext()],\n inType: state.inType,\n startLoc: state.startLoc,\n lastTokEndLoc: state.lastTokEndLoc,\n curLine: state.curLine,\n lineStart: state.lineStart,\n curPosition: state.curPosition,\n };\n }\n\n /**\n * lookahead peeks the next token, skipping changes to token context and\n * comment stack. For performance it returns a limited LookaheadState\n * instead of full parser state.\n *\n * The { column, line } Loc info is not included in lookahead since such usage\n * is rare. Although it may return other location properties e.g. `curLine` and\n * `lineStart`, these properties are not listed in the LookaheadState interface\n * and thus the returned value is _NOT_ reliable.\n *\n * The tokenizer should make best efforts to avoid using any parser state\n * other than those defined in LookaheadState\n *\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n lookahead(): LookaheadState {\n const old = this.state;\n // For performance we use a simplified tokenizer state structure\n // @ts-expect-error\n this.state = this.createLookaheadState(old);\n\n this.isLookahead = true;\n this.nextToken();\n this.isLookahead = false;\n\n const curr = this.state;\n this.state = old;\n return curr;\n }\n\n nextTokenStart(): number {\n return this.nextTokenStartSince(this.state.pos);\n }\n\n nextTokenStartSince(pos: number): number {\n skipWhiteSpace.lastIndex = pos;\n return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;\n }\n\n lookaheadCharCode(): number {\n return this.input.charCodeAt(this.nextTokenStart());\n }\n\n codePointAtPos(pos: number): number {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `input` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = this.input.charCodeAt(pos);\n if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {\n const trail = this.input.charCodeAt(pos);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n return cp;\n }\n\n // Toggle strict mode. Re-reads the next number or string to please\n // pedantic tests (`\"use strict\"; 010;` should fail).\n\n setStrict(strict: boolean): void {\n this.state.strict = strict;\n if (strict) {\n // Throw an error for any string decimal escape found before/immediately\n // after a \"use strict\" directive. Strict mode will be set at parse\n // time for any literals that occur after the next node of the strict\n // directive.\n this.state.strictErrors.forEach(([toParseError, at]) =>\n this.raise(toParseError, { at }),\n );\n this.state.strictErrors.clear();\n }\n }\n\n curContext(): TokContext {\n return this.state.context[this.state.context.length - 1];\n }\n\n // Read a single token, updating the parser object's token-related\n // properties.\n\n nextToken(): void {\n this.skipSpace();\n this.state.start = this.state.pos;\n if (!this.isLookahead) this.state.startLoc = this.state.curPosition();\n if (this.state.pos >= this.length) {\n this.finishToken(tt.eof);\n return;\n }\n\n this.getTokenFromCode(this.codePointAtPos(this.state.pos));\n }\n\n skipBlockComment(): N.CommentBlock | undefined {\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n const start = this.state.pos;\n const end = this.input.indexOf(\"*/\", start + 2);\n if (end === -1) {\n // We have to call this again here because startLoc may not be set...\n // This seems to be for performance reasons:\n // https://github.com/babel/babel/commit/acf2a10899f696a8aaf34df78bf9725b5ea7f2da\n throw this.raise(Errors.UnterminatedComment, {\n at: this.state.curPosition(),\n });\n }\n\n this.state.pos = end + 2;\n lineBreakG.lastIndex = start + 2;\n while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {\n ++this.state.curLine;\n this.state.lineStart = lineBreakG.lastIndex;\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const comment: N.CommentBlock = {\n type: \"CommentBlock\",\n value: this.input.slice(start + 2, end),\n start,\n end: end + 2,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n skipLineComment(startSkip: number): N.CommentLine | undefined {\n const start = this.state.pos;\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n let ch = this.input.charCodeAt((this.state.pos += startSkip));\n if (this.state.pos < this.length) {\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const end = this.state.pos;\n const value = this.input.slice(start + startSkip, end);\n\n const comment: N.CommentLine = {\n type: \"CommentLine\",\n value,\n start,\n end,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n // Called at the start of the parse and after every token. Skips\n // whitespace and comments, and.\n\n skipSpace(): void {\n const spaceStart = this.state.pos;\n const comments = [];\n loop: while (this.state.pos < this.length) {\n const ch = this.input.charCodeAt(this.state.pos);\n switch (ch) {\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.tab:\n ++this.state.pos;\n break;\n case charCodes.carriageReturn:\n if (\n this.input.charCodeAt(this.state.pos + 1) === charCodes.lineFeed\n ) {\n ++this.state.pos;\n }\n // fall through\n case charCodes.lineFeed:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n break;\n\n case charCodes.slash:\n switch (this.input.charCodeAt(this.state.pos + 1)) {\n case charCodes.asterisk: {\n const comment = this.skipBlockComment();\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n case charCodes.slash: {\n const comment = this.skipLineComment(2);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n default:\n break loop;\n }\n break;\n\n default:\n if (isWhitespace(ch)) {\n ++this.state.pos;\n } else if (ch === charCodes.dash && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.dash &&\n this.input.charCodeAt(pos + 2) === charCodes.greaterThan &&\n (spaceStart === 0 || this.state.lineStart > spaceStart)\n ) {\n // A `-->` line comment\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (ch === charCodes.lessThan && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.exclamationMark &&\n this.input.charCodeAt(pos + 2) === charCodes.dash &&\n this.input.charCodeAt(pos + 3) === charCodes.dash\n ) {\n // `` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken() + } + return this.finishOp(types$1.incDec, 2) + } + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(types$1.plusMin, 1) + }; + + pp.readToken_lt_gt = function(code) { // '<>' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) } + return this.finishOp(types$1.bitShift, size) + } + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && + this.input.charCodeAt(this.pos + 3) === 45) { + // `` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken() + } + return this.finishOp(types$1.incDec, 2) + } + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(types$1.plusMin, 1) +}; + +pp.readToken_lt_gt = function(code) { // '<>' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) } + return this.finishOp(types$1.bitShift, size) + } + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && + this.input.charCodeAt(this.pos + 3) === 45) { + // `` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken() + } + return this.finishOp(types.incDec, 2) + } + if (next === 61) { return this.finishOp(types.assign, 2) } + return this.finishOp(types.plusMin, 1) + }; + + pp$9.readToken_lt_gt = function(code) { // '<>' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) } + return this.finishOp(types.bitShift, size) + } + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && + this.input.charCodeAt(this.pos + 3) === 45) { + // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken() + } + return this.finishOp(types.incDec, 2) + } + if (next === 61) { return this.finishOp(types.assign, 2) } + return this.finishOp(types.plusMin, 1) +}; + +pp$9.readToken_lt_gt = function(code) { // '<>' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) } + return this.finishOp(types.bitShift, size) + } + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && + this.input.charCodeAt(this.pos + 3) === 45) { + // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `' is a single-line comment + this.index += 3; + var comment = this.skipSingleLineComment(3); + if (this.trackComment) { + comments = comments.concat(comment); + } + } + else { + break; + } + } + else if (ch === 0x3C && !this.isModule) { + if (this.source.slice(this.index + 1, this.index + 4) === '!--') { + this.index += 4; // ` + + + + + + +
+ +

+ + +
+ + + +
+ +
+ Documentation generated by JSDoc on +
+ + + + + diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/mainpage.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/mainpage.tmpl new file mode 100644 index 00000000..64e9e594 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/mainpage.tmpl @@ -0,0 +1,14 @@ + + + +

+ + + +
+
+
+ diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/members.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/members.tmpl new file mode 100644 index 00000000..154c17b6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/members.tmpl @@ -0,0 +1,38 @@ + +

+ + +

+ + + +
+ +
+ + + +
Type:
+
    +
  • + +
  • +
+ + + + + +
Fires:
+
    +
  • +
+ + + +
Example 1? 's':'' ?>
+ + diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/method.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/method.tmpl new file mode 100644 index 00000000..0125fe29 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/method.tmpl @@ -0,0 +1,131 @@ + + + +

Constructor

+ + + +

+ + + +

+ + + + +
+ +
+ + + +
Extends:
+ + + + +
Type:
+
    +
  • + +
  • +
+ + + +
This:
+
+ + + +
Parameters:
+ + + + + + +
Requires:
+
    +
  • +
+ + + +
Fires:
+
    +
  • +
+ + + +
Listens to Events:
+
    +
  • +
+ + + +
Listeners of This Event:
+
    +
  • +
+ + + +
Modifies:
+ 1) { ?>
    +
  • +
+ + + + +
Throws:
+ 1) { ?>
    +
  • +
+ + + + +
Returns:
+ 1) { ?>
    +
  • +
+ + + + +
Yields:
+ 1) { ?>
    +
  • +
+ + + + +
Example 1? 's':'' ?>
+ + diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/modifies.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/modifies.tmpl new file mode 100644 index 00000000..16ccbf8d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/modifies.tmpl @@ -0,0 +1,14 @@ + + + +
+
+ Type +
+
+ +
+
+ diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/params.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/params.tmpl new file mode 100644 index 00000000..1fb4049c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/params.tmpl @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
+ + + + + + <optional>
+ + + + <nullable>
+ + + + <repeatable>
+ +
+ + + + +
Properties
+ +
diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/properties.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/properties.tmpl new file mode 100644 index 00000000..40e09097 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/properties.tmpl @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
+ + + + + + <optional>
+ + + + <nullable>
+ +
+ + + + +
Properties
+
diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/returns.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/returns.tmpl new file mode 100644 index 00000000..d0704592 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/returns.tmpl @@ -0,0 +1,19 @@ + +
+ +
+ + + +
+
+ Type +
+
+ +
+
+ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/source.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/source.tmpl new file mode 100644 index 00000000..e559b5d1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/source.tmpl @@ -0,0 +1,8 @@ + +
+
+
+
+
\ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/tutorial.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/tutorial.tmpl new file mode 100644 index 00000000..88a0ad52 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/tutorial.tmpl @@ -0,0 +1,19 @@ +
+ +
+ 0) { ?> +
    +
  • +
+ + +

+
+ +
+ +
+ +
diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/type.tmpl b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/type.tmpl new file mode 100644 index 00000000..ec2c6c0d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/default/tmpl/type.tmpl @@ -0,0 +1,7 @@ + + +| + \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/README.md new file mode 100644 index 00000000..ee6d36f1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/README.md @@ -0,0 +1,39 @@ +OVERVIEW +======== + +JSDoc 3 Haruki is an experimental template optimised for use with publishing processes that consume either JSON or XML. Whereas the default JSDoc template outputs an HTML representation of your API, Haruki will output a JSON, or optionally an XML, representation. + +Currently Haruki only supports a subset of the tags supported by the default template. Those are: + + * @name + * @desc + * @type + * @namespace + * @method (or @function) + * @member (or @var) + * @class + * @mixin + * @event + * @param + * @returns + * @throws + * @example + * @access (like @private or @public) + +This limited support set is intentional, as it is meant to be a usable set that could be shared with either JavaScript or PHP documentation -- another experimental tool, named "Vonnegut", can produce Haruki compatible JSON from PHPDoc tags. + +Note: `@link`s will appear in the output untransformed, there is no way to know at this stage what the file layout of your output will eventually be. It is assumed that whatever process emits the final output file/s will transform `@link` tags at that point. + +USAGE +===== + + ./jsdoc myscript.js -t templates/haruki -d console -q format=xml + +The results of this command will appear in `stdout` and can be piped into other tools for further processing. + +MORE +===== + +If you are interested in Haruki, you are encouraged to discuss your questions or ideas on the JSDoc-Users mailing list and fork/contribute to this project. + +For more information contact Michael Mathews at . \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/publish.js b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/publish.js new file mode 100644 index 00000000..47aa6061 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/haruki/publish.js @@ -0,0 +1,224 @@ +/* eslint-disable indent, no-nested-ternary, space-infix-ops */ +/** + @overview Builds a tree-like JSON string from the doclet data. + @version 0.0.3 + @example + ./jsdoc scratch/jsdoc_test.js -t templates/haruki -d console -q format=xml +*/ +const xml = require('js2xmlparser'); + +const hasOwnProp = Object.prototype.hasOwnProperty; + +function graft(parentNode, childNodes, parentLongname) { + childNodes + .filter(({memberof}) => memberof === parentLongname) + .forEach(element => { + let i; + let len; + let thisClass; + let thisEvent; + let thisFunction; + let thisMixin; + let thisNamespace; + + if (element.kind === 'namespace') { + if (!parentNode.namespaces) { + parentNode.namespaces = []; + } + + thisNamespace = { + 'name': element.name, + 'description': element.description || '', + 'access': element.access || '', + 'virtual': Boolean(element.virtual) + }; + + parentNode.namespaces.push(thisNamespace); + + graft(thisNamespace, childNodes, element.longname); + } + else if (element.kind === 'mixin') { + if (!parentNode.mixins) { + parentNode.mixins = []; + } + + thisMixin = { + 'name': element.name, + 'description': element.description || '', + 'access': element.access || '', + 'virtual': Boolean(element.virtual) + }; + + parentNode.mixins.push(thisMixin); + + graft(thisMixin, childNodes, element.longname); + } + else if (element.kind === 'function') { + if (!parentNode.functions) { + parentNode.functions = []; + } + + thisFunction = { + 'name': element.name, + 'access': element.access || '', + 'virtual': Boolean(element.virtual), + 'description': element.description || '', + 'parameters': [], + 'examples': [] + }; + + parentNode.functions.push(thisFunction); + + if (element.returns) { + thisFunction.returns = { + 'type': element.returns[0].type? (element.returns[0].type.names.length === 1? element.returns[0].type.names[0] : element.returns[0].type.names) : '', + 'description': element.returns[0].description || '' + }; + } + + if (element.examples) { + for (i = 0, len = element.examples.length; i < len; i++) { + thisFunction.examples.push(element.examples[i]); + } + } + + if (element.params) { + for (i = 0, len = element.params.length; i < len; i++) { + thisFunction.parameters.push({ + 'name': element.params[i].name, + 'type': element.params[i].type? (element.params[i].type.names.length === 1? element.params[i].type.names[0] : element.params[i].type.names) : '', + 'description': element.params[i].description || '', + 'default': hasOwnProp.call(element.params[i], 'defaultvalue') ? element.params[i].defaultvalue : '', + 'optional': typeof element.params[i].optional === 'boolean'? element.params[i].optional : '', + 'nullable': typeof element.params[i].nullable === 'boolean'? element.params[i].nullable : '' + }); + } + } + } + else if (element.kind === 'member') { + if (!parentNode.properties) { + parentNode.properties = []; + } + parentNode.properties.push({ + 'name': element.name, + 'access': element.access || '', + 'virtual': Boolean(element.virtual), + 'description': element.description || '', + 'type': element.type? (element.type.length === 1? element.type[0] : element.type) : '' + }); + } + + else if (element.kind === 'event') { + if (!parentNode.events) { + parentNode.events = []; + } + + thisEvent = { + 'name': element.name, + 'access': element.access || '', + 'virtual': Boolean(element.virtual), + 'description': element.description || '', + 'parameters': [], + 'examples': [] + }; + + parentNode.events.push(thisEvent); + + if (element.returns) { + thisEvent.returns = { + 'type': element.returns.type ? (element.returns.type.names.length === 1 ? element.returns.type.names[0] : element.returns.type.names) : '', + 'description': element.returns.description || '' + }; + } + + if (element.examples) { + for (i = 0, len = element.examples.length; i < len; i++) { + thisEvent.examples.push(element.examples[i]); + } + } + + if (element.params) { + for (i = 0, len = element.params.length; i < len; i++) { + thisEvent.parameters.push({ + 'name': element.params[i].name, + 'type': element.params[i].type? (element.params[i].type.names.length === 1? element.params[i].type.names[0] : element.params[i].type.names) : '', + 'description': element.params[i].description || '', + 'default': hasOwnProp.call(element.params[i], 'defaultvalue') ? element.params[i].defaultvalue : '', + 'optional': typeof element.params[i].optional === 'boolean'? element.params[i].optional : '', + 'nullable': typeof element.params[i].nullable === 'boolean'? element.params[i].nullable : '' + }); + } + } + } + else if (element.kind === 'class') { + if (!parentNode.classes) { + parentNode.classes = []; + } + + thisClass = { + 'name': element.name, + 'description': element.classdesc || '', + 'extends': element.augments || [], + 'access': element.access || '', + 'virtual': Boolean(element.virtual), + 'fires': element.fires || '', + 'constructor': { + 'name': element.name, + 'description': element.description || '', + 'parameters': [ + ], + 'examples': [] + } + }; + + parentNode.classes.push(thisClass); + + if (element.examples) { + for (i = 0, len = element.examples.length; i < len; i++) { + thisClass.constructor.examples.push(element.examples[i]); + } + } + + if (element.params) { + for (i = 0, len = element.params.length; i < len; i++) { + thisClass.constructor.parameters.push({ + 'name': element.params[i].name, + 'type': element.params[i].type? (element.params[i].type.names.length === 1? element.params[i].type.names[0] : element.params[i].type.names) : '', + 'description': element.params[i].description || '', + 'default': hasOwnProp.call(element.params[i], 'defaultvalue') ? element.params[i].defaultvalue : '', + 'optional': typeof element.params[i].optional === 'boolean'? element.params[i].optional : '', + 'nullable': typeof element.params[i].nullable === 'boolean'? element.params[i].nullable : '' + }); + } + } + + graft(thisClass, childNodes, element.longname); + } + }); +} + +/** + @param {TAFFY} data + @param {object} opts + */ +exports.publish = (data, {destination, query}) => { + let docs; + const root = {}; + + data({undocumented: true}).remove(); + docs = data().get(); // <-- an array of Doclet objects + + graft(root, docs); + + if (destination === 'console') { + if (query && query.format === 'xml') { + console.log( xml.parse('jsdoc', root) ); + } + else { + console.log( require('jsdoc/util/dumper').dump(root) ); + } + } + else { + console.log('This template only supports output to the console. Use the option "-d console" when you run JSDoc.'); + } +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/README.md new file mode 100644 index 00000000..d33e0fdf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/README.md @@ -0,0 +1,11 @@ +OVERVIEW +======== + +The `silent` template outputs nothing at all. Why would that be useful? Primarily for running JSDoc as a linter to check for syntax errors and unrecognized tags in documentation comments, although it may also be useful for testing or benchmarking purposes. + +USAGE +===== + + ./jsdoc myscript.js -t templates/silent -a all --pedantic + +This command exits with a non-zero exit code if any errors are encountered. It writes nothing to disk and the only output it produces is any error messages written to `stderr`. This command can also be used to warn about tags which are unknown to JSDoc by setting `"allowUnknownTags": false` in a configuration file. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/publish.js b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/publish.js new file mode 100644 index 00000000..7de0a06f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/jsdoc/templates/silent/publish.js @@ -0,0 +1,7 @@ +/* eslint-disable no-empty-function, no-unused-vars */ +/** + @param {TAFFY} taffyData See . + @param {object} opts + @param {Tutorial} tutorials + */ +exports.publish = (taffyData, opts, tutorials) => {}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/klaw/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/CHANGELOG.md new file mode 100644 index 00000000..941001b1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/CHANGELOG.md @@ -0,0 +1,68 @@ +3.0.0 / 2018-08-01 +------------------ + +- **BREAKING:** Follow symlinks by default (use the new `preserveSymlinks` option to get the old behavior) [#29](https://github.com/jprichardson/node-klaw/pull/29) +- **BREAKING:** Drop Node v4 support + +2.1.1 / 2017-11-18 +------------------ + +- Performance optimization [#27](https://github.com/jprichardson/node-klaw/pull/27) + +2.1.0 / 2017-08-10 +------------------ + +### Added + +- Added `depthLimit` option to limit how deep to recurse into folders. [#25](https://github.com/jprichardson/node-klaw/pull/25) + +2.0.0 / 2017-06-23 +------------------ + +### Changed + +- `graceful-fs` is now a regular dependency, and is always loaded. This should speed up `require` time +- Dropped support for Node 0.10 & 0.12 and io.js + +1.3.1 / 2016-10-25 +------------------ +### Added +- `graceful-fs` added as an `optionalDependencies`. Thanks [ryanzim]! + +1.3.0 / 2016-06-09 +------------------ +### Added +- `filter` option to pre-filter and not walk directories. + +1.2.0 / 2016-04-16 +------------------ +- added support for custom `fs` implementation. Useful for https://github.com/tschaub/mock-fs + +1.1.3 / 2015-12-23 +------------------ +- bugfix: if `readdir` error, got hung up. See: https://github.com/jprichardson/node-klaw/issues/1 + +1.1.2 / 2015-11-12 +------------------ +- assert that param `dir` is a `string` + +1.1.1 / 2015-10-25 +------------------ +- bug fix, options not being passed + +1.1.0 / 2015-10-25 +------------------ +- added `queueMethod` and `pathSorter` to `options` to affect searching strategy. + +1.0.0 / 2015-10-25 +------------------ +- removed unused `filter` param +- bugfix: always set `streamOptions` to `objectMode` +- simplified, converted from push mode (streams 1) to proper pull mode (streams 3) + +0.1.0 / 2015-10-25 +------------------ +- initial release + + +[ryanzim]: https://github.com/ryanzim diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/klaw/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/LICENSE new file mode 100644 index 00000000..ddb217c9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/LICENSE @@ -0,0 +1,15 @@ +(The MIT License) + +Copyright (c) 2015-2016 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/klaw/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/README.md new file mode 100644 index 00000000..2ffe81e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/README.md @@ -0,0 +1,253 @@ +Node.js - klaw +============== + +JavaScript Standard Style + +A Node.js file system walker extracted from [fs-extra](https://github.com/jprichardson/node-fs-extra). + +[![npm Package](https://img.shields.io/npm/v/klaw.svg?style=flat-square)](https://www.npmjs.org/package/klaw) +[![build status](https://api.travis-ci.org/jprichardson/node-klaw.svg)](http://travis-ci.org/jprichardson/node-klaw) +[![windows build status](https://ci.appveyor.com/api/projects/status/github/jprichardson/node-klaw?branch=master&svg=true)](https://ci.appveyor.com/project/jprichardson/node-klaw/branch/master) + +Install +------- + + npm i --save klaw + +If you're using Typescript, we've got [types](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/11492/files): + + npm i --save-dev @types/klaw + + +Name +---- + +`klaw` is `walk` backwards :p + + +Sync +---- + +If you need the same functionality but synchronous, you can use [klaw-sync](https://github.com/manidlou/node-klaw-sync). + + +Usage +----- + +### klaw(directory, [options]) + +Returns a [Readable stream](https://nodejs.org/api/stream.html#stream_class_stream_readable) that iterates +through every file and directory starting with `dir` as the root. Every `read()` or `data` event +returns an object with two properties: `path` and `stats`. `path` is the full path of the file and +`stats` is an instance of [fs.Stats](https://nodejs.org/api/fs.html#fs_class_fs_stats). + +- `directory`: The directory to recursively walk. Type `string`. +- `options`: [Readable stream options](https://nodejs.org/api/stream.html#stream_new_stream_readable_options) and +the following: + - `queueMethod` (`string`, default: `'shift'`): Either `'shift'` or `'pop'`. On `readdir()` array, call either `shift()` or `pop()`. + - `pathSorter` (`function`, default: `undefined`): Sorting [function for Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort). + - `fs` (`object`, default: [`graceful-fs`](https://github.com/isaacs/node-graceful-fs)): Use this to hook into the `fs` methods or to use [`mock-fs`](https://github.com/tschaub/mock-fs) + - `filter` (`function`, default: `undefined`): Filtering [function for Arrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) + - `depthLimit` (`number`, default: `undefined`): The number of times to recurse before stopping. -1 for unlimited. + - `preserveSymlinks` (`boolean`, default: `false`): Whether symlinks should be followed or treated as items themselves. If true, symlinks will be returned as items in their own right. If false, the linked item will be returned and potentially recursed into, in its stead. + +**Streams 1 (push) example:** + +```js +const klaw = require('klaw') + +const items = [] // files, directories, symlinks, etc +klaw('/some/dir') + .on('data', item => items.push(item.path)) + .on('end', () => console.dir(items)) // => [ ... array of files] +``` + +**Streams 2 & 3 (pull) example:** + +```js +const klaw = require('klaw') + +const items = [] // files, directories, symlinks, etc +klaw('/some/dir') + .on('readable', function () { + let item + while ((item = this.read())) { + items.push(item.path) + } + }) + .on('end', () => console.dir(items)) // => [ ... array of files] +``` + +### Error Handling + +Listen for the `error` event. + +Example: + +```js +const klaw = require('klaw') + +klaw('/some/dir') + .on('readable', function () { + let item + while ((item = this.read())) { + // do something with the file + } + }) + .on('error', (err, item) => { + console.log(err.message) + console.log(item.path) // the file the error occurred on + }) + .on('end', () => console.dir(items)) // => [ ... array of files] +``` + + +### Aggregation / Filtering / Executing Actions (Through Streams) + +On many occasions you may want to filter files based upon size, extension, etc. +Or you may want to aggregate stats on certain file types. Or maybe you want to +perform an action on certain file types. + +You should use the module [`through2`](https://www.npmjs.com/package/through2) to easily +accomplish this. + +Install `through2`: + + npm i --save through2 + + +**Example (skipping directories):** + +```js +const klaw = require('klaw') +const through2 = require('through2') + +const excludeDirFilter = through2.obj(function (item, enc, next) { + if (!item.stats.isDirectory()) this.push(item) + next() +}) + +const items = [] // files, directories, symlinks, etc +klaw('/some/dir') + .pipe(excludeDirFilter) + .on('data', item => items.push(item.path)) + .on('end', () => console.dir(items)) // => [ ... array of files without directories] +``` + +**Example (ignore hidden directories):** + +```js +const klaw = require('klaw') +const path = require('path') + +const filterFunc = item => { + const basename = path.basename(item) + return basename === '.' || basename[0] !== '.' +} + +klaw('/some/dir', { filter: filterFunc }) + .on('data', item => { + // only items of none hidden folders will reach here + }) +``` + +**Example (totaling size of PNG files):** + +```js +const klaw = require('klaw') +const path = require('path') +const through2 = require('through2') + +let totalPngsInBytes = 0 +const aggregatePngSize = through2.obj(function (item, enc, next) { + if (path.extname(item.path) === '.png') { + totalPngsInBytes += item.stats.size + } + this.push(item) + next() +}) + +klaw('/some/dir') + .pipe(aggregatePngSize) + .on('data', item => items.push(item.path)) + .on('end', () => console.dir(totalPngsInBytes)) // => total of all pngs (bytes) +``` + + +**Example (deleting all .tmp files):** + +```js +const fs = require('fs') +const klaw = require('klaw') +const through2 = require('through2') + +const deleteAction = through2.obj(function (item, enc, next) { + this.push(item) + + if (path.extname(item.path) === '.tmp') { + item.deleted = true + fs.unlink(item.path, next) + } else { + item.deleted = false + next() + } +}) + +const deletedFiles = [] +klaw('/some/dir') + .pipe(deleteAction) + .on('data', item => { + if (!item.deleted) return + deletedFiles.push(item.path) + }) + .on('end', () => console.dir(deletedFiles)) // => all deleted files +``` + +You can even chain a bunch of these filters and aggregators together. By using +multiple pipes. + +**Example (using multiple filters / aggregators):** + +```js +klaw('/some/dir') + .pipe(filterCertainFiles) + .pipe(deleteSomeOtherFiles) + .on('end', () => console.log('all done!')) +``` + +**Example passing (piping) through errors:** + +Node.js does not `pipe()` errors. This means that the error on one stream, like +`klaw` will not pipe through to the next. If you want to do this, do the following: + +```js +const klaw = require('klaw') +const through2 = require('through2') + +const excludeDirFilter = through2.obj(function (item, enc, next) { + if (!item.stats.isDirectory()) this.push(item) + next() +}) + +const items = [] // files, directories, symlinks, etc +klaw('/some/dir') + .on('error', err => excludeDirFilter.emit('error', err)) // forward the error on + .pipe(excludeDirFilter) + .on('data', item => items.push(item.path)) + .on('end', () => console.dir(items)) // => [ ... array of files without directories] +``` + + +### Searching Strategy + +Pass in options for `queueMethod`, `pathSorter`, and `depthLimit` to affect how the file system +is recursively iterated. See the code for more details, it's less than 50 lines :) + + + +License +------- + +MIT + +Copyright (c) 2015 [JP Richardson](https://github.com/jprichardson) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/klaw/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/package.json new file mode 100644 index 00000000..9172e3d8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/package.json @@ -0,0 +1,40 @@ +{ + "name": "klaw", + "version": "3.0.0", + "description": "File system walker with Readable stream interface.", + "main": "./src/index.js", + "scripts": { + "lint": "standard && standard-markdown", + "test": "npm run lint && npm run unit", + "unit": "tape tests/**/*.js | tap-spec" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jprichardson/node-klaw.git" + }, + "keywords": [ + "walk", + "walker", + "fs", + "fs-extra", + "readable", + "streams" + ], + "author": "JP Richardson", + "license": "MIT", + "bugs": { + "url": "https://github.com/jprichardson/node-klaw/issues" + }, + "homepage": "https://github.com/jprichardson/node-klaw#readme", + "dependencies": { + "graceful-fs": "^4.1.9" + }, + "devDependencies": { + "mkdirp": "^0.5.1", + "rimraf": "^2.4.3", + "standard": "^11.0.1", + "standard-markdown": "^4.0.1", + "tap-spec": "^5.0.0", + "tape": "^4.2.2" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/klaw/src/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/src/index.js new file mode 100644 index 00000000..79530007 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/klaw/src/index.js @@ -0,0 +1,64 @@ +var assert = require('assert') +var path = require('path') +var Readable = require('stream').Readable +var util = require('util') + +function Walker (dir, options) { + assert.strictEqual(typeof dir, 'string', '`dir` parameter should be of type string. Got type: ' + typeof dir) + var defaultStreamOptions = { objectMode: true } + var defaultOpts = { + queueMethod: 'shift', + pathSorter: undefined, + filter: undefined, + depthLimit: undefined, + preserveSymlinks: false + } + options = Object.assign(defaultOpts, options, defaultStreamOptions) + + Readable.call(this, options) + this.root = path.resolve(dir) + this.paths = [this.root] + this.options = options + if (options.depthLimit > -1) this.rootDepth = this.root.split(path.sep).length + 1 + this.fs = options.fs || require('graceful-fs') +} +util.inherits(Walker, Readable) + +Walker.prototype._read = function () { + if (this.paths.length === 0) return this.push(null) + var self = this + var pathItem = this.paths[this.options.queueMethod]() + + var statFunction = this.options.preserveSymlinks ? self.fs.lstat : self.fs.stat + + statFunction(pathItem, function (err, stats) { + var item = { path: pathItem, stats: stats } + if (err) return self.emit('error', err, item) + + if (!stats.isDirectory() || (self.rootDepth && + pathItem.split(path.sep).length - self.rootDepth >= self.options.depthLimit)) { + return self.push(item) + } + + self.fs.readdir(pathItem, function (err, pathItems) { + if (err) { + self.push(item) + return self.emit('error', err, item) + } + + pathItems = pathItems.map(function (part) { return path.join(pathItem, part) }) + if (self.options.filter) pathItems = pathItems.filter(self.options.filter) + if (self.options.pathSorter) pathItems.sort(self.options.pathSorter) + // faster way to do do incremental batch array pushes + self.paths.push.apply(self.paths, pathItems) + + self.push(item) + }) + }) +} + +function walk (root, options) { + return new Walker(root, options) +} + +module.exports = walk diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/CHANGELOG.md new file mode 100644 index 00000000..6fa47da0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/CHANGELOG.md @@ -0,0 +1,182 @@ +3.0.3 / 2021-10-01 +------------------ + +- Fixed #98. Don't count `;` at the end of link (when followed with space). + + +3.0.2 / 2020-05-20 +------------------ + +- Proper fix for #54. Allow multiple `!` in links (but not at the end). + + +3.0.1 / 2020-05-19 +------------------ + +- Reverted #54 fix (allowed multiple `!` in links), and added collision + sample. + + +3.0.0 / 2020-05-19 +------------------ + +- Allow unlimited `.` inside link params, #81. This should not be breaking, but + bumped version for sure. +- Allow `..&` in params, #87. +- Allow multiple `!` in links, #54. +- Deps bump. +- Rewrite build scripts. + + +2.2.0 / 2019-07-12 +------------------ + +- Improved quoted email detect (disable `"` at email start), #72. +- Fix some google links (allow more consecutive `.`), #66. + + +2.1.0 / 2018-11-27 +------------------ + +- Allow `--` (and more dashes) in domain names, #63. + + +2.0.3 / 2016-12-09 +------------------ + +- Process `|` (asian vertical pipe 0xFF5C) as valid text separator. + + +2.0.2 / 2016-10-15 +------------------ + +- Allow dashes in local domains, #43. + + +2.0.1 / 2016-09-28 +------------------ + +- Restrict user:pass@... content - prohibit "()[]" chars in auth, #41. + + +2.0.0 / 2016-06-22 +------------------ + +- `---` no longer terminates link. Use option `{ '---': true }` to return old + behaviour. +- `.onCompile()` hook to modify base regexp constants. +- Allow `foo'-bar` in path + + +1.2.4 / 2016-06-03 +------------------ + +- Consider `<` & `>` as invalid in links. +- Support links in lt/gt braces: ``, ``. + + +1.2.3 / 2016-05-31 +------------------ + +- Allow digits in local domains, #36. +- Restrict user/pass (prohibit [@/] chars) to avoid wrong domain fetch. +- More restrictions for protocol-transparent links. Don't allow single-level + (local) domains, except '//localhost', #19. + + +1.2.2 / 2016-05-30 +------------------ + +- Security fix: due problem in `Any` class regexp from old `unicode-7.0.0` + package (used in `uc-micro`), hang happend with astral char patterns like + `😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡😡 .com` if fuzzy + options used. New installs will use fixed `uc-micro` automatically. + Old installs need to be updated. #36. +- Unicode rules updated to 8.+ version. + + +1.2.1 / 2016-04-29 +------------------ + +- Fix detect email after opening parenthesis: `(my@email.com)`, #32. + + +1.2.0 / 2015-06-29 +------------------ + +- Allow dash at the end of url, thanks to @Mumakil. + + +1.1.1 / 2015-06-09 +------------------ + +- Allow ".." in link paths. + + +1.1.0 / 2015-04-21 +------------------ + +- Added options to control fuzzy links recognition (`fuzzyLink: true`, + `fuzzyEmail: true`, `fuzzyIP: false`). +- Disabled IP-links without schema prefix by default. + + +1.0.1 / 2015-04-19 +------------------ + +- More strict default 2-characters tlds handle in fuzzy links, to avoid + false positives for `node.js`, `io.js` and so on. + + +1.0.0 / 2015-03-25 +------------------ + +- Version bump to 1.0.0 for semver. +- Removed `Cf` class from whitespace & punctuation sets (#10). +- API change. Exported regex names renamed to reflect changes. Update your + custom rules if needed: + - `src_ZPCcCf` -> `src_ZPCc` + - `src_ZCcCf` -> `src_ZCc` + + +0.1.5 / 2015-03-13 +------------------ + +- Fixed special chars handling (line breaks). +- Fixed demo permalink encode/decode. + + +0.1.4 / 2015-03-12 +------------------ + +- Allow `..` and `...` inside of link paths (#9). Useful for github links with + commit ranges. +- Added `.pretest()` method for speed optimizations. +- Autogenerate demo sample from fixtures. + + +0.1.3 / 2015-03-11 +------------------ + +- Maintenance release. Deps update. + + +0.1.2 / 2015-02-26 +------------------ + +- Fixed blockquoted links (some symbols exclusions), thanks to @MayhemYDG. +- Fixed demo permalinks, thanks to @MayhemYDG. + + +0.1.1 / 2015-02-22 +------------------ + +- Moved unicode data to external package. +- Demo permalink improvements. +- Docs update. + + +0.1.0 / 2015-02-12 +------------------ + +- First release. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/LICENSE new file mode 100644 index 00000000..67596f5f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2015 Vitaly Puzrin. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/README.md new file mode 100644 index 00000000..76eed7e5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/README.md @@ -0,0 +1,188 @@ +linkify-it +========== + +[![Build Status](https://img.shields.io/travis/markdown-it/linkify-it/master.svg?style=flat)](https://travis-ci.org/markdown-it/linkify-it) +[![NPM version](https://img.shields.io/npm/v/linkify-it.svg?style=flat)](https://www.npmjs.org/package/linkify-it) +[![Coverage Status](https://img.shields.io/coveralls/markdown-it/linkify-it/master.svg?style=flat)](https://coveralls.io/r/markdown-it/linkify-it?branch=master) +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/markdown-it/linkify-it) + +> Links recognition library with FULL unicode support. +> Focused on high quality link patterns detection in plain text. + +__[Demo](http://markdown-it.github.io/linkify-it/)__ + +Why it's awesome: + +- Full unicode support, _with astral characters_! +- International domains support. +- Allows rules extension & custom normalizers. + + +Install +------- + +```bash +npm install linkify-it --save +``` + +Browserification is also supported. + + +Usage examples +-------------- + +##### Example 1 + +```js +var linkify = require('linkify-it')(); + +// Reload full tlds list & add unofficial `.onion` domain. +linkify + .tlds(require('tlds')) // Reload with full tlds list + .tlds('onion', true) // Add unofficial `.onion` domain + .add('git:', 'http:') // Add `git:` protocol as "alias" + .add('ftp:', null) // Disable `ftp:` protocol + .set({ fuzzyIP: true }); // Enable IPs in fuzzy links (without schema) + +console.log(linkify.test('Site github.com!')); // true + +console.log(linkify.match('Site github.com!')); // [ { + // schema: "", + // index: 5, + // lastIndex: 15, + // raw: "github.com", + // text: "github.com", + // url: "http://github.com", + // } ] +``` + +##### Example 2. Add twitter mentions handler + +```js +linkify.add('@', { + validate: function (text, pos, self) { + var tail = text.slice(pos); + + if (!self.re.twitter) { + self.re.twitter = new RegExp( + '^([a-zA-Z0-9_]){1,15}(?!_)(?=$|' + self.re.src_ZPCc + ')' + ); + } + if (self.re.twitter.test(tail)) { + // Linkifier allows punctuation chars before prefix, + // but we additionally disable `@` ("@@mention" is invalid) + if (pos >= 2 && tail[pos - 2] === '@') { + return false; + } + return tail.match(self.re.twitter)[0].length; + } + return 0; + }, + normalize: function (match) { + match.url = 'https://twitter.com/' + match.url.replace(/^@/, ''); + } +}); +``` + + +API +--- + +__[API documentation](http://markdown-it.github.io/linkify-it/doc)__ + +### new LinkifyIt(schemas, options) + +Creates new linkifier instance with optional additional schemas. +Can be called without `new` keyword for convenience. + +By default understands: + +- `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links +- "fuzzy" links and emails (google.com, foo@bar.com). + +`schemas` is an object, where each key/value describes protocol/rule: + +- __key__ - link prefix (usually, protocol name with `:` at the end, `skype:` + for example). `linkify-it` makes sure that prefix is not preceded with + alphanumeric char. +- __value__ - rule to check tail after link prefix + - _String_ - just alias to existing rule + - _Object_ + - _validate_ - either a `RegExp` (start with `^`, and don't include the + link prefix itself), or a validator function which, given arguments + _text_, _pos_, and _self_, returns the length of a match in _text_ + starting at index _pos_. _pos_ is the index right after the link prefix. + _self_ can be used to access the linkify object to cache data. + - _normalize_ - optional function to normalize text & url of matched result + (for example, for twitter mentions). + +`options`: + +- __fuzzyLink__ - recognize URL-s without `http(s)://` head. Default `true`. +- __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts + like version numbers. Default `false`. +- __fuzzyEmail__ - recognize emails without `mailto:` prefix. Default `true`. +- __---__ - set `true` to terminate link with `---` (if it's considered as long dash). + + +### .test(text) + +Searches linkifiable pattern and returns `true` on success or `false` on fail. + + +### .pretest(text) + +Quick check if link MAY BE can exist. Can be used to optimize more expensive +`.test()` calls. Return `false` if link can not be found, `true` - if `.test()` +call needed to know exactly. + + +### .testSchemaAt(text, name, offset) + +Similar to `.test()` but checks only specific protocol tail exactly at given +position. Returns length of found pattern (0 on fail). + + +### .match(text) + +Returns `Array` of found link matches or null if nothing found. + +Each match has: + +- __schema__ - link schema, can be empty for fuzzy links, or `//` for + protocol-neutral links. +- __index__ - offset of matched text +- __lastIndex__ - index of next char after mathch end +- __raw__ - matched text +- __text__ - normalized text +- __url__ - link, generated from matched text + + +### .tlds(list[, keepOld]) + +Load (or merge) new tlds list. Those are needed for fuzzy links (without schema) +to avoid false positives. By default: + +- 2-letter root zones are ok. +- biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф are ok. +- encoded (`xn--...`) root zones are ok. + +If that's not enough, you can reload defaults with more detailed zones list. + +### .add(key, value) + +Add a new schema to the schemas object. As described in the constructor +definition, `key` is a link prefix (`skype:`, for example), and `value` +is a String to alias to another schema, or an Object with `validate` and +optionally `normalize` definitions. To disable an existing rule, use +`.add(key, null)`. + + +### .set(options) + +Override default options. Missed properties will not be changed. + + +## License + +[MIT](https://github.com/markdown-it/linkify-it/blob/master/LICENSE) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/index.js new file mode 100644 index 00000000..5c0d5722 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/index.js @@ -0,0 +1,636 @@ +'use strict'; + + +//////////////////////////////////////////////////////////////////////////////// +// Helpers + +// Merge objects +// +function assign(obj /*from1, from2, from3, ...*/) { + var sources = Array.prototype.slice.call(arguments, 1); + + sources.forEach(function (source) { + if (!source) { return; } + + Object.keys(source).forEach(function (key) { + obj[key] = source[key]; + }); + }); + + return obj; +} + +function _class(obj) { return Object.prototype.toString.call(obj); } +function isString(obj) { return _class(obj) === '[object String]'; } +function isObject(obj) { return _class(obj) === '[object Object]'; } +function isRegExp(obj) { return _class(obj) === '[object RegExp]'; } +function isFunction(obj) { return _class(obj) === '[object Function]'; } + + +function escapeRE(str) { return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&'); } + +//////////////////////////////////////////////////////////////////////////////// + + +var defaultOptions = { + fuzzyLink: true, + fuzzyEmail: true, + fuzzyIP: false +}; + + +function isOptionsObj(obj) { + return Object.keys(obj || {}).reduce(function (acc, k) { + return acc || defaultOptions.hasOwnProperty(k); + }, false); +} + + +var defaultSchemas = { + 'http:': { + validate: function (text, pos, self) { + var tail = text.slice(pos); + + if (!self.re.http) { + // compile lazily, because "host"-containing variables can change on tlds update. + self.re.http = new RegExp( + '^\\/\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i' + ); + } + if (self.re.http.test(tail)) { + return tail.match(self.re.http)[0].length; + } + return 0; + } + }, + 'https:': 'http:', + 'ftp:': 'http:', + '//': { + validate: function (text, pos, self) { + var tail = text.slice(pos); + + if (!self.re.no_http) { + // compile lazily, because "host"-containing variables can change on tlds update. + self.re.no_http = new RegExp( + '^' + + self.re.src_auth + + // Don't allow single-level domains, because of false positives like '//test' + // with code comments + '(?:localhost|(?:(?:' + self.re.src_domain + ')\\.)+' + self.re.src_domain_root + ')' + + self.re.src_port + + self.re.src_host_terminator + + self.re.src_path, + + 'i' + ); + } + + if (self.re.no_http.test(tail)) { + // should not be `://` & `///`, that protects from errors in protocol name + if (pos >= 3 && text[pos - 3] === ':') { return 0; } + if (pos >= 3 && text[pos - 3] === '/') { return 0; } + return tail.match(self.re.no_http)[0].length; + } + return 0; + } + }, + 'mailto:': { + validate: function (text, pos, self) { + var tail = text.slice(pos); + + if (!self.re.mailto) { + self.re.mailto = new RegExp( + '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i' + ); + } + if (self.re.mailto.test(tail)) { + return tail.match(self.re.mailto)[0].length; + } + return 0; + } + } +}; + +/*eslint-disable max-len*/ + +// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js) +var tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]'; + +// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead +var tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|'); + +/*eslint-enable max-len*/ + +//////////////////////////////////////////////////////////////////////////////// + +function resetScanCache(self) { + self.__index__ = -1; + self.__text_cache__ = ''; +} + +function createValidator(re) { + return function (text, pos) { + var tail = text.slice(pos); + + if (re.test(tail)) { + return tail.match(re)[0].length; + } + return 0; + }; +} + +function createNormalizer() { + return function (match, self) { + self.normalize(match); + }; +} + +// Schemas compiler. Build regexps. +// +function compile(self) { + + // Load & clone RE patterns. + var re = self.re = require('./lib/re')(self.__opts__); + + // Define dynamic patterns + var tlds = self.__tlds__.slice(); + + self.onCompile(); + + if (!self.__tlds_replaced__) { + tlds.push(tlds_2ch_src_re); + } + tlds.push(re.src_xn); + + re.src_tlds = tlds.join('|'); + + function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); } + + re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i'); + re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i'); + re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i'); + re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i'); + + // + // Compile each schema + // + + var aliases = []; + + self.__compiled__ = {}; // Reset compiled data + + function schemaError(name, val) { + throw new Error('(LinkifyIt) Invalid schema "' + name + '": ' + val); + } + + Object.keys(self.__schemas__).forEach(function (name) { + var val = self.__schemas__[name]; + + // skip disabled methods + if (val === null) { return; } + + var compiled = { validate: null, link: null }; + + self.__compiled__[name] = compiled; + + if (isObject(val)) { + if (isRegExp(val.validate)) { + compiled.validate = createValidator(val.validate); + } else if (isFunction(val.validate)) { + compiled.validate = val.validate; + } else { + schemaError(name, val); + } + + if (isFunction(val.normalize)) { + compiled.normalize = val.normalize; + } else if (!val.normalize) { + compiled.normalize = createNormalizer(); + } else { + schemaError(name, val); + } + + return; + } + + if (isString(val)) { + aliases.push(name); + return; + } + + schemaError(name, val); + }); + + // + // Compile postponed aliases + // + + aliases.forEach(function (alias) { + if (!self.__compiled__[self.__schemas__[alias]]) { + // Silently fail on missed schemas to avoid errons on disable. + // schemaError(alias, self.__schemas__[alias]); + return; + } + + self.__compiled__[alias].validate = + self.__compiled__[self.__schemas__[alias]].validate; + self.__compiled__[alias].normalize = + self.__compiled__[self.__schemas__[alias]].normalize; + }); + + // + // Fake record for guessed links + // + self.__compiled__[''] = { validate: null, normalize: createNormalizer() }; + + // + // Build schema condition + // + var slist = Object.keys(self.__compiled__) + .filter(function (name) { + // Filter disabled & fake schemas + return name.length > 0 && self.__compiled__[name]; + }) + .map(escapeRE) + .join('|'); + // (?!_) cause 1.5x slowdown + self.re.schema_test = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i'); + self.re.schema_search = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig'); + + self.re.pretest = RegExp( + '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@', + 'i' + ); + + // + // Cleanup + // + + resetScanCache(self); +} + +/** + * class Match + * + * Match result. Single element of array, returned by [[LinkifyIt#match]] + **/ +function Match(self, shift) { + var start = self.__index__, + end = self.__last_index__, + text = self.__text_cache__.slice(start, end); + + /** + * Match#schema -> String + * + * Prefix (protocol) for matched string. + **/ + this.schema = self.__schema__.toLowerCase(); + /** + * Match#index -> Number + * + * First position of matched string. + **/ + this.index = start + shift; + /** + * Match#lastIndex -> Number + * + * Next position after matched string. + **/ + this.lastIndex = end + shift; + /** + * Match#raw -> String + * + * Matched string. + **/ + this.raw = text; + /** + * Match#text -> String + * + * Notmalized text of matched string. + **/ + this.text = text; + /** + * Match#url -> String + * + * Normalized url of matched string. + **/ + this.url = text; +} + +function createMatch(self, shift) { + var match = new Match(self, shift); + + self.__compiled__[match.schema].normalize(match, self); + + return match; +} + + +/** + * class LinkifyIt + **/ + +/** + * new LinkifyIt(schemas, options) + * - schemas (Object): Optional. Additional schemas to validate (prefix/validator) + * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } + * + * Creates new linkifier instance with optional additional schemas. + * Can be called without `new` keyword for convenience. + * + * By default understands: + * + * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links + * - "fuzzy" links and emails (example.com, foo@bar.com). + * + * `schemas` is an object, where each key/value describes protocol/rule: + * + * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:` + * for example). `linkify-it` makes shure that prefix is not preceeded with + * alphanumeric char and symbols. Only whitespaces and punctuation allowed. + * - __value__ - rule to check tail after link prefix + * - _String_ - just alias to existing rule + * - _Object_ + * - _validate_ - validator function (should return matched length on success), + * or `RegExp`. + * - _normalize_ - optional function to normalize text & url of matched result + * (for example, for @twitter mentions). + * + * `options`: + * + * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`. + * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts + * like version numbers. Default `false`. + * - __fuzzyEmail__ - recognize emails without `mailto:` prefix. + * + **/ +function LinkifyIt(schemas, options) { + if (!(this instanceof LinkifyIt)) { + return new LinkifyIt(schemas, options); + } + + if (!options) { + if (isOptionsObj(schemas)) { + options = schemas; + schemas = {}; + } + } + + this.__opts__ = assign({}, defaultOptions, options); + + // Cache last tested result. Used to skip repeating steps on next `match` call. + this.__index__ = -1; + this.__last_index__ = -1; // Next scan position + this.__schema__ = ''; + this.__text_cache__ = ''; + + this.__schemas__ = assign({}, defaultSchemas, schemas); + this.__compiled__ = {}; + + this.__tlds__ = tlds_default; + this.__tlds_replaced__ = false; + + this.re = {}; + + compile(this); +} + + +/** chainable + * LinkifyIt#add(schema, definition) + * - schema (String): rule name (fixed pattern prefix) + * - definition (String|RegExp|Object): schema definition + * + * Add new rule definition. See constructor description for details. + **/ +LinkifyIt.prototype.add = function add(schema, definition) { + this.__schemas__[schema] = definition; + compile(this); + return this; +}; + + +/** chainable + * LinkifyIt#set(options) + * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } + * + * Set recognition options for links without schema. + **/ +LinkifyIt.prototype.set = function set(options) { + this.__opts__ = assign(this.__opts__, options); + return this; +}; + + +/** + * LinkifyIt#test(text) -> Boolean + * + * Searches linkifiable pattern and returns `true` on success or `false` on fail. + **/ +LinkifyIt.prototype.test = function test(text) { + // Reset scan cache + this.__text_cache__ = text; + this.__index__ = -1; + + if (!text.length) { return false; } + + var m, ml, me, len, shift, next, re, tld_pos, at_pos; + + // try to scan for link with schema - that's the most simple rule + if (this.re.schema_test.test(text)) { + re = this.re.schema_search; + re.lastIndex = 0; + while ((m = re.exec(text)) !== null) { + len = this.testSchemaAt(text, m[2], re.lastIndex); + if (len) { + this.__schema__ = m[2]; + this.__index__ = m.index + m[1].length; + this.__last_index__ = m.index + m[0].length + len; + break; + } + } + } + + if (this.__opts__.fuzzyLink && this.__compiled__['http:']) { + // guess schemaless links + tld_pos = text.search(this.re.host_fuzzy_test); + if (tld_pos >= 0) { + // if tld is located after found link - no need to check fuzzy pattern + if (this.__index__ < 0 || tld_pos < this.__index__) { + if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) { + + shift = ml.index + ml[1].length; + + if (this.__index__ < 0 || shift < this.__index__) { + this.__schema__ = ''; + this.__index__ = shift; + this.__last_index__ = ml.index + ml[0].length; + } + } + } + } + } + + if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) { + // guess schemaless emails + at_pos = text.indexOf('@'); + if (at_pos >= 0) { + // We can't skip this check, because this cases are possible: + // 192.168.1.1@gmail.com, my.in@example.com + if ((me = text.match(this.re.email_fuzzy)) !== null) { + + shift = me.index + me[1].length; + next = me.index + me[0].length; + + if (this.__index__ < 0 || shift < this.__index__ || + (shift === this.__index__ && next > this.__last_index__)) { + this.__schema__ = 'mailto:'; + this.__index__ = shift; + this.__last_index__ = next; + } + } + } + } + + return this.__index__ >= 0; +}; + + +/** + * LinkifyIt#pretest(text) -> Boolean + * + * Very quick check, that can give false positives. Returns true if link MAY BE + * can exists. Can be used for speed optimization, when you need to check that + * link NOT exists. + **/ +LinkifyIt.prototype.pretest = function pretest(text) { + return this.re.pretest.test(text); +}; + + +/** + * LinkifyIt#testSchemaAt(text, name, position) -> Number + * - text (String): text to scan + * - name (String): rule (schema) name + * - position (Number): text offset to check from + * + * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly + * at given position. Returns length of found pattern (0 on fail). + **/ +LinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) { + // If not supported schema check requested - terminate + if (!this.__compiled__[schema.toLowerCase()]) { + return 0; + } + return this.__compiled__[schema.toLowerCase()].validate(text, pos, this); +}; + + +/** + * LinkifyIt#match(text) -> Array|null + * + * Returns array of found link descriptions or `null` on fail. We strongly + * recommend to use [[LinkifyIt#test]] first, for best speed. + * + * ##### Result match description + * + * - __schema__ - link schema, can be empty for fuzzy links, or `//` for + * protocol-neutral links. + * - __index__ - offset of matched text + * - __lastIndex__ - index of next char after mathch end + * - __raw__ - matched text + * - __text__ - normalized text + * - __url__ - link, generated from matched text + **/ +LinkifyIt.prototype.match = function match(text) { + var shift = 0, result = []; + + // Try to take previous element from cache, if .test() called before + if (this.__index__ >= 0 && this.__text_cache__ === text) { + result.push(createMatch(this, shift)); + shift = this.__last_index__; + } + + // Cut head if cache was used + var tail = shift ? text.slice(shift) : text; + + // Scan string until end reached + while (this.test(tail)) { + result.push(createMatch(this, shift)); + + tail = tail.slice(this.__last_index__); + shift += this.__last_index__; + } + + if (result.length) { + return result; + } + + return null; +}; + + +/** chainable + * LinkifyIt#tlds(list [, keepOld]) -> this + * - list (Array): list of tlds + * - keepOld (Boolean): merge with current list if `true` (`false` by default) + * + * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix) + * to avoid false positives. By default this algorythm used: + * + * - hostname with any 2-letter root zones are ok. + * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф + * are ok. + * - encoded (`xn--...`) root zones are ok. + * + * If list is replaced, then exact match for 2-chars root zones will be checked. + **/ +LinkifyIt.prototype.tlds = function tlds(list, keepOld) { + list = Array.isArray(list) ? list : [ list ]; + + if (!keepOld) { + this.__tlds__ = list.slice(); + this.__tlds_replaced__ = true; + compile(this); + return this; + } + + this.__tlds__ = this.__tlds__.concat(list) + .sort() + .filter(function (el, idx, arr) { + return el !== arr[idx - 1]; + }) + .reverse(); + + compile(this); + return this; +}; + +/** + * LinkifyIt#normalize(match) + * + * Default normalizer (if schema does not define it's own). + **/ +LinkifyIt.prototype.normalize = function normalize(match) { + + // Do minimal possible changes by default. Need to collect feedback prior + // to move forward https://github.com/markdown-it/linkify-it/issues/1 + + if (!match.schema) { match.url = 'http://' + match.url; } + + if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) { + match.url = 'mailto:' + match.url; + } +}; + + +/** + * LinkifyIt#onCompile() + * + * Override to modify basic RegExp-s. + **/ +LinkifyIt.prototype.onCompile = function onCompile() { +}; + + +module.exports = LinkifyIt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/lib/re.js b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/lib/re.js new file mode 100644 index 00000000..5f34a721 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/lib/re.js @@ -0,0 +1,181 @@ +'use strict'; + + +module.exports = function (opts) { + var re = {}; + + // Use direct extract instead of `regenerate` to reduse browserified size + re.src_Any = require('uc.micro/properties/Any/regex').source; + re.src_Cc = require('uc.micro/categories/Cc/regex').source; + re.src_Z = require('uc.micro/categories/Z/regex').source; + re.src_P = require('uc.micro/categories/P/regex').source; + + // \p{\Z\P\Cc\CF} (white spaces + control + format + punctuation) + re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|'); + + // \p{\Z\Cc} (white spaces + control) + re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|'); + + // Experimental. List of chars, completely prohibited in links + // because can separate it from other part of text + var text_separators = '[><\uff5c]'; + + // All possible word characters (everything without punctuation, spaces & controls) + // Defined via punctuation & spaces to save space + // Should be something like \p{\L\N\S\M} (\w but without `_`) + re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')'; + // The same as abothe but without [0-9] + // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')'; + + //////////////////////////////////////////////////////////////////////////////// + + re.src_ip4 = + + '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'; + + // Prohibit any of "@/[]()" in user/pass to avoid wrong domain fetch. + re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\[\\]()]).)+@)?'; + + re.src_port = + + '(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?'; + + re.src_host_terminator = + + '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\d|\\.-|\\.(?!$|' + re.src_ZPCc + '))'; + + re.src_path = + + '(?:' + + '[/?#]' + + '(?:' + + '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\]{}.,"\'?!\\-;]).|' + + '\\[(?:(?!' + re.src_ZCc + '|\\]).)*\\]|' + + '\\((?:(?!' + re.src_ZCc + '|[)]).)*\\)|' + + '\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\}|' + + '\\"(?:(?!' + re.src_ZCc + '|["]).)+\\"|' + + "\\'(?:(?!" + re.src_ZCc + "|[']).)+\\'|" + + "\\'(?=" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found + '\\.{2,}[a-zA-Z0-9%/&]|' + // google has many dots in "google search" links (#66, #81). + // github has ... in commit range links, + // Restrict to + // - english + // - percent-encoded + // - parts of file path + // - params separator + // until more examples found. + '\\.(?!' + re.src_ZCc + '|[.]).|' + + (opts && opts['---'] ? + '\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate + : + '\\-+|' + ) + + ',(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths + ';(?!' + re.src_ZCc + ').|' + // allow `;` if not followed by space-like char + '\\!+(?!' + re.src_ZCc + '|[!]).|' + // allow `!!!` in paths, but not at the end + '\\?(?!' + re.src_ZCc + '|[?]).' + + ')+' + + '|\\/' + + ')?'; + + // Allow anything in markdown spec, forbid quote (") at the first position + // because emails enclosed in quotes are far more common + re.src_email_name = + + '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*'; + + re.src_xn = + + 'xn--[a-z0-9\\-]{1,59}'; + + // More to read about domain names + // http://serverfault.com/questions/638260/ + + re.src_domain_root = + + // Allow letters & digits (http://test1) + '(?:' + + re.src_xn + + '|' + + re.src_pseudo_letter + '{1,63}' + + ')'; + + re.src_domain = + + '(?:' + + re.src_xn + + '|' + + '(?:' + re.src_pseudo_letter + ')' + + '|' + + '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' + + ')'; + + re.src_host = + + '(?:' + + // Don't need IP check, because digits are already allowed in normal domain names + // src_ip4 + + // '|' + + '(?:(?:(?:' + re.src_domain + ')\\.)*' + re.src_domain/*_root*/ + ')' + + ')'; + + re.tpl_host_fuzzy = + + '(?:' + + re.src_ip4 + + '|' + + '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))' + + ')'; + + re.tpl_host_no_ip_fuzzy = + + '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))'; + + re.src_host_strict = + + re.src_host + re.src_host_terminator; + + re.tpl_host_fuzzy_strict = + + re.tpl_host_fuzzy + re.src_host_terminator; + + re.src_host_port_strict = + + re.src_host + re.src_port + re.src_host_terminator; + + re.tpl_host_port_fuzzy_strict = + + re.tpl_host_fuzzy + re.src_port + re.src_host_terminator; + + re.tpl_host_port_no_ip_fuzzy_strict = + + re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator; + + + //////////////////////////////////////////////////////////////////////////////// + // Main rules + + // Rude test fuzzy links by host, for quick deny + re.tpl_host_fuzzy_test = + + 'localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))'; + + re.tpl_email_fuzzy = + + '(^|' + text_separators + '|"|\\(|' + re.src_ZCc + ')' + + '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')'; + + re.tpl_link_fuzzy = + // Fuzzy link can't be prepended with .:/\- and non punctuation. + // but can start with > (markdown blockquote) + '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')'; + + re.tpl_link_no_ip_fuzzy = + // Fuzzy link can't be prepended with .:/\- and non punctuation. + // but can start with > (markdown blockquote) + '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')'; + + return re; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/package.json new file mode 100644 index 00000000..b6c36d2b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/linkify-it/package.json @@ -0,0 +1,48 @@ +{ + "name": "linkify-it", + "version": "3.0.3", + "description": "Links recognition library with FULL unicode support", + "keywords": [ + "linkify", + "linkifier", + "autolink", + "autolinker" + ], + "repository": "markdown-it/linkify-it", + "files": [ + "index.js", + "lib/" + ], + "license": "MIT", + "scripts": { + "lint": "eslint .", + "test": "npm run lint && nyc mocha", + "coverage": "npm run test && nyc report --reporter html", + "report-coveralls": "nyc report --reporter=text-lcov | coveralls", + "demo": "npm run lint && node support/build_demo.js", + "doc": "node support/build_doc.js", + "gh-pages": "npm run demo && npm run doc && shx cp -R doc/ demo/ && gh-pages -d demo -f", + "prepublishOnly": "npm run gh-pages" + }, + "dependencies": { + "uc.micro": "^1.0.1" + }, + "devDependencies": { + "ansi": "^0.3.0", + "autoprefixer-stylus": "^0.14.0", + "benchmark": "^2.1.0", + "browserify": "^16.2.3", + "coveralls": "^3.0.2", + "eslint": "^7.0.0", + "gh-pages": "^2.2.0", + "mdurl": "^1.0.0", + "mocha": "^7.1.2", + "ndoc": "^5.0.1", + "nyc": "^15.0.1", + "pug-cli": "^1.0.0-alpha6", + "shelljs": "^0.8.4", + "shx": "^0.3.2", + "stylus": "~0.54.5", + "tlds": "^1.166.0" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/LICENSE new file mode 100644 index 00000000..77c42f14 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/LICENSE @@ -0,0 +1,47 @@ +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/README.md new file mode 100644 index 00000000..3ab1a05c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/README.md @@ -0,0 +1,39 @@ +# lodash v4.17.21 + +The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules. + +## Installation + +Using npm: +```shell +$ npm i -g npm +$ npm i --save lodash +``` + +In Node.js: +```js +// Load the full build. +var _ = require('lodash'); +// Load the core build. +var _ = require('lodash/core'); +// Load the FP build for immutable auto-curried iteratee-first data-last methods. +var fp = require('lodash/fp'); + +// Load method categories. +var array = require('lodash/array'); +var object = require('lodash/fp/object'); + +// Cherry-pick methods for smaller browserify/rollup/webpack bundles. +var at = require('lodash/at'); +var curryN = require('lodash/fp/curryN'); +``` + +See the [package source](https://github.com/lodash/lodash/tree/4.17.21-npm) for more details. + +**Note:**
+Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL. + +## Support + +Tested in Chrome 74-75, Firefox 66-67, IE 11, Edge 18, Safari 11-12, & Node.js 8-12.
+Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_DataView.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_DataView.js new file mode 100644 index 00000000..ac2d57ca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_DataView.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +module.exports = DataView; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Hash.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Hash.js new file mode 100644 index 00000000..b504fe34 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Hash.js @@ -0,0 +1,32 @@ +var hashClear = require('./_hashClear'), + hashDelete = require('./_hashDelete'), + hashGet = require('./_hashGet'), + hashHas = require('./_hashHas'), + hashSet = require('./_hashSet'); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LazyWrapper.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LazyWrapper.js new file mode 100644 index 00000000..81786c7f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LazyWrapper.js @@ -0,0 +1,28 @@ +var baseCreate = require('./_baseCreate'), + baseLodash = require('./_baseLodash'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ +function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; +} + +// Ensure `LazyWrapper` is an instance of `baseLodash`. +LazyWrapper.prototype = baseCreate(baseLodash.prototype); +LazyWrapper.prototype.constructor = LazyWrapper; + +module.exports = LazyWrapper; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_ListCache.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_ListCache.js new file mode 100644 index 00000000..26895c3a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_ListCache.js @@ -0,0 +1,32 @@ +var listCacheClear = require('./_listCacheClear'), + listCacheDelete = require('./_listCacheDelete'), + listCacheGet = require('./_listCacheGet'), + listCacheHas = require('./_listCacheHas'), + listCacheSet = require('./_listCacheSet'); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LodashWrapper.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LodashWrapper.js new file mode 100644 index 00000000..c1e4d9df --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_LodashWrapper.js @@ -0,0 +1,22 @@ +var baseCreate = require('./_baseCreate'), + baseLodash = require('./_baseLodash'); + +/** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ +function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; +} + +LodashWrapper.prototype = baseCreate(baseLodash.prototype); +LodashWrapper.prototype.constructor = LodashWrapper; + +module.exports = LodashWrapper; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Map.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Map.js new file mode 100644 index 00000000..b73f29a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Map.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +module.exports = Map; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_MapCache.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_MapCache.js new file mode 100644 index 00000000..4a4eea7b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_MapCache.js @@ -0,0 +1,32 @@ +var mapCacheClear = require('./_mapCacheClear'), + mapCacheDelete = require('./_mapCacheDelete'), + mapCacheGet = require('./_mapCacheGet'), + mapCacheHas = require('./_mapCacheHas'), + mapCacheSet = require('./_mapCacheSet'); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Promise.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Promise.js new file mode 100644 index 00000000..247b9e1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Promise.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Promise = getNative(root, 'Promise'); + +module.exports = Promise; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Set.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Set.js new file mode 100644 index 00000000..b3c8dcbf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Set.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Set = getNative(root, 'Set'); + +module.exports = Set; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_SetCache.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_SetCache.js new file mode 100644 index 00000000..6468b064 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_SetCache.js @@ -0,0 +1,27 @@ +var MapCache = require('./_MapCache'), + setCacheAdd = require('./_setCacheAdd'), + setCacheHas = require('./_setCacheHas'); + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +module.exports = SetCache; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Stack.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Stack.js new file mode 100644 index 00000000..80b2cf1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Stack.js @@ -0,0 +1,27 @@ +var ListCache = require('./_ListCache'), + stackClear = require('./_stackClear'), + stackDelete = require('./_stackDelete'), + stackGet = require('./_stackGet'), + stackHas = require('./_stackHas'), + stackSet = require('./_stackSet'); + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +module.exports = Stack; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Symbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Symbol.js new file mode 100644 index 00000000..a013f7c5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Symbol.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Symbol = root.Symbol; + +module.exports = Symbol; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Uint8Array.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Uint8Array.js new file mode 100644 index 00000000..2fb30e15 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_Uint8Array.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +module.exports = Uint8Array; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_WeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_WeakMap.js new file mode 100644 index 00000000..567f86c6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_WeakMap.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var WeakMap = getNative(root, 'WeakMap'); + +module.exports = WeakMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_apply.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_apply.js new file mode 100644 index 00000000..36436dda --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_apply.js @@ -0,0 +1,21 @@ +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +module.exports = apply; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayAggregator.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayAggregator.js new file mode 100644 index 00000000..d96c3ca4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayAggregator.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} + +module.exports = arrayAggregator; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEach.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEach.js new file mode 100644 index 00000000..2c5f5796 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEach.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEach; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEachRight.js new file mode 100644 index 00000000..976ca5c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEachRight.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEachRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEvery.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEvery.js new file mode 100644 index 00000000..e26a9184 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayEvery.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ +function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; +} + +module.exports = arrayEvery; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayFilter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayFilter.js new file mode 100644 index 00000000..75ea2544 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayFilter.js @@ -0,0 +1,25 @@ +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = arrayFilter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludes.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludes.js new file mode 100644 index 00000000..3737a6d9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludes.js @@ -0,0 +1,17 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +module.exports = arrayIncludes; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludesWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludesWith.js new file mode 100644 index 00000000..235fd975 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayIncludesWith.js @@ -0,0 +1,22 @@ +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +module.exports = arrayIncludesWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayLikeKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayLikeKeys.js new file mode 100644 index 00000000..b2ec9ce7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayLikeKeys.js @@ -0,0 +1,49 @@ +var baseTimes = require('./_baseTimes'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isIndex = require('./_isIndex'), + isTypedArray = require('./isTypedArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +module.exports = arrayLikeKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayMap.js new file mode 100644 index 00000000..22b22464 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayMap.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayPush.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayPush.js new file mode 100644 index 00000000..7d742b38 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayPush.js @@ -0,0 +1,20 @@ +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduce.js new file mode 100644 index 00000000..de8b79b2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduce.js @@ -0,0 +1,26 @@ +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +module.exports = arrayReduce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduceRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduceRight.js new file mode 100644 index 00000000..22d8976d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayReduceRight.js @@ -0,0 +1,24 @@ +/** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; +} + +module.exports = arrayReduceRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySample.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySample.js new file mode 100644 index 00000000..fcab0105 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySample.js @@ -0,0 +1,15 @@ +var baseRandom = require('./_baseRandom'); + +/** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ +function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; +} + +module.exports = arraySample; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySampleSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySampleSize.js new file mode 100644 index 00000000..8c7e364f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySampleSize.js @@ -0,0 +1,17 @@ +var baseClamp = require('./_baseClamp'), + copyArray = require('./_copyArray'), + shuffleSelf = require('./_shuffleSelf'); + +/** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); +} + +module.exports = arraySampleSize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayShuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayShuffle.js new file mode 100644 index 00000000..46313a39 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arrayShuffle.js @@ -0,0 +1,15 @@ +var copyArray = require('./_copyArray'), + shuffleSelf = require('./_shuffleSelf'); + +/** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); +} + +module.exports = arrayShuffle; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySome.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySome.js new file mode 100644 index 00000000..6fd02fd4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_arraySome.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +module.exports = arraySome; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiSize.js new file mode 100644 index 00000000..11d29c33 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiSize.js @@ -0,0 +1,12 @@ +var baseProperty = require('./_baseProperty'); + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = baseProperty('length'); + +module.exports = asciiSize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiToArray.js new file mode 100644 index 00000000..8e3dd5b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiToArray.js @@ -0,0 +1,12 @@ +/** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function asciiToArray(string) { + return string.split(''); +} + +module.exports = asciiToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiWords.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiWords.js new file mode 100644 index 00000000..d765f0f7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_asciiWords.js @@ -0,0 +1,15 @@ +/** Used to match words composed of alphanumeric characters. */ +var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + +/** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function asciiWords(string) { + return string.match(reAsciiWord) || []; +} + +module.exports = asciiWords; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignMergeValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignMergeValue.js new file mode 100644 index 00000000..cb1185e9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignMergeValue.js @@ -0,0 +1,20 @@ +var baseAssignValue = require('./_baseAssignValue'), + eq = require('./eq'); + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignMergeValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignValue.js new file mode 100644 index 00000000..40839575 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assignValue.js @@ -0,0 +1,28 @@ +var baseAssignValue = require('./_baseAssignValue'), + eq = require('./eq'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assocIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assocIndexOf.js new file mode 100644 index 00000000..5b77a2bd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_assocIndexOf.js @@ -0,0 +1,21 @@ +var eq = require('./eq'); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAggregator.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAggregator.js new file mode 100644 index 00000000..4bc9e91f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAggregator.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +module.exports = baseAggregator; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssign.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssign.js new file mode 100644 index 00000000..e5c4a1a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssign.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keys = require('./keys'); + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} + +module.exports = baseAssign; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignIn.js new file mode 100644 index 00000000..6624f900 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignIn.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keysIn = require('./keysIn'); + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); +} + +module.exports = baseAssignIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignValue.js new file mode 100644 index 00000000..d6f66ef3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAssignValue.js @@ -0,0 +1,25 @@ +var defineProperty = require('./_defineProperty'); + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +module.exports = baseAssignValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAt.js new file mode 100644 index 00000000..90e4237a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseAt.js @@ -0,0 +1,23 @@ +var get = require('./get'); + +/** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ +function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; +} + +module.exports = baseAt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClamp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClamp.js new file mode 100644 index 00000000..a1c56929 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClamp.js @@ -0,0 +1,22 @@ +/** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ +function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; +} + +module.exports = baseClamp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClone.js new file mode 100644 index 00000000..69f87054 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseClone.js @@ -0,0 +1,166 @@ +var Stack = require('./_Stack'), + arrayEach = require('./_arrayEach'), + assignValue = require('./_assignValue'), + baseAssign = require('./_baseAssign'), + baseAssignIn = require('./_baseAssignIn'), + cloneBuffer = require('./_cloneBuffer'), + copyArray = require('./_copyArray'), + copySymbols = require('./_copySymbols'), + copySymbolsIn = require('./_copySymbolsIn'), + getAllKeys = require('./_getAllKeys'), + getAllKeysIn = require('./_getAllKeysIn'), + getTag = require('./_getTag'), + initCloneArray = require('./_initCloneArray'), + initCloneByTag = require('./_initCloneByTag'), + initCloneObject = require('./_initCloneObject'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isMap = require('./isMap'), + isObject = require('./isObject'), + isSet = require('./isSet'), + keys = require('./keys'), + keysIn = require('./keysIn'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = +cloneableTags[boolTag] = cloneableTags[dateTag] = +cloneableTags[float32Tag] = cloneableTags[float64Tag] = +cloneableTags[int8Tag] = cloneableTags[int16Tag] = +cloneableTags[int32Tag] = cloneableTags[mapTag] = +cloneableTags[numberTag] = cloneableTags[objectTag] = +cloneableTags[regexpTag] = cloneableTags[setTag] = +cloneableTags[stringTag] = cloneableTags[symbolTag] = +cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = +cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +module.exports = baseClone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConforms.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConforms.js new file mode 100644 index 00000000..947e20d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConforms.js @@ -0,0 +1,18 @@ +var baseConformsTo = require('./_baseConformsTo'), + keys = require('./keys'); + +/** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ +function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; +} + +module.exports = baseConforms; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConformsTo.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConformsTo.js new file mode 100644 index 00000000..e449cb84 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseConformsTo.js @@ -0,0 +1,27 @@ +/** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ +function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; +} + +module.exports = baseConformsTo; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseCreate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseCreate.js new file mode 100644 index 00000000..ffa6a52a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseCreate.js @@ -0,0 +1,30 @@ +var isObject = require('./isObject'); + +/** Built-in value references. */ +var objectCreate = Object.create; + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +module.exports = baseCreate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDelay.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDelay.js new file mode 100644 index 00000000..1486d697 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDelay.js @@ -0,0 +1,21 @@ +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ +function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); +} + +module.exports = baseDelay; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDifference.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDifference.js new file mode 100644 index 00000000..343ac19f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseDifference.js @@ -0,0 +1,67 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + arrayMap = require('./_arrayMap'), + baseUnary = require('./_baseUnary'), + cacheHas = require('./_cacheHas'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ +function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; +} + +module.exports = baseDifference; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEach.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEach.js new file mode 100644 index 00000000..512c0676 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEach.js @@ -0,0 +1,14 @@ +var baseForOwn = require('./_baseForOwn'), + createBaseEach = require('./_createBaseEach'); + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +module.exports = baseEach; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEachRight.js new file mode 100644 index 00000000..0a8feeca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEachRight.js @@ -0,0 +1,14 @@ +var baseForOwnRight = require('./_baseForOwnRight'), + createBaseEach = require('./_createBaseEach'); + +/** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEachRight = createBaseEach(baseForOwnRight, true); + +module.exports = baseEachRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEvery.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEvery.js new file mode 100644 index 00000000..fa52f7bc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseEvery.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ +function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; +} + +module.exports = baseEvery; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseExtremum.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseExtremum.js new file mode 100644 index 00000000..9d6aa77e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseExtremum.js @@ -0,0 +1,32 @@ +var isSymbol = require('./isSymbol'); + +/** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; +} + +module.exports = baseExtremum; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFill.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFill.js new file mode 100644 index 00000000..46ef9c76 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFill.js @@ -0,0 +1,32 @@ +var toInteger = require('./toInteger'), + toLength = require('./toLength'); + +/** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ +function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; +} + +module.exports = baseFill; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFilter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFilter.js new file mode 100644 index 00000000..46784773 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFilter.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +module.exports = baseFilter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindIndex.js new file mode 100644 index 00000000..e3f5d8aa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindIndex.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +module.exports = baseFindIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindKey.js new file mode 100644 index 00000000..2e430f3a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFindKey.js @@ -0,0 +1,23 @@ +/** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ +function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; +} + +module.exports = baseFindKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFlatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFlatten.js new file mode 100644 index 00000000..4b1e009b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFlatten.js @@ -0,0 +1,38 @@ +var arrayPush = require('./_arrayPush'), + isFlattenable = require('./_isFlattenable'); + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFor.js new file mode 100644 index 00000000..d946590f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFor.js @@ -0,0 +1,16 @@ +var createBaseFor = require('./_createBaseFor'); + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +module.exports = baseFor; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwn.js new file mode 100644 index 00000000..503d5234 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwn.js @@ -0,0 +1,16 @@ +var baseFor = require('./_baseFor'), + keys = require('./keys'); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +module.exports = baseForOwn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwnRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwnRight.js new file mode 100644 index 00000000..a4b10e6c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForOwnRight.js @@ -0,0 +1,16 @@ +var baseForRight = require('./_baseForRight'), + keys = require('./keys'); + +/** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); +} + +module.exports = baseForOwnRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForRight.js new file mode 100644 index 00000000..32842cd8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseForRight.js @@ -0,0 +1,15 @@ +var createBaseFor = require('./_createBaseFor'); + +/** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseForRight = createBaseFor(true); + +module.exports = baseForRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFunctions.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFunctions.js new file mode 100644 index 00000000..d23bc9b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseFunctions.js @@ -0,0 +1,19 @@ +var arrayFilter = require('./_arrayFilter'), + isFunction = require('./isFunction'); + +/** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ +function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); +} + +module.exports = baseFunctions; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGet.js new file mode 100644 index 00000000..a194913d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGet.js @@ -0,0 +1,24 @@ +var castPath = require('./_castPath'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetAllKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetAllKeys.js new file mode 100644 index 00000000..8ad204ea --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetAllKeys.js @@ -0,0 +1,20 @@ +var arrayPush = require('./_arrayPush'), + isArray = require('./isArray'); + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +module.exports = baseGetAllKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetTag.js new file mode 100644 index 00000000..b927ccc1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGetTag.js @@ -0,0 +1,28 @@ +var Symbol = require('./_Symbol'), + getRawTag = require('./_getRawTag'), + objectToString = require('./_objectToString'); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGt.js new file mode 100644 index 00000000..502d273c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseGt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ +function baseGt(value, other) { + return value > other; +} + +module.exports = baseGt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHas.js new file mode 100644 index 00000000..1b730321 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHas.js @@ -0,0 +1,19 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); +} + +module.exports = baseHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHasIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHasIn.js new file mode 100644 index 00000000..2e0d0426 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseHasIn.js @@ -0,0 +1,13 @@ +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +module.exports = baseHasIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInRange.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInRange.js new file mode 100644 index 00000000..ec956661 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInRange.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ +function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); +} + +module.exports = baseInRange; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOf.js new file mode 100644 index 00000000..167e706e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOf.js @@ -0,0 +1,20 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIsNaN = require('./_baseIsNaN'), + strictIndexOf = require('./_strictIndexOf'); + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +module.exports = baseIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOfWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOfWith.js new file mode 100644 index 00000000..f815fe0d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIndexOfWith.js @@ -0,0 +1,23 @@ +/** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; +} + +module.exports = baseIndexOfWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIntersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIntersection.js new file mode 100644 index 00000000..c1d250c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIntersection.js @@ -0,0 +1,74 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + arrayMap = require('./_arrayMap'), + baseUnary = require('./_baseUnary'), + cacheHas = require('./_cacheHas'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ +function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseIntersection; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInverter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInverter.js new file mode 100644 index 00000000..fbc337f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInverter.js @@ -0,0 +1,21 @@ +var baseForOwn = require('./_baseForOwn'); + +/** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ +function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; +} + +module.exports = baseInverter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInvoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInvoke.js new file mode 100644 index 00000000..49bcf3c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseInvoke.js @@ -0,0 +1,24 @@ +var apply = require('./_apply'), + castPath = require('./_castPath'), + last = require('./last'), + parent = require('./_parent'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ +function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); +} + +module.exports = baseInvoke; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArguments.js new file mode 100644 index 00000000..b3562cca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArguments.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +module.exports = baseIsArguments; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArrayBuffer.js new file mode 100644 index 00000000..a2c4f30a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsArrayBuffer.js @@ -0,0 +1,17 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +var arrayBufferTag = '[object ArrayBuffer]'; + +/** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ +function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; +} + +module.exports = baseIsArrayBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsDate.js new file mode 100644 index 00000000..ba67c785 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsDate.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var dateTag = '[object Date]'; + +/** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ +function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; +} + +module.exports = baseIsDate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqual.js new file mode 100644 index 00000000..00a68a4f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqual.js @@ -0,0 +1,28 @@ +var baseIsEqualDeep = require('./_baseIsEqualDeep'), + isObjectLike = require('./isObjectLike'); + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +module.exports = baseIsEqual; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqualDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqualDeep.js new file mode 100644 index 00000000..e3cfd6a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsEqualDeep.js @@ -0,0 +1,83 @@ +var Stack = require('./_Stack'), + equalArrays = require('./_equalArrays'), + equalByTag = require('./_equalByTag'), + equalObjects = require('./_equalObjects'), + getTag = require('./_getTag'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isTypedArray = require('./isTypedArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +module.exports = baseIsEqualDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMap.js new file mode 100644 index 00000000..02a4021c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMap.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; +} + +module.exports = baseIsMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMatch.js new file mode 100644 index 00000000..72494bed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsMatch.js @@ -0,0 +1,62 @@ +var Stack = require('./_Stack'), + baseIsEqual = require('./_baseIsEqual'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +module.exports = baseIsMatch; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNaN.js new file mode 100644 index 00000000..316f1eb1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNaN.js @@ -0,0 +1,12 @@ +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +module.exports = baseIsNaN; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNative.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNative.js new file mode 100644 index 00000000..87023304 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsNative.js @@ -0,0 +1,47 @@ +var isFunction = require('./isFunction'), + isMasked = require('./_isMasked'), + isObject = require('./isObject'), + toSource = require('./_toSource'); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsRegExp.js new file mode 100644 index 00000000..6cd7c1ae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsRegExp.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var regexpTag = '[object RegExp]'; + +/** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ +function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; +} + +module.exports = baseIsRegExp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsSet.js new file mode 100644 index 00000000..6dee3671 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsSet.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; +} + +module.exports = baseIsSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsTypedArray.js new file mode 100644 index 00000000..1edb32ff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIsTypedArray.js @@ -0,0 +1,60 @@ +var baseGetTag = require('./_baseGetTag'), + isLength = require('./isLength'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +module.exports = baseIsTypedArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIteratee.js new file mode 100644 index 00000000..995c2575 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseIteratee.js @@ -0,0 +1,31 @@ +var baseMatches = require('./_baseMatches'), + baseMatchesProperty = require('./_baseMatchesProperty'), + identity = require('./identity'), + isArray = require('./isArray'), + property = require('./property'); + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +module.exports = baseIteratee; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeys.js new file mode 100644 index 00000000..45e9e6f3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeys.js @@ -0,0 +1,30 @@ +var isPrototype = require('./_isPrototype'), + nativeKeys = require('./_nativeKeys'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +module.exports = baseKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeysIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeysIn.js new file mode 100644 index 00000000..ea8a0a17 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseKeysIn.js @@ -0,0 +1,33 @@ +var isObject = require('./isObject'), + isPrototype = require('./_isPrototype'), + nativeKeysIn = require('./_nativeKeysIn'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +module.exports = baseKeysIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLodash.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLodash.js new file mode 100644 index 00000000..f76c790e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLodash.js @@ -0,0 +1,10 @@ +/** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ +function baseLodash() { + // No operation performed. +} + +module.exports = baseLodash; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLt.js new file mode 100644 index 00000000..8674d294 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseLt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ +function baseLt(value, other) { + return value < other; +} + +module.exports = baseLt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMap.js new file mode 100644 index 00000000..0bf5cead --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMap.js @@ -0,0 +1,22 @@ +var baseEach = require('./_baseEach'), + isArrayLike = require('./isArrayLike'); + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +module.exports = baseMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatches.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatches.js new file mode 100644 index 00000000..e56582ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatches.js @@ -0,0 +1,22 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'), + matchesStrictComparable = require('./_matchesStrictComparable'); + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +module.exports = baseMatches; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatchesProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatchesProperty.js new file mode 100644 index 00000000..24afd893 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMatchesProperty.js @@ -0,0 +1,33 @@ +var baseIsEqual = require('./_baseIsEqual'), + get = require('./get'), + hasIn = require('./hasIn'), + isKey = require('./_isKey'), + isStrictComparable = require('./_isStrictComparable'), + matchesStrictComparable = require('./_matchesStrictComparable'), + toKey = require('./_toKey'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +module.exports = baseMatchesProperty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMean.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMean.js new file mode 100644 index 00000000..fa9e00a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMean.js @@ -0,0 +1,20 @@ +var baseSum = require('./_baseSum'); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ +function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; +} + +module.exports = baseMean; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMerge.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMerge.js new file mode 100644 index 00000000..c98b5eb0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMerge.js @@ -0,0 +1,42 @@ +var Stack = require('./_Stack'), + assignMergeValue = require('./_assignMergeValue'), + baseFor = require('./_baseFor'), + baseMergeDeep = require('./_baseMergeDeep'), + isObject = require('./isObject'), + keysIn = require('./keysIn'), + safeGet = require('./_safeGet'); + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); +} + +module.exports = baseMerge; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMergeDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMergeDeep.js new file mode 100644 index 00000000..4679e8dc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseMergeDeep.js @@ -0,0 +1,94 @@ +var assignMergeValue = require('./_assignMergeValue'), + cloneBuffer = require('./_cloneBuffer'), + cloneTypedArray = require('./_cloneTypedArray'), + copyArray = require('./_copyArray'), + initCloneObject = require('./_initCloneObject'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isArrayLikeObject = require('./isArrayLikeObject'), + isBuffer = require('./isBuffer'), + isFunction = require('./isFunction'), + isObject = require('./isObject'), + isPlainObject = require('./isPlainObject'), + isTypedArray = require('./isTypedArray'), + safeGet = require('./_safeGet'), + toPlainObject = require('./toPlainObject'); + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +module.exports = baseMergeDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseNth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseNth.js new file mode 100644 index 00000000..0403c2a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseNth.js @@ -0,0 +1,20 @@ +var isIndex = require('./_isIndex'); + +/** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ +function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; +} + +module.exports = baseNth; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseOrderBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseOrderBy.js new file mode 100644 index 00000000..775a0174 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseOrderBy.js @@ -0,0 +1,49 @@ +var arrayMap = require('./_arrayMap'), + baseGet = require('./_baseGet'), + baseIteratee = require('./_baseIteratee'), + baseMap = require('./_baseMap'), + baseSortBy = require('./_baseSortBy'), + baseUnary = require('./_baseUnary'), + compareMultiple = require('./_compareMultiple'), + identity = require('./identity'), + isArray = require('./isArray'); + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +module.exports = baseOrderBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePick.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePick.js new file mode 100644 index 00000000..09b458a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePick.js @@ -0,0 +1,19 @@ +var basePickBy = require('./_basePickBy'), + hasIn = require('./hasIn'); + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); +} + +module.exports = basePick; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePickBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePickBy.js new file mode 100644 index 00000000..85be68c8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePickBy.js @@ -0,0 +1,30 @@ +var baseGet = require('./_baseGet'), + baseSet = require('./_baseSet'), + castPath = require('./_castPath'); + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; +} + +module.exports = basePickBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseProperty.js new file mode 100644 index 00000000..496281ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseProperty.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = baseProperty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyDeep.js new file mode 100644 index 00000000..1e5aae50 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyDeep.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'); + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +module.exports = basePropertyDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyOf.js new file mode 100644 index 00000000..46173999 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePropertyOf.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = basePropertyOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAll.js new file mode 100644 index 00000000..305720ed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAll.js @@ -0,0 +1,51 @@ +var arrayMap = require('./_arrayMap'), + baseIndexOf = require('./_baseIndexOf'), + baseIndexOfWith = require('./_baseIndexOfWith'), + baseUnary = require('./_baseUnary'), + copyArray = require('./_copyArray'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ +function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; +} + +module.exports = basePullAll; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAt.js new file mode 100644 index 00000000..c3e9e710 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_basePullAt.js @@ -0,0 +1,37 @@ +var baseUnset = require('./_baseUnset'), + isIndex = require('./_isIndex'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ +function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; +} + +module.exports = basePullAt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRandom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRandom.js new file mode 100644 index 00000000..94f76a76 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRandom.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeRandom = Math.random; + +/** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ +function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); +} + +module.exports = baseRandom; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRange.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRange.js new file mode 100644 index 00000000..0fb8e419 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRange.js @@ -0,0 +1,28 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ +function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; +} + +module.exports = baseRange; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseReduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseReduce.js new file mode 100644 index 00000000..5a1f8b57 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseReduce.js @@ -0,0 +1,23 @@ +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +module.exports = baseReduce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRepeat.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRepeat.js new file mode 100644 index 00000000..ee44c31a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRepeat.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor; + +/** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ +function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; +} + +module.exports = baseRepeat; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRest.js new file mode 100644 index 00000000..d0dc4bdd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseRest.js @@ -0,0 +1,17 @@ +var identity = require('./identity'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +module.exports = baseRest; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSample.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSample.js new file mode 100644 index 00000000..58582b91 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSample.js @@ -0,0 +1,15 @@ +var arraySample = require('./_arraySample'), + values = require('./values'); + +/** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ +function baseSample(collection) { + return arraySample(values(collection)); +} + +module.exports = baseSample; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSampleSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSampleSize.js new file mode 100644 index 00000000..5c90ec51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSampleSize.js @@ -0,0 +1,18 @@ +var baseClamp = require('./_baseClamp'), + shuffleSelf = require('./_shuffleSelf'), + values = require('./values'); + +/** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); +} + +module.exports = baseSampleSize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSet.js new file mode 100644 index 00000000..99f4fbf9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSet.js @@ -0,0 +1,51 @@ +var assignValue = require('./_assignValue'), + castPath = require('./_castPath'), + isIndex = require('./_isIndex'), + isObject = require('./isObject'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +module.exports = baseSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetData.js new file mode 100644 index 00000000..c409947d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetData.js @@ -0,0 +1,17 @@ +var identity = require('./identity'), + metaMap = require('./_metaMap'); + +/** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; +}; + +module.exports = baseSetData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetToString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetToString.js new file mode 100644 index 00000000..89eaca38 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSetToString.js @@ -0,0 +1,22 @@ +var constant = require('./constant'), + defineProperty = require('./_defineProperty'), + identity = require('./identity'); + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +module.exports = baseSetToString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseShuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseShuffle.js new file mode 100644 index 00000000..023077ac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseShuffle.js @@ -0,0 +1,15 @@ +var shuffleSelf = require('./_shuffleSelf'), + values = require('./values'); + +/** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function baseShuffle(collection) { + return shuffleSelf(values(collection)); +} + +module.exports = baseShuffle; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSlice.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSlice.js new file mode 100644 index 00000000..786f6c99 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSlice.js @@ -0,0 +1,31 @@ +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +module.exports = baseSlice; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSome.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSome.js new file mode 100644 index 00000000..58f3f447 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSome.js @@ -0,0 +1,22 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; +} + +module.exports = baseSome; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortBy.js new file mode 100644 index 00000000..a25c92ed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortBy.js @@ -0,0 +1,21 @@ +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +module.exports = baseSortBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndex.js new file mode 100644 index 00000000..638c366c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndex.js @@ -0,0 +1,42 @@ +var baseSortedIndexBy = require('./_baseSortedIndexBy'), + identity = require('./identity'), + isSymbol = require('./isSymbol'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + +/** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); +} + +module.exports = baseSortedIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndexBy.js new file mode 100644 index 00000000..c247b377 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedIndexBy.js @@ -0,0 +1,67 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeMin = Math.min; + +/** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); +} + +module.exports = baseSortedIndexBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedUniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedUniq.js new file mode 100644 index 00000000..802159a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSortedUniq.js @@ -0,0 +1,30 @@ +var eq = require('./eq'); + +/** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; +} + +module.exports = baseSortedUniq; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSum.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSum.js new file mode 100644 index 00000000..a9e84c13 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseSum.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ +function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; +} + +module.exports = baseSum; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTimes.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTimes.js new file mode 100644 index 00000000..0603fc37 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTimes.js @@ -0,0 +1,20 @@ +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +module.exports = baseTimes; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToNumber.js new file mode 100644 index 00000000..04859f39 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToNumber.js @@ -0,0 +1,24 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ +function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; +} + +module.exports = baseToNumber; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToPairs.js new file mode 100644 index 00000000..bff19912 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToPairs.js @@ -0,0 +1,18 @@ +var arrayMap = require('./_arrayMap'); + +/** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ +function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); +} + +module.exports = baseToPairs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToString.js new file mode 100644 index 00000000..ada6ad29 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseToString.js @@ -0,0 +1,37 @@ +var Symbol = require('./_Symbol'), + arrayMap = require('./_arrayMap'), + isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTrim.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTrim.js new file mode 100644 index 00000000..3e2797d9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseTrim.js @@ -0,0 +1,19 @@ +var trimmedEndIndex = require('./_trimmedEndIndex'); + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +module.exports = baseTrim; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnary.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnary.js new file mode 100644 index 00000000..98639e92 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnary.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +module.exports = baseUnary; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUniq.js new file mode 100644 index 00000000..aea459dc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUniq.js @@ -0,0 +1,72 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + cacheHas = require('./_cacheHas'), + createSet = require('./_createSet'), + setToArray = require('./_setToArray'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseUniq; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnset.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnset.js new file mode 100644 index 00000000..eefc6e37 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUnset.js @@ -0,0 +1,20 @@ +var castPath = require('./_castPath'), + last = require('./last'), + parent = require('./_parent'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ +function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; +} + +module.exports = baseUnset; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUpdate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUpdate.js new file mode 100644 index 00000000..92a62377 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseUpdate.js @@ -0,0 +1,18 @@ +var baseGet = require('./_baseGet'), + baseSet = require('./_baseSet'); + +/** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); +} + +module.exports = baseUpdate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseValues.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseValues.js new file mode 100644 index 00000000..b95faadc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseValues.js @@ -0,0 +1,19 @@ +var arrayMap = require('./_arrayMap'); + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); +} + +module.exports = baseValues; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWhile.js new file mode 100644 index 00000000..07eac61b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWhile.js @@ -0,0 +1,26 @@ +var baseSlice = require('./_baseSlice'); + +/** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ +function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); +} + +module.exports = baseWhile; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWrapperValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWrapperValue.js new file mode 100644 index 00000000..443e0df5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseWrapperValue.js @@ -0,0 +1,25 @@ +var LazyWrapper = require('./_LazyWrapper'), + arrayPush = require('./_arrayPush'), + arrayReduce = require('./_arrayReduce'); + +/** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ +function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); +} + +module.exports = baseWrapperValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseXor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseXor.js new file mode 100644 index 00000000..8e69338b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseXor.js @@ -0,0 +1,36 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseUniq = require('./_baseUniq'); + +/** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ +function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); +} + +module.exports = baseXor; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseZipObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseZipObject.js new file mode 100644 index 00000000..401f85be --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_baseZipObject.js @@ -0,0 +1,23 @@ +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; +} + +module.exports = baseZipObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cacheHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cacheHas.js new file mode 100644 index 00000000..2dec8926 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cacheHas.js @@ -0,0 +1,13 @@ +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +module.exports = cacheHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castArrayLikeObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castArrayLikeObject.js new file mode 100644 index 00000000..92c75fa1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castArrayLikeObject.js @@ -0,0 +1,14 @@ +var isArrayLikeObject = require('./isArrayLikeObject'); + +/** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ +function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; +} + +module.exports = castArrayLikeObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castFunction.js new file mode 100644 index 00000000..98c91ae6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castFunction.js @@ -0,0 +1,14 @@ +var identity = require('./identity'); + +/** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ +function castFunction(value) { + return typeof value == 'function' ? value : identity; +} + +module.exports = castFunction; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castPath.js new file mode 100644 index 00000000..017e4c1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castPath.js @@ -0,0 +1,21 @@ +var isArray = require('./isArray'), + isKey = require('./_isKey'), + stringToPath = require('./_stringToPath'), + toString = require('./toString'); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castRest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castRest.js new file mode 100644 index 00000000..213c66f1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castRest.js @@ -0,0 +1,14 @@ +var baseRest = require('./_baseRest'); + +/** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +var castRest = baseRest; + +module.exports = castRest; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castSlice.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castSlice.js new file mode 100644 index 00000000..071faeba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_castSlice.js @@ -0,0 +1,18 @@ +var baseSlice = require('./_baseSlice'); + +/** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ +function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); +} + +module.exports = castSlice; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsEndIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsEndIndex.js new file mode 100644 index 00000000..07908ff3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsEndIndex.js @@ -0,0 +1,19 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ +function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +module.exports = charsEndIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsStartIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsStartIndex.js new file mode 100644 index 00000000..b17afd25 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_charsStartIndex.js @@ -0,0 +1,20 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ +function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +module.exports = charsStartIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneArrayBuffer.js new file mode 100644 index 00000000..c3d8f6e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneArrayBuffer.js @@ -0,0 +1,16 @@ +var Uint8Array = require('./_Uint8Array'); + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +module.exports = cloneArrayBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneBuffer.js new file mode 100644 index 00000000..27c48109 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneBuffer.js @@ -0,0 +1,35 @@ +var root = require('./_root'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +module.exports = cloneBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneDataView.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneDataView.js new file mode 100644 index 00000000..9c9b7b05 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneDataView.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +module.exports = cloneDataView; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneRegExp.js new file mode 100644 index 00000000..64a30dfb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneRegExp.js @@ -0,0 +1,17 @@ +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +module.exports = cloneRegExp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneSymbol.js new file mode 100644 index 00000000..bede39f5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneSymbol.js @@ -0,0 +1,18 @@ +var Symbol = require('./_Symbol'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +module.exports = cloneSymbol; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneTypedArray.js new file mode 100644 index 00000000..7aad84d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_cloneTypedArray.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +module.exports = cloneTypedArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareAscending.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareAscending.js new file mode 100644 index 00000000..8dc27910 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareAscending.js @@ -0,0 +1,41 @@ +var isSymbol = require('./isSymbol'); + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +module.exports = compareAscending; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareMultiple.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareMultiple.js new file mode 100644 index 00000000..ad61f0fb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_compareMultiple.js @@ -0,0 +1,44 @@ +var compareAscending = require('./_compareAscending'); + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +module.exports = compareMultiple; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgs.js new file mode 100644 index 00000000..1ce40f4f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgs.js @@ -0,0 +1,39 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; +} + +module.exports = composeArgs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgsRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgsRight.js new file mode 100644 index 00000000..8dc588d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_composeArgsRight.js @@ -0,0 +1,41 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; +} + +module.exports = composeArgsRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyArray.js new file mode 100644 index 00000000..cd94d5d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyArray.js @@ -0,0 +1,20 @@ +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +module.exports = copyArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyObject.js new file mode 100644 index 00000000..2f2a5c23 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copyObject.js @@ -0,0 +1,40 @@ +var assignValue = require('./_assignValue'), + baseAssignValue = require('./_baseAssignValue'); + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +module.exports = copyObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbols.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbols.js new file mode 100644 index 00000000..c35944ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbols.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbols = require('./_getSymbols'); + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); +} + +module.exports = copySymbols; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbolsIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbolsIn.js new file mode 100644 index 00000000..fdf20a73 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_copySymbolsIn.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbolsIn = require('./_getSymbolsIn'); + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); +} + +module.exports = copySymbolsIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_coreJsData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_coreJsData.js new file mode 100644 index 00000000..f8e5b4e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_coreJsData.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_countHolders.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_countHolders.js new file mode 100644 index 00000000..718fcdaa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_countHolders.js @@ -0,0 +1,21 @@ +/** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ +function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; +} + +module.exports = countHolders; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAggregator.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAggregator.js new file mode 100644 index 00000000..0be42c41 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAggregator.js @@ -0,0 +1,23 @@ +var arrayAggregator = require('./_arrayAggregator'), + baseAggregator = require('./_baseAggregator'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'); + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, baseIteratee(iteratee, 2), accumulator); + }; +} + +module.exports = createAggregator; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAssigner.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAssigner.js new file mode 100644 index 00000000..1f904c51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createAssigner.js @@ -0,0 +1,37 @@ +var baseRest = require('./_baseRest'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +module.exports = createAssigner; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseEach.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseEach.js new file mode 100644 index 00000000..d24fdd1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseEach.js @@ -0,0 +1,32 @@ +var isArrayLike = require('./isArrayLike'); + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +module.exports = createBaseEach; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseFor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseFor.js new file mode 100644 index 00000000..94cbf297 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBaseFor.js @@ -0,0 +1,25 @@ +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +module.exports = createBaseFor; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBind.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBind.js new file mode 100644 index 00000000..07cb99f4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createBind.js @@ -0,0 +1,28 @@ +var createCtor = require('./_createCtor'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; +} + +module.exports = createBind; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCaseFirst.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCaseFirst.js new file mode 100644 index 00000000..fe8ea483 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCaseFirst.js @@ -0,0 +1,33 @@ +var castSlice = require('./_castSlice'), + hasUnicode = require('./_hasUnicode'), + stringToArray = require('./_stringToArray'), + toString = require('./toString'); + +/** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ +function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; +} + +module.exports = createCaseFirst; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCompounder.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCompounder.js new file mode 100644 index 00000000..8d4cee2c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCompounder.js @@ -0,0 +1,24 @@ +var arrayReduce = require('./_arrayReduce'), + deburr = require('./deburr'), + words = require('./words'); + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]"; + +/** Used to match apostrophes. */ +var reApos = RegExp(rsApos, 'g'); + +/** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ +function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; +} + +module.exports = createCompounder; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCtor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCtor.js new file mode 100644 index 00000000..9047aa5f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCtor.js @@ -0,0 +1,37 @@ +var baseCreate = require('./_baseCreate'), + isObject = require('./isObject'); + +/** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ +function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; +} + +module.exports = createCtor; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCurry.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCurry.js new file mode 100644 index 00000000..f06c2cdd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createCurry.js @@ -0,0 +1,46 @@ +var apply = require('./_apply'), + createCtor = require('./_createCtor'), + createHybrid = require('./_createHybrid'), + createRecurry = require('./_createRecurry'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'), + root = require('./_root'); + +/** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; +} + +module.exports = createCurry; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFind.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFind.js new file mode 100644 index 00000000..8859ff89 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFind.js @@ -0,0 +1,25 @@ +var baseIteratee = require('./_baseIteratee'), + isArrayLike = require('./isArrayLike'), + keys = require('./keys'); + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +module.exports = createFind; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFlow.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFlow.js new file mode 100644 index 00000000..baaddbf5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createFlow.js @@ -0,0 +1,78 @@ +var LodashWrapper = require('./_LodashWrapper'), + flatRest = require('./_flatRest'), + getData = require('./_getData'), + getFuncName = require('./_getFuncName'), + isArray = require('./isArray'), + isLaziable = require('./_isLaziable'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ +function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); +} + +module.exports = createFlow; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createHybrid.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createHybrid.js new file mode 100644 index 00000000..b671bd11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createHybrid.js @@ -0,0 +1,92 @@ +var composeArgs = require('./_composeArgs'), + composeArgsRight = require('./_composeArgsRight'), + countHolders = require('./_countHolders'), + createCtor = require('./_createCtor'), + createRecurry = require('./_createRecurry'), + getHolder = require('./_getHolder'), + reorder = require('./_reorder'), + replaceHolders = require('./_replaceHolders'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_ARY_FLAG = 128, + WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; +} + +module.exports = createHybrid; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createInverter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createInverter.js new file mode 100644 index 00000000..6c0c5629 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createInverter.js @@ -0,0 +1,17 @@ +var baseInverter = require('./_baseInverter'); + +/** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ +function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; +} + +module.exports = createInverter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createMathOperation.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createMathOperation.js new file mode 100644 index 00000000..f1e238ac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createMathOperation.js @@ -0,0 +1,38 @@ +var baseToNumber = require('./_baseToNumber'), + baseToString = require('./_baseToString'); + +/** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ +function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; +} + +module.exports = createMathOperation; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createOver.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createOver.js new file mode 100644 index 00000000..3b945516 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createOver.js @@ -0,0 +1,27 @@ +var apply = require('./_apply'), + arrayMap = require('./_arrayMap'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + baseUnary = require('./_baseUnary'), + flatRest = require('./_flatRest'); + +/** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ +function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); +} + +module.exports = createOver; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPadding.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPadding.js new file mode 100644 index 00000000..2124612b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPadding.js @@ -0,0 +1,33 @@ +var baseRepeat = require('./_baseRepeat'), + baseToString = require('./_baseToString'), + castSlice = require('./_castSlice'), + hasUnicode = require('./_hasUnicode'), + stringSize = require('./_stringSize'), + stringToArray = require('./_stringToArray'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil; + +/** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ +function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); +} + +module.exports = createPadding; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPartial.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPartial.js new file mode 100644 index 00000000..e16c248b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createPartial.js @@ -0,0 +1,43 @@ +var apply = require('./_apply'), + createCtor = require('./_createCtor'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ +function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; +} + +module.exports = createPartial; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRange.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRange.js new file mode 100644 index 00000000..9f52c779 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRange.js @@ -0,0 +1,30 @@ +var baseRange = require('./_baseRange'), + isIterateeCall = require('./_isIterateeCall'), + toFinite = require('./toFinite'); + +/** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ +function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; +} + +module.exports = createRange; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRecurry.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRecurry.js new file mode 100644 index 00000000..eb29fb24 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRecurry.js @@ -0,0 +1,56 @@ +var isLaziable = require('./_isLaziable'), + setData = require('./_setData'), + setWrapToString = require('./_setWrapToString'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); +} + +module.exports = createRecurry; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRelationalOperation.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRelationalOperation.js new file mode 100644 index 00000000..a17c6b5e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRelationalOperation.js @@ -0,0 +1,20 @@ +var toNumber = require('./toNumber'); + +/** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ +function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; +} + +module.exports = createRelationalOperation; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRound.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRound.js new file mode 100644 index 00000000..88be5df3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createRound.js @@ -0,0 +1,35 @@ +var root = require('./_root'), + toInteger = require('./toInteger'), + toNumber = require('./toNumber'), + toString = require('./toString'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite, + nativeMin = Math.min; + +/** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ +function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; +} + +module.exports = createRound; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createSet.js new file mode 100644 index 00000000..0f644eea --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createSet.js @@ -0,0 +1,19 @@ +var Set = require('./_Set'), + noop = require('./noop'), + setToArray = require('./_setToArray'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); +}; + +module.exports = createSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createToPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createToPairs.js new file mode 100644 index 00000000..568417af --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createToPairs.js @@ -0,0 +1,30 @@ +var baseToPairs = require('./_baseToPairs'), + getTag = require('./_getTag'), + mapToArray = require('./_mapToArray'), + setToPairs = require('./_setToPairs'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ +function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; +} + +module.exports = createToPairs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createWrap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createWrap.js new file mode 100644 index 00000000..33f0633e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_createWrap.js @@ -0,0 +1,106 @@ +var baseSetData = require('./_baseSetData'), + createBind = require('./_createBind'), + createCurry = require('./_createCurry'), + createHybrid = require('./_createHybrid'), + createPartial = require('./_createPartial'), + getData = require('./_getData'), + mergeData = require('./_mergeData'), + setData = require('./_setData'), + setWrapToString = require('./_setWrapToString'), + toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); +} + +module.exports = createWrap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsAssignIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsAssignIn.js new file mode 100644 index 00000000..1f49e6fc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsAssignIn.js @@ -0,0 +1,29 @@ +var eq = require('./eq'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ +function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; +} + +module.exports = customDefaultsAssignIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsMerge.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsMerge.js new file mode 100644 index 00000000..4cab3175 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customDefaultsMerge.js @@ -0,0 +1,28 @@ +var baseMerge = require('./_baseMerge'), + isObject = require('./isObject'); + +/** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ +function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; +} + +module.exports = customDefaultsMerge; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customOmitClone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customOmitClone.js new file mode 100644 index 00000000..968db2ef --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_customOmitClone.js @@ -0,0 +1,16 @@ +var isPlainObject = require('./isPlainObject'); + +/** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ +function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; +} + +module.exports = customOmitClone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_deburrLetter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_deburrLetter.js new file mode 100644 index 00000000..3e531edc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_deburrLetter.js @@ -0,0 +1,71 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map Latin Unicode letters to basic Latin letters. */ +var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' +}; + +/** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ +var deburrLetter = basePropertyOf(deburredLetters); + +module.exports = deburrLetter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_defineProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_defineProperty.js new file mode 100644 index 00000000..b6116d92 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_defineProperty.js @@ -0,0 +1,11 @@ +var getNative = require('./_getNative'); + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +module.exports = defineProperty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalArrays.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalArrays.js new file mode 100644 index 00000000..824228c7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalArrays.js @@ -0,0 +1,84 @@ +var SetCache = require('./_SetCache'), + arraySome = require('./_arraySome'), + cacheHas = require('./_cacheHas'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +module.exports = equalArrays; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalByTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalByTag.js new file mode 100644 index 00000000..71919e86 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalByTag.js @@ -0,0 +1,112 @@ +var Symbol = require('./_Symbol'), + Uint8Array = require('./_Uint8Array'), + eq = require('./eq'), + equalArrays = require('./_equalArrays'), + mapToArray = require('./_mapToArray'), + setToArray = require('./_setToArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +module.exports = equalByTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalObjects.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalObjects.js new file mode 100644 index 00000000..cdaacd2d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_equalObjects.js @@ -0,0 +1,90 @@ +var getAllKeys = require('./_getAllKeys'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +module.exports = equalObjects; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeHtmlChar.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeHtmlChar.js new file mode 100644 index 00000000..7ca68ee6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeHtmlChar.js @@ -0,0 +1,21 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map characters to HTML entities. */ +var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; + +/** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +var escapeHtmlChar = basePropertyOf(htmlEscapes); + +module.exports = escapeHtmlChar; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeStringChar.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeStringChar.js new file mode 100644 index 00000000..44eca96c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_escapeStringChar.js @@ -0,0 +1,22 @@ +/** Used to escape characters for inclusion in compiled string literals. */ +var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +/** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; +} + +module.exports = escapeStringChar; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_flatRest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_flatRest.js new file mode 100644 index 00000000..94ab6cca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_flatRest.js @@ -0,0 +1,16 @@ +var flatten = require('./flatten'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +module.exports = flatRest; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_freeGlobal.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_freeGlobal.js new file mode 100644 index 00000000..bbec998f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_freeGlobal.js @@ -0,0 +1,4 @@ +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +module.exports = freeGlobal; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeys.js new file mode 100644 index 00000000..a9ce6995 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeys.js @@ -0,0 +1,16 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbols = require('./_getSymbols'), + keys = require('./keys'); + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +module.exports = getAllKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeysIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeysIn.js new file mode 100644 index 00000000..1b466784 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getAllKeysIn.js @@ -0,0 +1,17 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbolsIn = require('./_getSymbolsIn'), + keysIn = require('./keysIn'); + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); +} + +module.exports = getAllKeysIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getData.js new file mode 100644 index 00000000..a1fe7b77 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getData.js @@ -0,0 +1,15 @@ +var metaMap = require('./_metaMap'), + noop = require('./noop'); + +/** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ +var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); +}; + +module.exports = getData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getFuncName.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getFuncName.js new file mode 100644 index 00000000..21e15b33 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getFuncName.js @@ -0,0 +1,31 @@ +var realNames = require('./_realNames'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ +function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; +} + +module.exports = getFuncName; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getHolder.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getHolder.js new file mode 100644 index 00000000..65e94b5c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getHolder.js @@ -0,0 +1,13 @@ +/** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ +function getHolder(func) { + var object = func; + return object.placeholder; +} + +module.exports = getHolder; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMapData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMapData.js new file mode 100644 index 00000000..17f63032 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMapData.js @@ -0,0 +1,18 @@ +var isKeyable = require('./_isKeyable'); + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +module.exports = getMapData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMatchData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMatchData.js new file mode 100644 index 00000000..2cc70f91 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getMatchData.js @@ -0,0 +1,24 @@ +var isStrictComparable = require('./_isStrictComparable'), + keys = require('./keys'); + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +module.exports = getMatchData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getNative.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getNative.js new file mode 100644 index 00000000..97a622b8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getNative.js @@ -0,0 +1,17 @@ +var baseIsNative = require('./_baseIsNative'), + getValue = require('./_getValue'); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +module.exports = getNative; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getPrototype.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getPrototype.js new file mode 100644 index 00000000..e8086121 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getPrototype.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +module.exports = getPrototype; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getRawTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getRawTag.js new file mode 100644 index 00000000..49a95c9c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getRawTag.js @@ -0,0 +1,46 @@ +var Symbol = require('./_Symbol'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbols.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbols.js new file mode 100644 index 00000000..7d6eafeb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbols.js @@ -0,0 +1,30 @@ +var arrayFilter = require('./_arrayFilter'), + stubArray = require('./stubArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +module.exports = getSymbols; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbolsIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbolsIn.js new file mode 100644 index 00000000..cec0855a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getSymbolsIn.js @@ -0,0 +1,25 @@ +var arrayPush = require('./_arrayPush'), + getPrototype = require('./_getPrototype'), + getSymbols = require('./_getSymbols'), + stubArray = require('./stubArray'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; +}; + +module.exports = getSymbolsIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getTag.js new file mode 100644 index 00000000..deaf89d5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getTag.js @@ -0,0 +1,58 @@ +var DataView = require('./_DataView'), + Map = require('./_Map'), + Promise = require('./_Promise'), + Set = require('./_Set'), + WeakMap = require('./_WeakMap'), + baseGetTag = require('./_baseGetTag'), + toSource = require('./_toSource'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + +var dataViewTag = '[object DataView]'; + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +module.exports = getTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getValue.js new file mode 100644 index 00000000..5f7d7736 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getValue.js @@ -0,0 +1,13 @@ +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getView.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getView.js new file mode 100644 index 00000000..df1e5d44 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getView.js @@ -0,0 +1,33 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ +function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; +} + +module.exports = getView; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getWrapDetails.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getWrapDetails.js new file mode 100644 index 00000000..3bcc6e48 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_getWrapDetails.js @@ -0,0 +1,17 @@ +/** Used to match wrap detail comments. */ +var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + +/** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ +function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; +} + +module.exports = getWrapDetails; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasPath.js new file mode 100644 index 00000000..93dbde15 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasPath.js @@ -0,0 +1,39 @@ +var castPath = require('./_castPath'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isIndex = require('./_isIndex'), + isLength = require('./isLength'), + toKey = require('./_toKey'); + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +module.exports = hasPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicode.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicode.js new file mode 100644 index 00000000..cb6ca15f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicode.js @@ -0,0 +1,26 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsZWJ = '\\u200d'; + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +module.exports = hasUnicode; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicodeWord.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicodeWord.js new file mode 100644 index 00000000..95d52c44 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hasUnicodeWord.js @@ -0,0 +1,15 @@ +/** Used to detect strings that need a more robust regexp to match words. */ +var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + +/** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ +function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); +} + +module.exports = hasUnicodeWord; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashClear.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashClear.js new file mode 100644 index 00000000..5d4b70cc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashClear.js @@ -0,0 +1,15 @@ +var nativeCreate = require('./_nativeCreate'); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashDelete.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashDelete.js new file mode 100644 index 00000000..ea9dabf1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashDelete.js @@ -0,0 +1,17 @@ +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashGet.js new file mode 100644 index 00000000..1fc2f34b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashGet.js @@ -0,0 +1,30 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashHas.js new file mode 100644 index 00000000..281a5517 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashHas.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashSet.js new file mode 100644 index 00000000..e1055283 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_hashSet.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneArray.js new file mode 100644 index 00000000..078c15af --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneArray.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +module.exports = initCloneArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneByTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneByTag.js new file mode 100644 index 00000000..f69a008c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneByTag.js @@ -0,0 +1,77 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'), + cloneDataView = require('./_cloneDataView'), + cloneRegExp = require('./_cloneRegExp'), + cloneSymbol = require('./_cloneSymbol'), + cloneTypedArray = require('./_cloneTypedArray'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } +} + +module.exports = initCloneByTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneObject.js new file mode 100644 index 00000000..5a13e64a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_initCloneObject.js @@ -0,0 +1,18 @@ +var baseCreate = require('./_baseCreate'), + getPrototype = require('./_getPrototype'), + isPrototype = require('./_isPrototype'); + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +module.exports = initCloneObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_insertWrapDetails.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_insertWrapDetails.js new file mode 100644 index 00000000..e7908086 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_insertWrapDetails.js @@ -0,0 +1,23 @@ +/** Used to match wrap detail comments. */ +var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; + +/** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ +function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); +} + +module.exports = insertWrapDetails; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isFlattenable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isFlattenable.js new file mode 100644 index 00000000..4cc2c249 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isFlattenable.js @@ -0,0 +1,20 @@ +var Symbol = require('./_Symbol'), + isArguments = require('./isArguments'), + isArray = require('./isArray'); + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +module.exports = isFlattenable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIndex.js new file mode 100644 index 00000000..061cd390 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIndex.js @@ -0,0 +1,25 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +module.exports = isIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIterateeCall.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIterateeCall.js new file mode 100644 index 00000000..a0bb5a9c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isIterateeCall.js @@ -0,0 +1,30 @@ +var eq = require('./eq'), + isArrayLike = require('./isArrayLike'), + isIndex = require('./_isIndex'), + isObject = require('./isObject'); + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +module.exports = isIterateeCall; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKey.js new file mode 100644 index 00000000..ff08b068 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKey.js @@ -0,0 +1,29 @@ +var isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKeyable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKeyable.js new file mode 100644 index 00000000..39f1828d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isKeyable.js @@ -0,0 +1,15 @@ +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isLaziable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isLaziable.js new file mode 100644 index 00000000..a57c4f2d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isLaziable.js @@ -0,0 +1,28 @@ +var LazyWrapper = require('./_LazyWrapper'), + getData = require('./_getData'), + getFuncName = require('./_getFuncName'), + lodash = require('./wrapperLodash'); + +/** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ +function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; +} + +module.exports = isLaziable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMaskable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMaskable.js new file mode 100644 index 00000000..eb98d09f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMaskable.js @@ -0,0 +1,14 @@ +var coreJsData = require('./_coreJsData'), + isFunction = require('./isFunction'), + stubFalse = require('./stubFalse'); + +/** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ +var isMaskable = coreJsData ? isFunction : stubFalse; + +module.exports = isMaskable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMasked.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMasked.js new file mode 100644 index 00000000..4b0f21ba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isMasked.js @@ -0,0 +1,20 @@ +var coreJsData = require('./_coreJsData'); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isPrototype.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isPrototype.js new file mode 100644 index 00000000..0f29498d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isPrototype.js @@ -0,0 +1,18 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +module.exports = isPrototype; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isStrictComparable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isStrictComparable.js new file mode 100644 index 00000000..b59f40b8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_isStrictComparable.js @@ -0,0 +1,15 @@ +var isObject = require('./isObject'); + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +module.exports = isStrictComparable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_iteratorToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_iteratorToArray.js new file mode 100644 index 00000000..47685664 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_iteratorToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ +function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; +} + +module.exports = iteratorToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyClone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyClone.js new file mode 100644 index 00000000..d8a51f87 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyClone.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'), + copyArray = require('./_copyArray'); + +/** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ +function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; +} + +module.exports = lazyClone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyReverse.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyReverse.js new file mode 100644 index 00000000..c5b52190 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyReverse.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'); + +/** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ +function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; +} + +module.exports = lazyReverse; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyValue.js new file mode 100644 index 00000000..371ca8d2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_lazyValue.js @@ -0,0 +1,69 @@ +var baseWrapperValue = require('./_baseWrapperValue'), + getView = require('./_getView'), + isArray = require('./isArray'); + +/** Used to indicate the type of lazy iteratees. */ +var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ +function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; +} + +module.exports = lazyValue; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheClear.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheClear.js new file mode 100644 index 00000000..acbe39a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheClear.js @@ -0,0 +1,13 @@ +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheDelete.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheDelete.js new file mode 100644 index 00000000..b1384ade --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheDelete.js @@ -0,0 +1,35 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheGet.js new file mode 100644 index 00000000..f8192fc3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheGet.js @@ -0,0 +1,19 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheHas.js new file mode 100644 index 00000000..2adf6714 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheHas.js @@ -0,0 +1,16 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheSet.js new file mode 100644 index 00000000..5855c95e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_listCacheSet.js @@ -0,0 +1,26 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheClear.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheClear.js new file mode 100644 index 00000000..bc9ca204 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheClear.js @@ -0,0 +1,21 @@ +var Hash = require('./_Hash'), + ListCache = require('./_ListCache'), + Map = require('./_Map'); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheDelete.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheDelete.js new file mode 100644 index 00000000..946ca3c9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheDelete.js @@ -0,0 +1,18 @@ +var getMapData = require('./_getMapData'); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheGet.js new file mode 100644 index 00000000..f29f55cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheGet.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheHas.js new file mode 100644 index 00000000..a1214c02 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheHas.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheSet.js new file mode 100644 index 00000000..73468492 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapCacheSet.js @@ -0,0 +1,22 @@ +var getMapData = require('./_getMapData'); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapToArray.js new file mode 100644 index 00000000..fe3dd531 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mapToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +module.exports = mapToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_matchesStrictComparable.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_matchesStrictComparable.js new file mode 100644 index 00000000..f608af9e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_matchesStrictComparable.js @@ -0,0 +1,20 @@ +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +module.exports = matchesStrictComparable; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_memoizeCapped.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_memoizeCapped.js new file mode 100644 index 00000000..7f71c8fb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_memoizeCapped.js @@ -0,0 +1,26 @@ +var memoize = require('./memoize'); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mergeData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mergeData.js new file mode 100644 index 00000000..cb570f97 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_mergeData.js @@ -0,0 +1,90 @@ +var composeArgs = require('./_composeArgs'), + composeArgsRight = require('./_composeArgsRight'), + replaceHolders = require('./_replaceHolders'); + +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ +function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; +} + +module.exports = mergeData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_metaMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_metaMap.js new file mode 100644 index 00000000..0157a0b0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_metaMap.js @@ -0,0 +1,6 @@ +var WeakMap = require('./_WeakMap'); + +/** Used to store function metadata. */ +var metaMap = WeakMap && new WeakMap; + +module.exports = metaMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeCreate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeCreate.js new file mode 100644 index 00000000..c7aede85 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeCreate.js @@ -0,0 +1,6 @@ +var getNative = require('./_getNative'); + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +module.exports = nativeCreate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeys.js new file mode 100644 index 00000000..479a104a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeys.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +module.exports = nativeKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeysIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeysIn.js new file mode 100644 index 00000000..00ee5059 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nativeKeysIn.js @@ -0,0 +1,20 @@ +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +module.exports = nativeKeysIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nodeUtil.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nodeUtil.js new file mode 100644 index 00000000..983d78f7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_nodeUtil.js @@ -0,0 +1,30 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +module.exports = nodeUtil; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_objectToString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_objectToString.js new file mode 100644 index 00000000..c614ec09 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_objectToString.js @@ -0,0 +1,22 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overArg.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overArg.js new file mode 100644 index 00000000..651c5c55 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overArg.js @@ -0,0 +1,15 @@ +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +module.exports = overArg; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overRest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overRest.js new file mode 100644 index 00000000..c7cdef33 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_overRest.js @@ -0,0 +1,36 @@ +var apply = require('./_apply'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +module.exports = overRest; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_parent.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_parent.js new file mode 100644 index 00000000..f174328f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_parent.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'), + baseSlice = require('./_baseSlice'); + +/** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ +function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); +} + +module.exports = parent; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEscape.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEscape.js new file mode 100644 index 00000000..7f47eda6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEscape.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEscape = /<%-([\s\S]+?)%>/g; + +module.exports = reEscape; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEvaluate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEvaluate.js new file mode 100644 index 00000000..6adfc312 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reEvaluate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEvaluate = /<%([\s\S]+?)%>/g; + +module.exports = reEvaluate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reInterpolate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reInterpolate.js new file mode 100644 index 00000000..d02ff0b2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reInterpolate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reInterpolate = /<%=([\s\S]+?)%>/g; + +module.exports = reInterpolate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_realNames.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_realNames.js new file mode 100644 index 00000000..aa0d5292 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_realNames.js @@ -0,0 +1,4 @@ +/** Used to lookup unminified function names. */ +var realNames = {}; + +module.exports = realNames; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reorder.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reorder.js new file mode 100644 index 00000000..a3502b05 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_reorder.js @@ -0,0 +1,29 @@ +var copyArray = require('./_copyArray'), + isIndex = require('./_isIndex'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ +function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; +} + +module.exports = reorder; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_replaceHolders.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_replaceHolders.js new file mode 100644 index 00000000..74360ec4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_replaceHolders.js @@ -0,0 +1,29 @@ +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ +function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; +} + +module.exports = replaceHolders; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_root.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_root.js new file mode 100644 index 00000000..d2852bed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_root.js @@ -0,0 +1,9 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +module.exports = root; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_safeGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_safeGet.js new file mode 100644 index 00000000..b070897d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_safeGet.js @@ -0,0 +1,21 @@ +/** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; +} + +module.exports = safeGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheAdd.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheAdd.js new file mode 100644 index 00000000..1081a744 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheAdd.js @@ -0,0 +1,19 @@ +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +module.exports = setCacheAdd; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheHas.js new file mode 100644 index 00000000..9a492556 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setCacheHas.js @@ -0,0 +1,14 @@ +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +module.exports = setCacheHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setData.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setData.js new file mode 100644 index 00000000..e5cf3eb9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setData.js @@ -0,0 +1,20 @@ +var baseSetData = require('./_baseSetData'), + shortOut = require('./_shortOut'); + +/** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var setData = shortOut(baseSetData); + +module.exports = setData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToArray.js new file mode 100644 index 00000000..b87f0741 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +module.exports = setToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToPairs.js new file mode 100644 index 00000000..36ad37a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToPairs.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ +function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; +} + +module.exports = setToPairs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToString.js new file mode 100644 index 00000000..6ca84196 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setToString.js @@ -0,0 +1,14 @@ +var baseSetToString = require('./_baseSetToString'), + shortOut = require('./_shortOut'); + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +module.exports = setToString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setWrapToString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setWrapToString.js new file mode 100644 index 00000000..decdc449 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_setWrapToString.js @@ -0,0 +1,21 @@ +var getWrapDetails = require('./_getWrapDetails'), + insertWrapDetails = require('./_insertWrapDetails'), + setToString = require('./_setToString'), + updateWrapDetails = require('./_updateWrapDetails'); + +/** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ +function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); +} + +module.exports = setWrapToString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shortOut.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shortOut.js new file mode 100644 index 00000000..3300a079 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shortOut.js @@ -0,0 +1,37 @@ +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +module.exports = shortOut; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shuffleSelf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shuffleSelf.js new file mode 100644 index 00000000..8bcc4f5c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_shuffleSelf.js @@ -0,0 +1,28 @@ +var baseRandom = require('./_baseRandom'); + +/** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ +function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; +} + +module.exports = shuffleSelf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackClear.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackClear.js new file mode 100644 index 00000000..ce8e5a92 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackClear.js @@ -0,0 +1,15 @@ +var ListCache = require('./_ListCache'); + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +module.exports = stackClear; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackDelete.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackDelete.js new file mode 100644 index 00000000..ff9887ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackDelete.js @@ -0,0 +1,18 @@ +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +module.exports = stackDelete; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackGet.js new file mode 100644 index 00000000..1cdf0040 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackGet.js @@ -0,0 +1,14 @@ +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +module.exports = stackGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackHas.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackHas.js new file mode 100644 index 00000000..16a3ad11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackHas.js @@ -0,0 +1,14 @@ +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +module.exports = stackHas; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackSet.js new file mode 100644 index 00000000..b790ac5f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stackSet.js @@ -0,0 +1,34 @@ +var ListCache = require('./_ListCache'), + Map = require('./_Map'), + MapCache = require('./_MapCache'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +module.exports = stackSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictIndexOf.js new file mode 100644 index 00000000..0486a495 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictIndexOf.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +module.exports = strictIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictLastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictLastIndexOf.js new file mode 100644 index 00000000..d7310dcc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_strictLastIndexOf.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; +} + +module.exports = strictLastIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringSize.js new file mode 100644 index 00000000..17ef462a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringSize.js @@ -0,0 +1,18 @@ +var asciiSize = require('./_asciiSize'), + hasUnicode = require('./_hasUnicode'), + unicodeSize = require('./_unicodeSize'); + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); +} + +module.exports = stringSize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToArray.js new file mode 100644 index 00000000..d161158c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToArray.js @@ -0,0 +1,18 @@ +var asciiToArray = require('./_asciiToArray'), + hasUnicode = require('./_hasUnicode'), + unicodeToArray = require('./_unicodeToArray'); + +/** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); +} + +module.exports = stringToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToPath.js new file mode 100644 index 00000000..8f39f8a2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_stringToPath.js @@ -0,0 +1,27 @@ +var memoizeCapped = require('./_memoizeCapped'); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toKey.js new file mode 100644 index 00000000..c6d645c4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toKey.js @@ -0,0 +1,21 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = toKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toSource.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toSource.js new file mode 100644 index 00000000..a020b386 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_toSource.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_trimmedEndIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_trimmedEndIndex.js new file mode 100644 index 00000000..139439ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_trimmedEndIndex.js @@ -0,0 +1,19 @@ +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +module.exports = trimmedEndIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unescapeHtmlChar.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unescapeHtmlChar.js new file mode 100644 index 00000000..a71fecb3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unescapeHtmlChar.js @@ -0,0 +1,21 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map HTML entities to characters. */ +var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" +}; + +/** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ +var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + +module.exports = unescapeHtmlChar; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeSize.js new file mode 100644 index 00000000..68137ec2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeSize.js @@ -0,0 +1,44 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; +} + +module.exports = unicodeSize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeToArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeToArray.js new file mode 100644 index 00000000..2a725c06 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeToArray.js @@ -0,0 +1,40 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function unicodeToArray(string) { + return string.match(reUnicode) || []; +} + +module.exports = unicodeToArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeWords.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeWords.js new file mode 100644 index 00000000..e72e6e0f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_unicodeWords.js @@ -0,0 +1,69 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]", + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; + +/** Used to match complex or compound words. */ +var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji +].join('|'), 'g'); + +/** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function unicodeWords(string) { + return string.match(reUnicodeWord) || []; +} + +module.exports = unicodeWords; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_updateWrapDetails.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_updateWrapDetails.js new file mode 100644 index 00000000..8759fbdf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_updateWrapDetails.js @@ -0,0 +1,46 @@ +var arrayEach = require('./_arrayEach'), + arrayIncludes = require('./_arrayIncludes'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + +/** Used to associate wrap methods with their bit flags. */ +var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] +]; + +/** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ +function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); +} + +module.exports = updateWrapDetails; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_wrapperClone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_wrapperClone.js new file mode 100644 index 00000000..7bb58a2e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/_wrapperClone.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'), + LodashWrapper = require('./_LodashWrapper'), + copyArray = require('./_copyArray'); + +/** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ +function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; +} + +module.exports = wrapperClone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/add.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/add.js new file mode 100644 index 00000000..f0695156 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/add.js @@ -0,0 +1,22 @@ +var createMathOperation = require('./_createMathOperation'); + +/** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ +var add = createMathOperation(function(augend, addend) { + return augend + addend; +}, 0); + +module.exports = add; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/after.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/after.js new file mode 100644 index 00000000..3900c979 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/after.js @@ -0,0 +1,42 @@ +var toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ +function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; +} + +module.exports = after; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/array.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/array.js new file mode 100644 index 00000000..af688d3e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/array.js @@ -0,0 +1,67 @@ +module.exports = { + 'chunk': require('./chunk'), + 'compact': require('./compact'), + 'concat': require('./concat'), + 'difference': require('./difference'), + 'differenceBy': require('./differenceBy'), + 'differenceWith': require('./differenceWith'), + 'drop': require('./drop'), + 'dropRight': require('./dropRight'), + 'dropRightWhile': require('./dropRightWhile'), + 'dropWhile': require('./dropWhile'), + 'fill': require('./fill'), + 'findIndex': require('./findIndex'), + 'findLastIndex': require('./findLastIndex'), + 'first': require('./first'), + 'flatten': require('./flatten'), + 'flattenDeep': require('./flattenDeep'), + 'flattenDepth': require('./flattenDepth'), + 'fromPairs': require('./fromPairs'), + 'head': require('./head'), + 'indexOf': require('./indexOf'), + 'initial': require('./initial'), + 'intersection': require('./intersection'), + 'intersectionBy': require('./intersectionBy'), + 'intersectionWith': require('./intersectionWith'), + 'join': require('./join'), + 'last': require('./last'), + 'lastIndexOf': require('./lastIndexOf'), + 'nth': require('./nth'), + 'pull': require('./pull'), + 'pullAll': require('./pullAll'), + 'pullAllBy': require('./pullAllBy'), + 'pullAllWith': require('./pullAllWith'), + 'pullAt': require('./pullAt'), + 'remove': require('./remove'), + 'reverse': require('./reverse'), + 'slice': require('./slice'), + 'sortedIndex': require('./sortedIndex'), + 'sortedIndexBy': require('./sortedIndexBy'), + 'sortedIndexOf': require('./sortedIndexOf'), + 'sortedLastIndex': require('./sortedLastIndex'), + 'sortedLastIndexBy': require('./sortedLastIndexBy'), + 'sortedLastIndexOf': require('./sortedLastIndexOf'), + 'sortedUniq': require('./sortedUniq'), + 'sortedUniqBy': require('./sortedUniqBy'), + 'tail': require('./tail'), + 'take': require('./take'), + 'takeRight': require('./takeRight'), + 'takeRightWhile': require('./takeRightWhile'), + 'takeWhile': require('./takeWhile'), + 'union': require('./union'), + 'unionBy': require('./unionBy'), + 'unionWith': require('./unionWith'), + 'uniq': require('./uniq'), + 'uniqBy': require('./uniqBy'), + 'uniqWith': require('./uniqWith'), + 'unzip': require('./unzip'), + 'unzipWith': require('./unzipWith'), + 'without': require('./without'), + 'xor': require('./xor'), + 'xorBy': require('./xorBy'), + 'xorWith': require('./xorWith'), + 'zip': require('./zip'), + 'zipObject': require('./zipObject'), + 'zipObjectDeep': require('./zipObjectDeep'), + 'zipWith': require('./zipWith') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ary.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ary.js new file mode 100644 index 00000000..70c87d09 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ary.js @@ -0,0 +1,29 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_ARY_FLAG = 128; + +/** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ +function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); +} + +module.exports = ary; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assign.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assign.js new file mode 100644 index 00000000..909db26a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assign.js @@ -0,0 +1,58 @@ +var assignValue = require('./_assignValue'), + copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + isArrayLike = require('./isArrayLike'), + isPrototype = require('./_isPrototype'), + keys = require('./keys'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ +var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } +}); + +module.exports = assign; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignIn.js new file mode 100644 index 00000000..e663473a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignIn.js @@ -0,0 +1,40 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ +var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); +}); + +module.exports = assignIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignInWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignInWith.js new file mode 100644 index 00000000..68fcc0b0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignInWith.js @@ -0,0 +1,38 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); +}); + +module.exports = assignInWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignWith.js new file mode 100644 index 00000000..7dc6c761 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/assignWith.js @@ -0,0 +1,37 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keys = require('./keys'); + +/** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); +}); + +module.exports = assignWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/at.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/at.js new file mode 100644 index 00000000..781ee9e5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/at.js @@ -0,0 +1,23 @@ +var baseAt = require('./_baseAt'), + flatRest = require('./_flatRest'); + +/** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ +var at = flatRest(baseAt); + +module.exports = at; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/attempt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/attempt.js new file mode 100644 index 00000000..624d0152 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/attempt.js @@ -0,0 +1,35 @@ +var apply = require('./_apply'), + baseRest = require('./_baseRest'), + isError = require('./isError'); + +/** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ +var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } +}); + +module.exports = attempt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/before.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/before.js new file mode 100644 index 00000000..a3e0a16c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/before.js @@ -0,0 +1,40 @@ +var toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ +function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; +} + +module.exports = before; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bind.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bind.js new file mode 100644 index 00000000..b1076e93 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bind.js @@ -0,0 +1,57 @@ +var baseRest = require('./_baseRest'), + createWrap = require('./_createWrap'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ +var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); +}); + +// Assign default placeholders. +bind.placeholder = {}; + +module.exports = bind; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindAll.js new file mode 100644 index 00000000..a35706de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindAll.js @@ -0,0 +1,41 @@ +var arrayEach = require('./_arrayEach'), + baseAssignValue = require('./_baseAssignValue'), + bind = require('./bind'), + flatRest = require('./_flatRest'), + toKey = require('./_toKey'); + +/** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ +var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; +}); + +module.exports = bindAll; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindKey.js new file mode 100644 index 00000000..f7fd64cd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/bindKey.js @@ -0,0 +1,68 @@ +var baseRest = require('./_baseRest'), + createWrap = require('./_createWrap'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ +var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); +}); + +// Assign default placeholders. +bindKey.placeholder = {}; + +module.exports = bindKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/camelCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/camelCase.js new file mode 100644 index 00000000..d7390def --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/camelCase.js @@ -0,0 +1,29 @@ +var capitalize = require('./capitalize'), + createCompounder = require('./_createCompounder'); + +/** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ +var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); +}); + +module.exports = camelCase; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/capitalize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/capitalize.js new file mode 100644 index 00000000..3e1600e7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/capitalize.js @@ -0,0 +1,23 @@ +var toString = require('./toString'), + upperFirst = require('./upperFirst'); + +/** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ +function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); +} + +module.exports = capitalize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/castArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/castArray.js new file mode 100644 index 00000000..e470bdb9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/castArray.js @@ -0,0 +1,44 @@ +var isArray = require('./isArray'); + +/** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ +function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; +} + +module.exports = castArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ceil.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ceil.js new file mode 100644 index 00000000..56c8722c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/ceil.js @@ -0,0 +1,26 @@ +var createRound = require('./_createRound'); + +/** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ +var ceil = createRound('ceil'); + +module.exports = ceil; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chain.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chain.js new file mode 100644 index 00000000..f6cd6475 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chain.js @@ -0,0 +1,38 @@ +var lodash = require('./wrapperLodash'); + +/** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ +function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; +} + +module.exports = chain; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chunk.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chunk.js new file mode 100644 index 00000000..5b562fef --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/chunk.js @@ -0,0 +1,50 @@ +var baseSlice = require('./_baseSlice'), + isIterateeCall = require('./_isIterateeCall'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ +function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; +} + +module.exports = chunk; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clamp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clamp.js new file mode 100644 index 00000000..91a72c97 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clamp.js @@ -0,0 +1,39 @@ +var baseClamp = require('./_baseClamp'), + toNumber = require('./toNumber'); + +/** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ +function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); +} + +module.exports = clamp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clone.js new file mode 100644 index 00000000..dd439d63 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/clone.js @@ -0,0 +1,36 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ +function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); +} + +module.exports = clone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeep.js new file mode 100644 index 00000000..4425fbe8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeep.js @@ -0,0 +1,29 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +module.exports = cloneDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeepWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeepWith.js new file mode 100644 index 00000000..fd9c6c05 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneDeepWith.js @@ -0,0 +1,40 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ +function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); +} + +module.exports = cloneDeepWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneWith.js new file mode 100644 index 00000000..d2f4e756 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cloneWith.js @@ -0,0 +1,42 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ +function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); +} + +module.exports = cloneWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/collection.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/collection.js new file mode 100644 index 00000000..77fe837f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/collection.js @@ -0,0 +1,30 @@ +module.exports = { + 'countBy': require('./countBy'), + 'each': require('./each'), + 'eachRight': require('./eachRight'), + 'every': require('./every'), + 'filter': require('./filter'), + 'find': require('./find'), + 'findLast': require('./findLast'), + 'flatMap': require('./flatMap'), + 'flatMapDeep': require('./flatMapDeep'), + 'flatMapDepth': require('./flatMapDepth'), + 'forEach': require('./forEach'), + 'forEachRight': require('./forEachRight'), + 'groupBy': require('./groupBy'), + 'includes': require('./includes'), + 'invokeMap': require('./invokeMap'), + 'keyBy': require('./keyBy'), + 'map': require('./map'), + 'orderBy': require('./orderBy'), + 'partition': require('./partition'), + 'reduce': require('./reduce'), + 'reduceRight': require('./reduceRight'), + 'reject': require('./reject'), + 'sample': require('./sample'), + 'sampleSize': require('./sampleSize'), + 'shuffle': require('./shuffle'), + 'size': require('./size'), + 'some': require('./some'), + 'sortBy': require('./sortBy') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/commit.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/commit.js new file mode 100644 index 00000000..fe4db717 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/commit.js @@ -0,0 +1,33 @@ +var LodashWrapper = require('./_LodashWrapper'); + +/** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ +function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); +} + +module.exports = wrapperCommit; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/compact.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/compact.js new file mode 100644 index 00000000..031fab4e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/compact.js @@ -0,0 +1,31 @@ +/** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ +function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = compact; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/concat.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/concat.js new file mode 100644 index 00000000..1da48a4f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/concat.js @@ -0,0 +1,43 @@ +var arrayPush = require('./_arrayPush'), + baseFlatten = require('./_baseFlatten'), + copyArray = require('./_copyArray'), + isArray = require('./isArray'); + +/** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ +function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); +} + +module.exports = concat; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cond.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cond.js new file mode 100644 index 00000000..64555986 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/cond.js @@ -0,0 +1,60 @@ +var apply = require('./_apply'), + arrayMap = require('./_arrayMap'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ +function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = baseIteratee; + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); +} + +module.exports = cond; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conforms.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conforms.js new file mode 100644 index 00000000..5501a949 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conforms.js @@ -0,0 +1,35 @@ +var baseClone = require('./_baseClone'), + baseConforms = require('./_baseConforms'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ +function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); +} + +module.exports = conforms; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conformsTo.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conformsTo.js new file mode 100644 index 00000000..b8a93ebf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/conformsTo.js @@ -0,0 +1,32 @@ +var baseConformsTo = require('./_baseConformsTo'), + keys = require('./keys'); + +/** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ +function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); +} + +module.exports = conformsTo; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/constant.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/constant.js new file mode 100644 index 00000000..655ece3f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/constant.js @@ -0,0 +1,26 @@ +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.js new file mode 100644 index 00000000..be1d567d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.js @@ -0,0 +1,3877 @@ +/** + * @license + * Lodash (Custom Build) + * Build: `lodash core -o ./dist/lodash.core.js` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Error message constants. */ + var FUNC_ERROR_TEXT = 'Expected a function'; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_PARTIAL_FLAG = 32; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + numberTag = '[object Number]', + objectTag = '[object Object]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + + /** Used to match HTML entities and HTML characters. */ + var reUnescapedHtml = /[&<>"']/g, + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /*--------------------------------------------------------------------------*/ + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + array.push.apply(array, values); + return array; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return baseMap(props, function(key) { + return object[key]; + }); + } + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /*--------------------------------------------------------------------------*/ + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Built-in value references. */ + var objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeIsFinite = root.isFinite, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + return value instanceof LodashWrapper + ? value + : new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + } + + LodashWrapper.prototype = baseCreate(lodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + object[key] = value; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !false) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return baseFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + return objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + var baseIsArguments = noop; + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : baseGetTag(object), + othTag = othIsArr ? arrayTag : baseGetTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + stack || (stack = []); + var objStack = find(stack, function(entry) { + return entry[0] == object; + }); + var othStack = find(stack, function(entry) { + return entry[0] == other; + }); + if (objStack && othStack) { + return objStack[1] == other; + } + stack.push([object, other]); + stack.push([other, object]); + if (isSameTag && !objIsObj) { + var result = (objIsArr) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + stack.pop(); + return result; + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + stack.pop(); + return result; + } + } + if (!isSameTag) { + return false; + } + var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack); + stack.pop(); + return result; + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(func) { + if (typeof func == 'function') { + return func; + } + if (func == null) { + return identity; + } + return (typeof func == 'object' ? baseMatches : baseProperty)(func); + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var props = nativeKeys(source); + return function(object) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length]; + if (!(key in object && + baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG) + )) { + return false; + } + } + return true; + }; + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, props) { + object = Object(object); + return reduce(props, function(result, key) { + if (key in object) { + result[key] = object[key]; + } + return result; + }, {}); + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source) { + return baseSlice(source, 0, source.length); + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + return reduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = false; + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = false; + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return fn.apply(isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined; + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + var compared; + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!baseSome(other, function(othValue, othIndex) { + if (!indexOf(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + var compared; + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return func.apply(this, otherArgs); + }; + } + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = identity; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + return baseFilter(array, Boolean); + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (typeof fromIndex == 'number') { + fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; + } else { + fromIndex = 0; + } + var index = (fromIndex || 0) - 1, + isReflexive = value === value; + + while (++index < length) { + var other = array[index]; + if ((isReflexive ? other === value : other !== other)) { + return index; + } + } + return -1; + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + start = start == null ? 0 : +start; + end = end === undefined ? length : +end; + return length ? baseSlice(array, start, end) : []; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + predicate = guard ? undefined : predicate; + return baseEvery(collection, baseIteratee(predicate)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + return baseFilter(collection, baseIteratee(predicate)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + return baseEach(collection, baseIteratee(iteratee)); + } + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + return baseMap(collection, baseIteratee(iteratee)); + } + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + collection = isArrayLike(collection) ? collection : nativeKeys(collection); + return collection.length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + predicate = guard ? undefined : predicate; + return baseSome(collection, baseIteratee(predicate)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + function sortBy(collection, iteratee) { + var index = 0; + iteratee = baseIteratee(iteratee); + + return baseMap(baseMap(collection, function(value, key, collection) { + return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) }; + }).sort(function(object, other) { + return compareAscending(object.criteria, other.criteria) || (object.index - other.index); + }), baseProperty('value')); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials); + }); + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + if (!isObject(value)) { + return value; + } + return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = baseIsDate; + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (isArrayLike(value) && + (isArray(value) || isString(value) || + isFunction(value.splice) || isArguments(value))) { + return !value.length; + } + return !nativeKeys(value).length; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = baseIsRegExp; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!isArrayLike(value)) { + return values(value); + } + return value.length ? copyArray(value) : []; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + var toInteger = Number; + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + var toNumber = Number; + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + if (typeof value == 'string') { + return value; + } + return value == null ? '' : (value + ''); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + copyObject(source, nativeKeys(source), object); + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, nativeKeysIn(source), object); + }); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : assign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasOwnProperty.call(object, path); + } + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + var keys = nativeKeys; + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + var keysIn = nativeKeysIn; + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + var value = object == null ? undefined : object[path]; + if (value === undefined) { + value = defaultValue; + } + return isFunction(value) ? value.call(object) : value; + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /*------------------------------------------------------------------------*/ + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ + var iteratee = baseIteratee; + + /** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matches(source) { + return baseMatches(assign({}, source)); + } + + /** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ + function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + if (options == null && + !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + baseEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; + } + + /** + * Reverts the `_` variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } + + /** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + + /*------------------------------------------------------------------------*/ + + /** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ + function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; + } + + /** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ + function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; + } + + /*------------------------------------------------------------------------*/ + + // Add methods that return wrapped values in chain sequences. + lodash.assignIn = assignIn; + lodash.before = before; + lodash.bind = bind; + lodash.chain = chain; + lodash.compact = compact; + lodash.concat = concat; + lodash.create = create; + lodash.defaults = defaults; + lodash.defer = defer; + lodash.delay = delay; + lodash.filter = filter; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.iteratee = iteratee; + lodash.keys = keys; + lodash.map = map; + lodash.matches = matches; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.once = once; + lodash.pick = pick; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.tap = tap; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.values = values; + + // Add aliases. + lodash.extend = assignIn; + + // Add methods to `lodash.prototype`. + mixin(lodash, lodash); + + /*------------------------------------------------------------------------*/ + + // Add methods that return unwrapped values in chain sequences. + lodash.clone = clone; + lodash.escape = escape; + lodash.every = every; + lodash.find = find; + lodash.forEach = forEach; + lodash.has = has; + lodash.head = head; + lodash.identity = identity; + lodash.indexOf = indexOf; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isBoolean = isBoolean; + lodash.isDate = isDate; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isFinite = isFinite; + lodash.isFunction = isFunction; + lodash.isNaN = isNaN; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isRegExp = isRegExp; + lodash.isString = isString; + lodash.isUndefined = isUndefined; + lodash.last = last; + lodash.max = max; + lodash.min = min; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.reduce = reduce; + lodash.result = result; + lodash.size = size; + lodash.some = some; + lodash.uniqueId = uniqueId; + + // Add aliases. + lodash.each = forEach; + lodash.first = head; + + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + }()), { 'chain': false }); + + /*------------------------------------------------------------------------*/ + + /** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ + lodash.VERSION = VERSION; + + // Add `Array` methods to `lodash.prototype`. + baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; + }); + + // Add chain sequence methods to the `lodash` wrapper. + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + + /*--------------------------------------------------------------------------*/ + + // Some AMD build optimizers, like r.js, check for condition patterns like: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Expose Lodash on the global object to prevent errors when Lodash is + // loaded by a script tag in the presence of an AMD loader. + // See http://requirejs.org/docs/errors.html#mismatch for more details. + // Use `_.noConflict` to remove Lodash from the global object. + root._ = lodash; + + // Define as an anonymous module so, through path mapping, it can be + // referenced as the "underscore" module. + define(function() { + return lodash; + }); + } + // Check for `exports` after `define` in case a build optimizer adds it. + else if (freeModule) { + // Export for Node.js. + (freeModule.exports = lodash)._ = lodash; + // Export for CommonJS support. + freeExports._ = lodash; + } + else { + // Export to the global object. + root._ = lodash; + } +}.call(this)); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.min.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.min.js new file mode 100644 index 00000000..e425e4d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/core.min.js @@ -0,0 +1,29 @@ +/** + * @license + * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + * Build: `lodash core -o ./dist/lodash.core.js` + */ +;(function(){function n(n){return H(n)&&pn.call(n,"callee")&&!yn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function"); +return setTimeout(function(){n.apply(Z,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++et}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){ +return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t, +r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;var c=o.get(n),f=o.get(t);if(c&&f)return c==t&&f==n;for(var c=-1,f=true,a=2&r?[]:Z;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn); +}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n; +return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n); +return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ +return function(t){return null==n?Z:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; +var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ +var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } +}); + +module.exports = countBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/create.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/create.js new file mode 100644 index 00000000..919edb85 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/create.js @@ -0,0 +1,43 @@ +var baseAssign = require('./_baseAssign'), + baseCreate = require('./_baseCreate'); + +/** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ +function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); +} + +module.exports = create; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curry.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curry.js new file mode 100644 index 00000000..918db1a4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curry.js @@ -0,0 +1,57 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8; + +/** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ +function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; +} + +// Assign default placeholders. +curry.placeholder = {}; + +module.exports = curry; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curryRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curryRight.js new file mode 100644 index 00000000..c85b6f33 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/curryRight.js @@ -0,0 +1,54 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_RIGHT_FLAG = 16; + +/** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ +function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; +} + +// Assign default placeholders. +curryRight.placeholder = {}; + +module.exports = curryRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/date.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/date.js new file mode 100644 index 00000000..cbf5b410 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/date.js @@ -0,0 +1,3 @@ +module.exports = { + 'now': require('./now') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/debounce.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/debounce.js new file mode 100644 index 00000000..8f751d53 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/debounce.js @@ -0,0 +1,191 @@ +var isObject = require('./isObject'), + now = require('./now'), + toNumber = require('./toNumber'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ +function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} + +module.exports = debounce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/deburr.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/deburr.js new file mode 100644 index 00000000..f85e314a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/deburr.js @@ -0,0 +1,45 @@ +var deburrLetter = require('./_deburrLetter'), + toString = require('./toString'); + +/** Used to match Latin Unicode letters (excluding mathematical operators). */ +var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + +/** Used to compose unicode character classes. */ +var rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; + +/** Used to compose unicode capture groups. */ +var rsCombo = '[' + rsComboRange + ']'; + +/** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ +var reComboMark = RegExp(rsCombo, 'g'); + +/** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ +function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); +} + +module.exports = deburr; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultTo.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultTo.js new file mode 100644 index 00000000..5b333592 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultTo.js @@ -0,0 +1,25 @@ +/** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ +function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; +} + +module.exports = defaultTo; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaults.js new file mode 100644 index 00000000..c74df044 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaults.js @@ -0,0 +1,64 @@ +var baseRest = require('./_baseRest'), + eq = require('./eq'), + isIterateeCall = require('./_isIterateeCall'), + keysIn = require('./keysIn'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; +}); + +module.exports = defaults; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultsDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultsDeep.js new file mode 100644 index 00000000..9b5fa3ee --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defaultsDeep.js @@ -0,0 +1,30 @@ +var apply = require('./_apply'), + baseRest = require('./_baseRest'), + customDefaultsMerge = require('./_customDefaultsMerge'), + mergeWith = require('./mergeWith'); + +/** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ +var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); +}); + +module.exports = defaultsDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defer.js new file mode 100644 index 00000000..f6d6c6fa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/defer.js @@ -0,0 +1,26 @@ +var baseDelay = require('./_baseDelay'), + baseRest = require('./_baseRest'); + +/** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ +var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); +}); + +module.exports = defer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/delay.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/delay.js new file mode 100644 index 00000000..bd554796 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/delay.js @@ -0,0 +1,28 @@ +var baseDelay = require('./_baseDelay'), + baseRest = require('./_baseRest'), + toNumber = require('./toNumber'); + +/** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ +var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); +}); + +module.exports = delay; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/difference.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/difference.js new file mode 100644 index 00000000..fa28bb30 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/difference.js @@ -0,0 +1,33 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'); + +/** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ +var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; +}); + +module.exports = difference; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceBy.js new file mode 100644 index 00000000..2cd63e7e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceBy.js @@ -0,0 +1,44 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ +var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)) + : []; +}); + +module.exports = differenceBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceWith.js new file mode 100644 index 00000000..c0233f4b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/differenceWith.js @@ -0,0 +1,40 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ +var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; +}); + +module.exports = differenceWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/divide.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/divide.js new file mode 100644 index 00000000..8cae0cd1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/divide.js @@ -0,0 +1,22 @@ +var createMathOperation = require('./_createMathOperation'); + +/** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ +var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; +}, 1); + +module.exports = divide; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/drop.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/drop.js new file mode 100644 index 00000000..d5c3cbaa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/drop.js @@ -0,0 +1,38 @@ +var baseSlice = require('./_baseSlice'), + toInteger = require('./toInteger'); + +/** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); +} + +module.exports = drop; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRight.js new file mode 100644 index 00000000..441fe996 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRight.js @@ -0,0 +1,39 @@ +var baseSlice = require('./_baseSlice'), + toInteger = require('./toInteger'); + +/** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); +} + +module.exports = dropRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRightWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRightWhile.js new file mode 100644 index 00000000..9ad36a04 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropRightWhile.js @@ -0,0 +1,45 @@ +var baseIteratee = require('./_baseIteratee'), + baseWhile = require('./_baseWhile'); + +/** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true, true) + : []; +} + +module.exports = dropRightWhile; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropWhile.js new file mode 100644 index 00000000..903ef568 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/dropWhile.js @@ -0,0 +1,45 @@ +var baseIteratee = require('./_baseIteratee'), + baseWhile = require('./_baseWhile'); + +/** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true) + : []; +} + +module.exports = dropWhile; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/each.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/each.js new file mode 100644 index 00000000..8800f420 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/each.js @@ -0,0 +1 @@ +module.exports = require('./forEach'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eachRight.js new file mode 100644 index 00000000..3252b2ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eachRight.js @@ -0,0 +1 @@ +module.exports = require('./forEachRight'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/endsWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/endsWith.js new file mode 100644 index 00000000..76fc866e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/endsWith.js @@ -0,0 +1,43 @@ +var baseClamp = require('./_baseClamp'), + baseToString = require('./_baseToString'), + toInteger = require('./toInteger'), + toString = require('./toString'); + +/** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ +function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; +} + +module.exports = endsWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entries.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entries.js new file mode 100644 index 00000000..7a88df20 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entries.js @@ -0,0 +1 @@ +module.exports = require('./toPairs'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entriesIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entriesIn.js new file mode 100644 index 00000000..f6c6331c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/entriesIn.js @@ -0,0 +1 @@ +module.exports = require('./toPairsIn'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eq.js new file mode 100644 index 00000000..a9406880 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/eq.js @@ -0,0 +1,37 @@ +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escape.js new file mode 100644 index 00000000..9247e002 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escape.js @@ -0,0 +1,43 @@ +var escapeHtmlChar = require('./_escapeHtmlChar'), + toString = require('./toString'); + +/** Used to match HTML entities and HTML characters. */ +var reUnescapedHtml = /[&<>"']/g, + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + +/** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ +function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; +} + +module.exports = escape; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escapeRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escapeRegExp.js new file mode 100644 index 00000000..0a58c69f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/escapeRegExp.js @@ -0,0 +1,32 @@ +var toString = require('./toString'); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + +/** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ +function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; +} + +module.exports = escapeRegExp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/every.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/every.js new file mode 100644 index 00000000..25080dac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/every.js @@ -0,0 +1,56 @@ +var arrayEvery = require('./_arrayEvery'), + baseEvery = require('./_baseEvery'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ +function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); +} + +module.exports = every; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extend.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extend.js new file mode 100644 index 00000000..e00166c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extend.js @@ -0,0 +1 @@ +module.exports = require('./assignIn'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extendWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extendWith.js new file mode 100644 index 00000000..dbdcb3b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/extendWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInWith'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fill.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fill.js new file mode 100644 index 00000000..ae13aa1c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fill.js @@ -0,0 +1,45 @@ +var baseFill = require('./_baseFill'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ +function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); +} + +module.exports = fill; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/filter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/filter.js new file mode 100644 index 00000000..89e0c8c4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/filter.js @@ -0,0 +1,52 @@ +var arrayFilter = require('./_arrayFilter'), + baseFilter = require('./_baseFilter'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'); + +/** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ +function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, baseIteratee(predicate, 3)); +} + +module.exports = filter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/find.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/find.js new file mode 100644 index 00000000..de732ccb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/find.js @@ -0,0 +1,42 @@ +var createFind = require('./_createFind'), + findIndex = require('./findIndex'); + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +module.exports = find; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findIndex.js new file mode 100644 index 00000000..4689069f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findIndex.js @@ -0,0 +1,55 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIteratee = require('./_baseIteratee'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +module.exports = findIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findKey.js new file mode 100644 index 00000000..cac0248a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findKey.js @@ -0,0 +1,44 @@ +var baseFindKey = require('./_baseFindKey'), + baseForOwn = require('./_baseForOwn'), + baseIteratee = require('./_baseIteratee'); + +/** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ +function findKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn); +} + +module.exports = findKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLast.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLast.js new file mode 100644 index 00000000..70b4271d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLast.js @@ -0,0 +1,25 @@ +var createFind = require('./_createFind'), + findLastIndex = require('./findLastIndex'); + +/** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ +var findLast = createFind(findLastIndex); + +module.exports = findLast; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastIndex.js new file mode 100644 index 00000000..7da3431f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastIndex.js @@ -0,0 +1,59 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIteratee = require('./_baseIteratee'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ +function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index, true); +} + +module.exports = findLastIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastKey.js new file mode 100644 index 00000000..66fb9fbc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/findLastKey.js @@ -0,0 +1,44 @@ +var baseFindKey = require('./_baseFindKey'), + baseForOwnRight = require('./_baseForOwnRight'), + baseIteratee = require('./_baseIteratee'); + +/** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ +function findLastKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight); +} + +module.exports = findLastKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/first.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/first.js new file mode 100644 index 00000000..53f4ad13 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/first.js @@ -0,0 +1 @@ +module.exports = require('./head'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.lock b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.lock new file mode 100644 index 00000000..dd032521 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.lock @@ -0,0 +1,40 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1613582597, + "narHash": "sha256-6LvipIvFuhyorHpUqK3HjySC5Y6gshXHFBhU9EJ4DoM=", + "path": "/nix/store/srvplqq673sqd9vyfhyc5w1p88y1gfm4-source", + "rev": "6b1057b452c55bb3b463f0d7055bc4ec3fd1f381", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "utils": "utils" + } + }, + "utils": { + "locked": { + "lastModified": 1610051610, + "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.nix b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.nix new file mode 100644 index 00000000..15a451c6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flake.nix @@ -0,0 +1,20 @@ +{ + inputs = { + utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, utils }: + utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages."${system}"; + in rec { + devShell = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + yarn + nodejs-14_x + nodePackages.typescript-language-server + nodePackages.eslint + ]; + }; + }); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMap.js new file mode 100644 index 00000000..e6685068 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMap.js @@ -0,0 +1,29 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'); + +/** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); +} + +module.exports = flatMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDeep.js new file mode 100644 index 00000000..4653d603 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDeep.js @@ -0,0 +1,31 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); +} + +module.exports = flatMapDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDepth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDepth.js new file mode 100644 index 00000000..6d72005c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatMapDepth.js @@ -0,0 +1,31 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'), + toInteger = require('./toInteger'); + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ +function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); +} + +module.exports = flatMapDepth; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatten.js new file mode 100644 index 00000000..3f09f7f7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flatten.js @@ -0,0 +1,22 @@ +var baseFlatten = require('./_baseFlatten'); + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +module.exports = flatten; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDeep.js new file mode 100644 index 00000000..8ad585cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDeep.js @@ -0,0 +1,25 @@ +var baseFlatten = require('./_baseFlatten'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ +function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; +} + +module.exports = flattenDeep; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDepth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDepth.js new file mode 100644 index 00000000..441fdcc2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flattenDepth.js @@ -0,0 +1,33 @@ +var baseFlatten = require('./_baseFlatten'), + toInteger = require('./toInteger'); + +/** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ +function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); +} + +module.exports = flattenDepth; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flip.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flip.js new file mode 100644 index 00000000..c28dd789 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flip.js @@ -0,0 +1,28 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ +function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); +} + +module.exports = flip; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/floor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/floor.js new file mode 100644 index 00000000..ab6dfa28 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/floor.js @@ -0,0 +1,26 @@ +var createRound = require('./_createRound'); + +/** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ +var floor = createRound('floor'); + +module.exports = floor; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flow.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flow.js new file mode 100644 index 00000000..74b6b62d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flow.js @@ -0,0 +1,27 @@ +var createFlow = require('./_createFlow'); + +/** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ +var flow = createFlow(); + +module.exports = flow; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flowRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flowRight.js new file mode 100644 index 00000000..11461410 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/flowRight.js @@ -0,0 +1,26 @@ +var createFlow = require('./_createFlow'); + +/** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ +var flowRight = createFlow(true); + +module.exports = flowRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEach.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEach.js new file mode 100644 index 00000000..c64eaa73 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEach.js @@ -0,0 +1,41 @@ +var arrayEach = require('./_arrayEach'), + baseEach = require('./_baseEach'), + castFunction = require('./_castFunction'), + isArray = require('./isArray'); + +/** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, castFunction(iteratee)); +} + +module.exports = forEach; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEachRight.js new file mode 100644 index 00000000..7390ebaf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forEachRight.js @@ -0,0 +1,31 @@ +var arrayEachRight = require('./_arrayEachRight'), + baseEachRight = require('./_baseEachRight'), + castFunction = require('./_castFunction'), + isArray = require('./isArray'); + +/** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ +function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, castFunction(iteratee)); +} + +module.exports = forEachRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forIn.js new file mode 100644 index 00000000..583a5963 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forIn.js @@ -0,0 +1,39 @@ +var baseFor = require('./_baseFor'), + castFunction = require('./_castFunction'), + keysIn = require('./keysIn'); + +/** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ +function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, castFunction(iteratee), keysIn); +} + +module.exports = forIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forInRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forInRight.js new file mode 100644 index 00000000..4aedf58a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forInRight.js @@ -0,0 +1,37 @@ +var baseForRight = require('./_baseForRight'), + castFunction = require('./_castFunction'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ +function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, castFunction(iteratee), keysIn); +} + +module.exports = forInRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwn.js new file mode 100644 index 00000000..94eed840 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwn.js @@ -0,0 +1,36 @@ +var baseForOwn = require('./_baseForOwn'), + castFunction = require('./_castFunction'); + +/** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forOwn(object, iteratee) { + return object && baseForOwn(object, castFunction(iteratee)); +} + +module.exports = forOwn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwnRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwnRight.js new file mode 100644 index 00000000..86f338f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/forOwnRight.js @@ -0,0 +1,34 @@ +var baseForOwnRight = require('./_baseForOwnRight'), + castFunction = require('./_castFunction'); + +/** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ +function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, castFunction(iteratee)); +} + +module.exports = forOwnRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp.js new file mode 100644 index 00000000..e372dbbd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp.js @@ -0,0 +1,2 @@ +var _ = require('./lodash.min').runInContext(); +module.exports = require('./fp/_baseConvert')(_, _); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/F.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/F.js new file mode 100644 index 00000000..a05a63ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/F.js @@ -0,0 +1 @@ +module.exports = require('./stubFalse'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/T.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/T.js new file mode 100644 index 00000000..e2ba8ea5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/T.js @@ -0,0 +1 @@ +module.exports = require('./stubTrue'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/__.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/__.js new file mode 100644 index 00000000..4af98deb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/__.js @@ -0,0 +1 @@ +module.exports = require('./placeholder'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_baseConvert.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_baseConvert.js new file mode 100644 index 00000000..9baf8e19 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_baseConvert.js @@ -0,0 +1,569 @@ +var mapping = require('./_mapping'), + fallbackHolder = require('./placeholder'); + +/** Built-in value reference. */ +var push = Array.prototype.push; + +/** + * Creates a function, with an arity of `n`, that invokes `func` with the + * arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} n The arity of the new function. + * @returns {Function} Returns the new function. + */ +function baseArity(func, n) { + return n == 2 + ? function(a, b) { return func.apply(undefined, arguments); } + : function(a) { return func.apply(undefined, arguments); }; +} + +/** + * Creates a function that invokes `func`, with up to `n` arguments, ignoring + * any additional arguments. + * + * @private + * @param {Function} func The function to cap arguments for. + * @param {number} n The arity cap. + * @returns {Function} Returns the new function. + */ +function baseAry(func, n) { + return n == 2 + ? function(a, b) { return func(a, b); } + : function(a) { return func(a); }; +} + +/** + * Creates a clone of `array`. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the cloned array. + */ +function cloneArray(array) { + var length = array ? array.length : 0, + result = Array(length); + + while (length--) { + result[length] = array[length]; + } + return result; +} + +/** + * Creates a function that clones a given object using the assignment `func`. + * + * @private + * @param {Function} func The assignment function. + * @returns {Function} Returns the new cloner function. + */ +function createCloner(func) { + return function(object) { + return func({}, object); + }; +} + +/** + * A specialized version of `_.spread` which flattens the spread array into + * the arguments of the invoked `func`. + * + * @private + * @param {Function} func The function to spread arguments over. + * @param {number} start The start position of the spread. + * @returns {Function} Returns the new function. + */ +function flatSpread(func, start) { + return function() { + var length = arguments.length, + lastIndex = length - 1, + args = Array(length); + + while (length--) { + args[length] = arguments[length]; + } + var array = args[start], + otherArgs = args.slice(0, start); + + if (array) { + push.apply(otherArgs, array); + } + if (start != lastIndex) { + push.apply(otherArgs, args.slice(start + 1)); + } + return func.apply(this, otherArgs); + }; +} + +/** + * Creates a function that wraps `func` and uses `cloner` to clone the first + * argument it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} cloner The function to clone arguments. + * @returns {Function} Returns the new immutable function. + */ +function wrapImmutable(func, cloner) { + return function() { + var length = arguments.length; + if (!length) { + return; + } + var args = Array(length); + while (length--) { + args[length] = arguments[length]; + } + var result = args[0] = cloner.apply(undefined, args); + func.apply(undefined, args); + return result; + }; +} + +/** + * The base implementation of `convert` which accepts a `util` object of methods + * required to perform conversions. + * + * @param {Object} util The util object. + * @param {string} name The name of the function to convert. + * @param {Function} func The function to convert. + * @param {Object} [options] The options object. + * @param {boolean} [options.cap=true] Specify capping iteratee arguments. + * @param {boolean} [options.curry=true] Specify currying. + * @param {boolean} [options.fixed=true] Specify fixed arity. + * @param {boolean} [options.immutable=true] Specify immutable operations. + * @param {boolean} [options.rearg=true] Specify rearranging arguments. + * @returns {Function|Object} Returns the converted function or object. + */ +function baseConvert(util, name, func, options) { + var isLib = typeof name == 'function', + isObj = name === Object(name); + + if (isObj) { + options = func; + func = name; + name = undefined; + } + if (func == null) { + throw new TypeError; + } + options || (options = {}); + + var config = { + 'cap': 'cap' in options ? options.cap : true, + 'curry': 'curry' in options ? options.curry : true, + 'fixed': 'fixed' in options ? options.fixed : true, + 'immutable': 'immutable' in options ? options.immutable : true, + 'rearg': 'rearg' in options ? options.rearg : true + }; + + var defaultHolder = isLib ? func : fallbackHolder, + forceCurry = ('curry' in options) && options.curry, + forceFixed = ('fixed' in options) && options.fixed, + forceRearg = ('rearg' in options) && options.rearg, + pristine = isLib ? func.runInContext() : undefined; + + var helpers = isLib ? func : { + 'ary': util.ary, + 'assign': util.assign, + 'clone': util.clone, + 'curry': util.curry, + 'forEach': util.forEach, + 'isArray': util.isArray, + 'isError': util.isError, + 'isFunction': util.isFunction, + 'isWeakMap': util.isWeakMap, + 'iteratee': util.iteratee, + 'keys': util.keys, + 'rearg': util.rearg, + 'toInteger': util.toInteger, + 'toPath': util.toPath + }; + + var ary = helpers.ary, + assign = helpers.assign, + clone = helpers.clone, + curry = helpers.curry, + each = helpers.forEach, + isArray = helpers.isArray, + isError = helpers.isError, + isFunction = helpers.isFunction, + isWeakMap = helpers.isWeakMap, + keys = helpers.keys, + rearg = helpers.rearg, + toInteger = helpers.toInteger, + toPath = helpers.toPath; + + var aryMethodKeys = keys(mapping.aryMethod); + + var wrappers = { + 'castArray': function(castArray) { + return function() { + var value = arguments[0]; + return isArray(value) + ? castArray(cloneArray(value)) + : castArray.apply(undefined, arguments); + }; + }, + 'iteratee': function(iteratee) { + return function() { + var func = arguments[0], + arity = arguments[1], + result = iteratee(func, arity), + length = result.length; + + if (config.cap && typeof arity == 'number') { + arity = arity > 2 ? (arity - 2) : 1; + return (length && length <= arity) ? result : baseAry(result, arity); + } + return result; + }; + }, + 'mixin': function(mixin) { + return function(source) { + var func = this; + if (!isFunction(func)) { + return mixin(func, Object(source)); + } + var pairs = []; + each(keys(source), function(key) { + if (isFunction(source[key])) { + pairs.push([key, func.prototype[key]]); + } + }); + + mixin(func, Object(source)); + + each(pairs, function(pair) { + var value = pair[1]; + if (isFunction(value)) { + func.prototype[pair[0]] = value; + } else { + delete func.prototype[pair[0]]; + } + }); + return func; + }; + }, + 'nthArg': function(nthArg) { + return function(n) { + var arity = n < 0 ? 1 : (toInteger(n) + 1); + return curry(nthArg(n), arity); + }; + }, + 'rearg': function(rearg) { + return function(func, indexes) { + var arity = indexes ? indexes.length : 0; + return curry(rearg(func, indexes), arity); + }; + }, + 'runInContext': function(runInContext) { + return function(context) { + return baseConvert(util, runInContext(context), options); + }; + } + }; + + /*--------------------------------------------------------------------------*/ + + /** + * Casts `func` to a function with an arity capped iteratee if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @returns {Function} Returns the cast function. + */ + function castCap(name, func) { + if (config.cap) { + var indexes = mapping.iterateeRearg[name]; + if (indexes) { + return iterateeRearg(func, indexes); + } + var n = !isLib && mapping.iterateeAry[name]; + if (n) { + return iterateeAry(func, n); + } + } + return func; + } + + /** + * Casts `func` to a curried function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity of `func`. + * @returns {Function} Returns the cast function. + */ + function castCurry(name, func, n) { + return (forceCurry || (config.curry && n > 1)) + ? curry(func, n) + : func; + } + + /** + * Casts `func` to a fixed arity function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity cap. + * @returns {Function} Returns the cast function. + */ + function castFixed(name, func, n) { + if (config.fixed && (forceFixed || !mapping.skipFixed[name])) { + var data = mapping.methodSpread[name], + start = data && data.start; + + return start === undefined ? ary(func, n) : flatSpread(func, start); + } + return func; + } + + /** + * Casts `func` to an rearged function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity of `func`. + * @returns {Function} Returns the cast function. + */ + function castRearg(name, func, n) { + return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name])) + ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n]) + : func; + } + + /** + * Creates a clone of `object` by `path`. + * + * @private + * @param {Object} object The object to clone. + * @param {Array|string} path The path to clone by. + * @returns {Object} Returns the cloned object. + */ + function cloneByPath(object, path) { + path = toPath(path); + + var index = -1, + length = path.length, + lastIndex = length - 1, + result = clone(Object(object)), + nested = result; + + while (nested != null && ++index < length) { + var key = path[index], + value = nested[key]; + + if (value != null && + !(isFunction(value) || isError(value) || isWeakMap(value))) { + nested[key] = clone(index == lastIndex ? value : Object(value)); + } + nested = nested[key]; + } + return result; + } + + /** + * Converts `lodash` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. + * + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function} Returns the converted `lodash`. + */ + function convertLib(options) { + return _.runInContext.convert(options)(undefined); + } + + /** + * Create a converter function for `func` of `name`. + * + * @param {string} name The name of the function to convert. + * @param {Function} func The function to convert. + * @returns {Function} Returns the new converter function. + */ + function createConverter(name, func) { + var realName = mapping.aliasToReal[name] || name, + methodName = mapping.remap[realName] || realName, + oldOptions = options; + + return function(options) { + var newUtil = isLib ? pristine : helpers, + newFunc = isLib ? pristine[methodName] : func, + newOptions = assign(assign({}, oldOptions), options); + + return baseConvert(newUtil, realName, newFunc, newOptions); + }; + } + + /** + * Creates a function that wraps `func` to invoke its iteratee, with up to `n` + * arguments, ignoring any additional arguments. + * + * @private + * @param {Function} func The function to cap iteratee arguments for. + * @param {number} n The arity cap. + * @returns {Function} Returns the new function. + */ + function iterateeAry(func, n) { + return overArg(func, function(func) { + return typeof func == 'function' ? baseAry(func, n) : func; + }); + } + + /** + * Creates a function that wraps `func` to invoke its iteratee with arguments + * arranged according to the specified `indexes` where the argument value at + * the first index is provided as the first argument, the argument value at + * the second index is provided as the second argument, and so on. + * + * @private + * @param {Function} func The function to rearrange iteratee arguments for. + * @param {number[]} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + */ + function iterateeRearg(func, indexes) { + return overArg(func, function(func) { + var n = indexes.length; + return baseArity(rearg(baseAry(func, n), indexes), n); + }); + } + + /** + * Creates a function that invokes `func` with its first argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function() { + var length = arguments.length; + if (!length) { + return func(); + } + var args = Array(length); + while (length--) { + args[length] = arguments[length]; + } + var index = config.rearg ? 0 : (length - 1); + args[index] = transform(args[index]); + return func.apply(undefined, args); + }; + } + + /** + * Creates a function that wraps `func` and applys the conversions + * rules by `name`. + * + * @private + * @param {string} name The name of the function to wrap. + * @param {Function} func The function to wrap. + * @returns {Function} Returns the converted function. + */ + function wrap(name, func, placeholder) { + var result, + realName = mapping.aliasToReal[name] || name, + wrapped = func, + wrapper = wrappers[realName]; + + if (wrapper) { + wrapped = wrapper(func); + } + else if (config.immutable) { + if (mapping.mutate.array[realName]) { + wrapped = wrapImmutable(func, cloneArray); + } + else if (mapping.mutate.object[realName]) { + wrapped = wrapImmutable(func, createCloner(func)); + } + else if (mapping.mutate.set[realName]) { + wrapped = wrapImmutable(func, cloneByPath); + } + } + each(aryMethodKeys, function(aryKey) { + each(mapping.aryMethod[aryKey], function(otherName) { + if (realName == otherName) { + var data = mapping.methodSpread[realName], + afterRearg = data && data.afterRearg; + + result = afterRearg + ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey) + : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey); + + result = castCap(realName, result); + result = castCurry(realName, result, aryKey); + return false; + } + }); + return !result; + }); + + result || (result = wrapped); + if (result == func) { + result = forceCurry ? curry(result, 1) : function() { + return func.apply(this, arguments); + }; + } + result.convert = createConverter(realName, func); + result.placeholder = func.placeholder = placeholder; + + return result; + } + + /*--------------------------------------------------------------------------*/ + + if (!isObj) { + return wrap(name, func, defaultHolder); + } + var _ = func; + + // Convert methods by ary cap. + var pairs = []; + each(aryMethodKeys, function(aryKey) { + each(mapping.aryMethod[aryKey], function(key) { + var func = _[mapping.remap[key] || key]; + if (func) { + pairs.push([key, wrap(key, func, _)]); + } + }); + }); + + // Convert remaining methods. + each(keys(_), function(key) { + var func = _[key]; + if (typeof func == 'function') { + var length = pairs.length; + while (length--) { + if (pairs[length][0] == key) { + return; + } + } + func.convert = createConverter(key, func); + pairs.push([key, func]); + } + }); + + // Assign to `_` leaving `_.prototype` unchanged to allow chaining. + each(pairs, function(pair) { + _[pair[0]] = pair[1]; + }); + + _.convert = convertLib; + _.placeholder = _; + + // Assign aliases. + each(keys(_), function(key) { + each(mapping.realToAlias[key] || [], function(alias) { + _[alias] = _[key]; + }); + }); + + return _; +} + +module.exports = baseConvert; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_convertBrowser.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_convertBrowser.js new file mode 100644 index 00000000..bde030dc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_convertBrowser.js @@ -0,0 +1,18 @@ +var baseConvert = require('./_baseConvert'); + +/** + * Converts `lodash` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. + * + * @param {Function} lodash The lodash function to convert. + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function} Returns the converted `lodash`. + */ +function browserConvert(lodash, options) { + return baseConvert(lodash, lodash, options); +} + +if (typeof _ == 'function' && typeof _.runInContext == 'function') { + _ = browserConvert(_.runInContext()); +} +module.exports = browserConvert; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_falseOptions.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_falseOptions.js new file mode 100644 index 00000000..773235e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_falseOptions.js @@ -0,0 +1,7 @@ +module.exports = { + 'cap': false, + 'curry': false, + 'fixed': false, + 'immutable': false, + 'rearg': false +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_mapping.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_mapping.js new file mode 100644 index 00000000..a642ec05 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_mapping.js @@ -0,0 +1,358 @@ +/** Used to map aliases to their real names. */ +exports.aliasToReal = { + + // Lodash aliases. + 'each': 'forEach', + 'eachRight': 'forEachRight', + 'entries': 'toPairs', + 'entriesIn': 'toPairsIn', + 'extend': 'assignIn', + 'extendAll': 'assignInAll', + 'extendAllWith': 'assignInAllWith', + 'extendWith': 'assignInWith', + 'first': 'head', + + // Methods that are curried variants of others. + 'conforms': 'conformsTo', + 'matches': 'isMatch', + 'property': 'get', + + // Ramda aliases. + '__': 'placeholder', + 'F': 'stubFalse', + 'T': 'stubTrue', + 'all': 'every', + 'allPass': 'overEvery', + 'always': 'constant', + 'any': 'some', + 'anyPass': 'overSome', + 'apply': 'spread', + 'assoc': 'set', + 'assocPath': 'set', + 'complement': 'negate', + 'compose': 'flowRight', + 'contains': 'includes', + 'dissoc': 'unset', + 'dissocPath': 'unset', + 'dropLast': 'dropRight', + 'dropLastWhile': 'dropRightWhile', + 'equals': 'isEqual', + 'identical': 'eq', + 'indexBy': 'keyBy', + 'init': 'initial', + 'invertObj': 'invert', + 'juxt': 'over', + 'omitAll': 'omit', + 'nAry': 'ary', + 'path': 'get', + 'pathEq': 'matchesProperty', + 'pathOr': 'getOr', + 'paths': 'at', + 'pickAll': 'pick', + 'pipe': 'flow', + 'pluck': 'map', + 'prop': 'get', + 'propEq': 'matchesProperty', + 'propOr': 'getOr', + 'props': 'at', + 'symmetricDifference': 'xor', + 'symmetricDifferenceBy': 'xorBy', + 'symmetricDifferenceWith': 'xorWith', + 'takeLast': 'takeRight', + 'takeLastWhile': 'takeRightWhile', + 'unapply': 'rest', + 'unnest': 'flatten', + 'useWith': 'overArgs', + 'where': 'conformsTo', + 'whereEq': 'isMatch', + 'zipObj': 'zipObject' +}; + +/** Used to map ary to method names. */ +exports.aryMethod = { + '1': [ + 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', + 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', + 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll', + 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse', + 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart', + 'uniqueId', 'words', 'zipAll' + ], + '2': [ + 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', + 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith', + 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN', + 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference', + 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', + 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex', + 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach', + 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get', + 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection', + 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy', + 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty', + 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit', + 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', + 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll', + 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', + 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', + 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', + 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', + 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', + 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', + 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', + 'zipObjectDeep' + ], + '3': [ + 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', + 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr', + 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', + 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', + 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', + 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight', + 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', + 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy', + 'xorWith', 'zipWith' + ], + '4': [ + 'fill', 'setWith', 'updateWith' + ] +}; + +/** Used to map ary to rearg configs. */ +exports.aryRearg = { + '2': [1, 0], + '3': [2, 0, 1], + '4': [3, 2, 0, 1] +}; + +/** Used to map method names to their iteratee ary. */ +exports.iterateeAry = { + 'dropRightWhile': 1, + 'dropWhile': 1, + 'every': 1, + 'filter': 1, + 'find': 1, + 'findFrom': 1, + 'findIndex': 1, + 'findIndexFrom': 1, + 'findKey': 1, + 'findLast': 1, + 'findLastFrom': 1, + 'findLastIndex': 1, + 'findLastIndexFrom': 1, + 'findLastKey': 1, + 'flatMap': 1, + 'flatMapDeep': 1, + 'flatMapDepth': 1, + 'forEach': 1, + 'forEachRight': 1, + 'forIn': 1, + 'forInRight': 1, + 'forOwn': 1, + 'forOwnRight': 1, + 'map': 1, + 'mapKeys': 1, + 'mapValues': 1, + 'partition': 1, + 'reduce': 2, + 'reduceRight': 2, + 'reject': 1, + 'remove': 1, + 'some': 1, + 'takeRightWhile': 1, + 'takeWhile': 1, + 'times': 1, + 'transform': 2 +}; + +/** Used to map method names to iteratee rearg configs. */ +exports.iterateeRearg = { + 'mapKeys': [1], + 'reduceRight': [1, 0] +}; + +/** Used to map method names to rearg configs. */ +exports.methodRearg = { + 'assignInAllWith': [1, 0], + 'assignInWith': [1, 2, 0], + 'assignAllWith': [1, 0], + 'assignWith': [1, 2, 0], + 'differenceBy': [1, 2, 0], + 'differenceWith': [1, 2, 0], + 'getOr': [2, 1, 0], + 'intersectionBy': [1, 2, 0], + 'intersectionWith': [1, 2, 0], + 'isEqualWith': [1, 2, 0], + 'isMatchWith': [2, 1, 0], + 'mergeAllWith': [1, 0], + 'mergeWith': [1, 2, 0], + 'padChars': [2, 1, 0], + 'padCharsEnd': [2, 1, 0], + 'padCharsStart': [2, 1, 0], + 'pullAllBy': [2, 1, 0], + 'pullAllWith': [2, 1, 0], + 'rangeStep': [1, 2, 0], + 'rangeStepRight': [1, 2, 0], + 'setWith': [3, 1, 2, 0], + 'sortedIndexBy': [2, 1, 0], + 'sortedLastIndexBy': [2, 1, 0], + 'unionBy': [1, 2, 0], + 'unionWith': [1, 2, 0], + 'updateWith': [3, 1, 2, 0], + 'xorBy': [1, 2, 0], + 'xorWith': [1, 2, 0], + 'zipWith': [1, 2, 0] +}; + +/** Used to map method names to spread configs. */ +exports.methodSpread = { + 'assignAll': { 'start': 0 }, + 'assignAllWith': { 'start': 0 }, + 'assignInAll': { 'start': 0 }, + 'assignInAllWith': { 'start': 0 }, + 'defaultsAll': { 'start': 0 }, + 'defaultsDeepAll': { 'start': 0 }, + 'invokeArgs': { 'start': 2 }, + 'invokeArgsMap': { 'start': 2 }, + 'mergeAll': { 'start': 0 }, + 'mergeAllWith': { 'start': 0 }, + 'partial': { 'start': 1 }, + 'partialRight': { 'start': 1 }, + 'without': { 'start': 1 }, + 'zipAll': { 'start': 0 } +}; + +/** Used to identify methods which mutate arrays or objects. */ +exports.mutate = { + 'array': { + 'fill': true, + 'pull': true, + 'pullAll': true, + 'pullAllBy': true, + 'pullAllWith': true, + 'pullAt': true, + 'remove': true, + 'reverse': true + }, + 'object': { + 'assign': true, + 'assignAll': true, + 'assignAllWith': true, + 'assignIn': true, + 'assignInAll': true, + 'assignInAllWith': true, + 'assignInWith': true, + 'assignWith': true, + 'defaults': true, + 'defaultsAll': true, + 'defaultsDeep': true, + 'defaultsDeepAll': true, + 'merge': true, + 'mergeAll': true, + 'mergeAllWith': true, + 'mergeWith': true, + }, + 'set': { + 'set': true, + 'setWith': true, + 'unset': true, + 'update': true, + 'updateWith': true + } +}; + +/** Used to map real names to their aliases. */ +exports.realToAlias = (function() { + var hasOwnProperty = Object.prototype.hasOwnProperty, + object = exports.aliasToReal, + result = {}; + + for (var key in object) { + var value = object[key]; + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + } + return result; +}()); + +/** Used to map method names to other names. */ +exports.remap = { + 'assignAll': 'assign', + 'assignAllWith': 'assignWith', + 'assignInAll': 'assignIn', + 'assignInAllWith': 'assignInWith', + 'curryN': 'curry', + 'curryRightN': 'curryRight', + 'defaultsAll': 'defaults', + 'defaultsDeepAll': 'defaultsDeep', + 'findFrom': 'find', + 'findIndexFrom': 'findIndex', + 'findLastFrom': 'findLast', + 'findLastIndexFrom': 'findLastIndex', + 'getOr': 'get', + 'includesFrom': 'includes', + 'indexOfFrom': 'indexOf', + 'invokeArgs': 'invoke', + 'invokeArgsMap': 'invokeMap', + 'lastIndexOfFrom': 'lastIndexOf', + 'mergeAll': 'merge', + 'mergeAllWith': 'mergeWith', + 'padChars': 'pad', + 'padCharsEnd': 'padEnd', + 'padCharsStart': 'padStart', + 'propertyOf': 'get', + 'rangeStep': 'range', + 'rangeStepRight': 'rangeRight', + 'restFrom': 'rest', + 'spreadFrom': 'spread', + 'trimChars': 'trim', + 'trimCharsEnd': 'trimEnd', + 'trimCharsStart': 'trimStart', + 'zipAll': 'zip' +}; + +/** Used to track methods that skip fixing their arity. */ +exports.skipFixed = { + 'castArray': true, + 'flow': true, + 'flowRight': true, + 'iteratee': true, + 'mixin': true, + 'rearg': true, + 'runInContext': true +}; + +/** Used to track methods that skip rearranging arguments. */ +exports.skipRearg = { + 'add': true, + 'assign': true, + 'assignIn': true, + 'bind': true, + 'bindKey': true, + 'concat': true, + 'difference': true, + 'divide': true, + 'eq': true, + 'gt': true, + 'gte': true, + 'isEqual': true, + 'lt': true, + 'lte': true, + 'matchesProperty': true, + 'merge': true, + 'multiply': true, + 'overArgs': true, + 'partial': true, + 'partialRight': true, + 'propertyOf': true, + 'random': true, + 'range': true, + 'rangeRight': true, + 'subtract': true, + 'zip': true, + 'zipObject': true, + 'zipObjectDeep': true +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_util.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_util.js new file mode 100644 index 00000000..1dbf36f5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/_util.js @@ -0,0 +1,16 @@ +module.exports = { + 'ary': require('../ary'), + 'assign': require('../_baseAssign'), + 'clone': require('../clone'), + 'curry': require('../curry'), + 'forEach': require('../_arrayEach'), + 'isArray': require('../isArray'), + 'isError': require('../isError'), + 'isFunction': require('../isFunction'), + 'isWeakMap': require('../isWeakMap'), + 'iteratee': require('../iteratee'), + 'keys': require('../_baseKeys'), + 'rearg': require('../rearg'), + 'toInteger': require('../toInteger'), + 'toPath': require('../toPath') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/add.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/add.js new file mode 100644 index 00000000..816eeece --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/add.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('add', require('../add')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/after.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/after.js new file mode 100644 index 00000000..21a0167a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/after.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('after', require('../after')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/all.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/all.js new file mode 100644 index 00000000..d0839f77 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/all.js @@ -0,0 +1 @@ +module.exports = require('./every'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/allPass.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/allPass.js new file mode 100644 index 00000000..79b73ef8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/allPass.js @@ -0,0 +1 @@ +module.exports = require('./overEvery'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/always.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/always.js new file mode 100644 index 00000000..98877030 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/always.js @@ -0,0 +1 @@ +module.exports = require('./constant'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/any.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/any.js new file mode 100644 index 00000000..900ac25e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/any.js @@ -0,0 +1 @@ +module.exports = require('./some'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/anyPass.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/anyPass.js new file mode 100644 index 00000000..2774ab37 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/anyPass.js @@ -0,0 +1 @@ +module.exports = require('./overSome'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/apply.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/apply.js new file mode 100644 index 00000000..2b757129 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/apply.js @@ -0,0 +1 @@ +module.exports = require('./spread'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/array.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/array.js new file mode 100644 index 00000000..fe939c2c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/array.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../array')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ary.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ary.js new file mode 100644 index 00000000..8edf1877 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ary.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('ary', require('../ary')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assign.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assign.js new file mode 100644 index 00000000..23f47af1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assign.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assign', require('../assign')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAll.js new file mode 100644 index 00000000..b1d36c7e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignAll', require('../assign')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAllWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAllWith.js new file mode 100644 index 00000000..21e836e6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignAllWith', require('../assignWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignIn.js new file mode 100644 index 00000000..6e7c65fa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignIn', require('../assignIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAll.js new file mode 100644 index 00000000..7ba75dba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInAll', require('../assignIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAllWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAllWith.js new file mode 100644 index 00000000..e766903d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInAllWith', require('../assignInWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInWith.js new file mode 100644 index 00000000..acb59236 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignInWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInWith', require('../assignInWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignWith.js new file mode 100644 index 00000000..eb925212 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assignWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignWith', require('../assignWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assoc.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assoc.js new file mode 100644 index 00000000..7648820c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assoc.js @@ -0,0 +1 @@ +module.exports = require('./set'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assocPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assocPath.js new file mode 100644 index 00000000..7648820c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/assocPath.js @@ -0,0 +1 @@ +module.exports = require('./set'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/at.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/at.js new file mode 100644 index 00000000..cc39d257 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/at.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('at', require('../at')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/attempt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/attempt.js new file mode 100644 index 00000000..26ca42ea --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/attempt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('attempt', require('../attempt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/before.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/before.js new file mode 100644 index 00000000..7a2de65d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/before.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('before', require('../before')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bind.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bind.js new file mode 100644 index 00000000..5cbe4f30 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bind.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bind', require('../bind')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindAll.js new file mode 100644 index 00000000..6b4a4a0f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bindAll', require('../bindAll')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindKey.js new file mode 100644 index 00000000..6a46c6b1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/bindKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bindKey', require('../bindKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/camelCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/camelCase.js new file mode 100644 index 00000000..87b77b49 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/camelCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('camelCase', require('../camelCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/capitalize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/capitalize.js new file mode 100644 index 00000000..cac74e14 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/capitalize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('capitalize', require('../capitalize'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/castArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/castArray.js new file mode 100644 index 00000000..8681c099 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/castArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('castArray', require('../castArray')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ceil.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ceil.js new file mode 100644 index 00000000..f416b729 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/ceil.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('ceil', require('../ceil')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chain.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chain.js new file mode 100644 index 00000000..604fe398 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chain.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('chain', require('../chain'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chunk.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chunk.js new file mode 100644 index 00000000..871ab085 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/chunk.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('chunk', require('../chunk')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clamp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clamp.js new file mode 100644 index 00000000..3b06c01c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clamp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('clamp', require('../clamp')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clone.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clone.js new file mode 100644 index 00000000..cadb59c9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/clone.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('clone', require('../clone'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeep.js new file mode 100644 index 00000000..a6107aac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneDeep', require('../cloneDeep'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeepWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeepWith.js new file mode 100644 index 00000000..6f01e44a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneDeepWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneDeepWith', require('../cloneDeepWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneWith.js new file mode 100644 index 00000000..aa885781 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cloneWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneWith', require('../cloneWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/collection.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/collection.js new file mode 100644 index 00000000..fc8b328a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/collection.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../collection')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/commit.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/commit.js new file mode 100644 index 00000000..130a894f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/commit.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('commit', require('../commit'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compact.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compact.js new file mode 100644 index 00000000..ce8f7a1a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compact.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('compact', require('../compact'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/complement.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/complement.js new file mode 100644 index 00000000..93eb462b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/complement.js @@ -0,0 +1 @@ +module.exports = require('./negate'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compose.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compose.js new file mode 100644 index 00000000..1954e942 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/compose.js @@ -0,0 +1 @@ +module.exports = require('./flowRight'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/concat.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/concat.js new file mode 100644 index 00000000..e59346ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/concat.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('concat', require('../concat')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cond.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cond.js new file mode 100644 index 00000000..6a0120ef --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/cond.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cond', require('../cond'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conforms.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conforms.js new file mode 100644 index 00000000..3247f64a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conforms.js @@ -0,0 +1 @@ +module.exports = require('./conformsTo'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conformsTo.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conformsTo.js new file mode 100644 index 00000000..aa7f41ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/conformsTo.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('conformsTo', require('../conformsTo')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/constant.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/constant.js new file mode 100644 index 00000000..9e406fc0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/constant.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('constant', require('../constant'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/contains.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/contains.js new file mode 100644 index 00000000..594722af --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/contains.js @@ -0,0 +1 @@ +module.exports = require('./includes'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/convert.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/convert.js new file mode 100644 index 00000000..4795dc42 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/convert.js @@ -0,0 +1,18 @@ +var baseConvert = require('./_baseConvert'), + util = require('./_util'); + +/** + * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. If `name` is an object its methods + * will be converted. + * + * @param {string} name The name of the function to wrap. + * @param {Function} [func] The function to wrap. + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function|Object} Returns the converted function or object. + */ +function convert(name, func, options) { + return baseConvert(util, name, func, options); +} + +module.exports = convert; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/countBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/countBy.js new file mode 100644 index 00000000..dfa46432 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/countBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('countBy', require('../countBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/create.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/create.js new file mode 100644 index 00000000..752025fb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/create.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('create', require('../create')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curry.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curry.js new file mode 100644 index 00000000..b0b4168c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curry.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curry', require('../curry')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryN.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryN.js new file mode 100644 index 00000000..2ae7d00a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryN', require('../curry')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRight.js new file mode 100644 index 00000000..cb619eb5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryRight', require('../curryRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRightN.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRightN.js new file mode 100644 index 00000000..2495afc8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/curryRightN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryRightN', require('../curryRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/date.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/date.js new file mode 100644 index 00000000..82cb952b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/date.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../date')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/debounce.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/debounce.js new file mode 100644 index 00000000..26122293 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/debounce.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('debounce', require('../debounce')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/deburr.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/deburr.js new file mode 100644 index 00000000..96463ab8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/deburr.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('deburr', require('../deburr'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultTo.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultTo.js new file mode 100644 index 00000000..d6b52a44 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultTo.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultTo', require('../defaultTo')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaults.js new file mode 100644 index 00000000..e1a8e6e7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaults.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaults', require('../defaults')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsAll.js new file mode 100644 index 00000000..238fcc3c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsAll', require('../defaults')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeep.js new file mode 100644 index 00000000..1f172ff9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsDeep', require('../defaultsDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeepAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeepAll.js new file mode 100644 index 00000000..6835f2f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defaultsDeepAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsDeepAll', require('../defaultsDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defer.js new file mode 100644 index 00000000..ec7990fe --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/defer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defer', require('../defer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/delay.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/delay.js new file mode 100644 index 00000000..556dbd56 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/delay.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('delay', require('../delay')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/difference.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/difference.js new file mode 100644 index 00000000..2d037654 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/difference.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('difference', require('../difference')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceBy.js new file mode 100644 index 00000000..2f914910 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('differenceBy', require('../differenceBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceWith.js new file mode 100644 index 00000000..bcf5ad2e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/differenceWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('differenceWith', require('../differenceWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissoc.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissoc.js new file mode 100644 index 00000000..7ec7be19 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissoc.js @@ -0,0 +1 @@ +module.exports = require('./unset'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissocPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissocPath.js new file mode 100644 index 00000000..7ec7be19 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dissocPath.js @@ -0,0 +1 @@ +module.exports = require('./unset'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/divide.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/divide.js new file mode 100644 index 00000000..82048c5e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/divide.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('divide', require('../divide')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/drop.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/drop.js new file mode 100644 index 00000000..2fa9b4fa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/drop.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('drop', require('../drop')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLast.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLast.js new file mode 100644 index 00000000..174e5255 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLast.js @@ -0,0 +1 @@ +module.exports = require('./dropRight'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLastWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLastWhile.js new file mode 100644 index 00000000..be2a9d24 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropLastWhile.js @@ -0,0 +1 @@ +module.exports = require('./dropRightWhile'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRight.js new file mode 100644 index 00000000..e98881fc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropRight', require('../dropRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRightWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRightWhile.js new file mode 100644 index 00000000..cacaa701 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropRightWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropRightWhile', require('../dropRightWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropWhile.js new file mode 100644 index 00000000..285f864d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/dropWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropWhile', require('../dropWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/each.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/each.js new file mode 100644 index 00000000..8800f420 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/each.js @@ -0,0 +1 @@ +module.exports = require('./forEach'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eachRight.js new file mode 100644 index 00000000..3252b2ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eachRight.js @@ -0,0 +1 @@ +module.exports = require('./forEachRight'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/endsWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/endsWith.js new file mode 100644 index 00000000..17dc2a49 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/endsWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('endsWith', require('../endsWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entries.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entries.js new file mode 100644 index 00000000..7a88df20 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entries.js @@ -0,0 +1 @@ +module.exports = require('./toPairs'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entriesIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entriesIn.js new file mode 100644 index 00000000..f6c6331c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/entriesIn.js @@ -0,0 +1 @@ +module.exports = require('./toPairsIn'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eq.js new file mode 100644 index 00000000..9a3d21bf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/eq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('eq', require('../eq')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/equals.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/equals.js new file mode 100644 index 00000000..e6a5ce0c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/equals.js @@ -0,0 +1 @@ +module.exports = require('./isEqual'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escape.js new file mode 100644 index 00000000..52c1fbba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escape.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('escape', require('../escape'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escapeRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escapeRegExp.js new file mode 100644 index 00000000..369b2eff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/escapeRegExp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('escapeRegExp', require('../escapeRegExp'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/every.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/every.js new file mode 100644 index 00000000..95c2776c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/every.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('every', require('../every')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extend.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extend.js new file mode 100644 index 00000000..e00166c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extend.js @@ -0,0 +1 @@ +module.exports = require('./assignIn'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAll.js new file mode 100644 index 00000000..cc55b64f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAll.js @@ -0,0 +1 @@ +module.exports = require('./assignInAll'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAllWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAllWith.js new file mode 100644 index 00000000..6679d208 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendAllWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInAllWith'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendWith.js new file mode 100644 index 00000000..dbdcb3b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/extendWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInWith'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fill.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fill.js new file mode 100644 index 00000000..b2d47e84 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fill.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('fill', require('../fill')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/filter.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/filter.js new file mode 100644 index 00000000..796d501c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/filter.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('filter', require('../filter')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/find.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/find.js new file mode 100644 index 00000000..f805d336 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/find.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('find', require('../find')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findFrom.js new file mode 100644 index 00000000..da8275e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findFrom', require('../find')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndex.js new file mode 100644 index 00000000..8c15fd11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findIndex', require('../findIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndexFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndexFrom.js new file mode 100644 index 00000000..32e98cb9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findIndexFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findIndexFrom', require('../findIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findKey.js new file mode 100644 index 00000000..475bcfa8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findKey', require('../findKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLast.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLast.js new file mode 100644 index 00000000..093fe94e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLast.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLast', require('../findLast')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastFrom.js new file mode 100644 index 00000000..76c38fba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastFrom', require('../findLast')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndex.js new file mode 100644 index 00000000..36986df0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastIndex', require('../findLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndexFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndexFrom.js new file mode 100644 index 00000000..34c8176c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastIndexFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastIndexFrom', require('../findLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastKey.js new file mode 100644 index 00000000..5f81b604 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/findLastKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastKey', require('../findLastKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/first.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/first.js new file mode 100644 index 00000000..53f4ad13 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/first.js @@ -0,0 +1 @@ +module.exports = require('./head'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMap.js new file mode 100644 index 00000000..d01dc4d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMap', require('../flatMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDeep.js new file mode 100644 index 00000000..569c42eb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMapDeep', require('../flatMapDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDepth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDepth.js new file mode 100644 index 00000000..6eb68fde --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatMapDepth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMapDepth', require('../flatMapDepth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatten.js new file mode 100644 index 00000000..30425d89 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flatten.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatten', require('../flatten'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDeep.js new file mode 100644 index 00000000..aed5db27 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flattenDeep', require('../flattenDeep'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDepth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDepth.js new file mode 100644 index 00000000..ad65e378 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flattenDepth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flattenDepth', require('../flattenDepth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flip.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flip.js new file mode 100644 index 00000000..0547e7b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flip', require('../flip'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/floor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/floor.js new file mode 100644 index 00000000..a6cf3358 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/floor.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('floor', require('../floor')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flow.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flow.js new file mode 100644 index 00000000..cd83677a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flow.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flow', require('../flow')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flowRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flowRight.js new file mode 100644 index 00000000..972a5b9b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/flowRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flowRight', require('../flowRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEach.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEach.js new file mode 100644 index 00000000..2f494521 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEach.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forEach', require('../forEach')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEachRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEachRight.js new file mode 100644 index 00000000..3ff97336 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forEachRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forEachRight', require('../forEachRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forIn.js new file mode 100644 index 00000000..9341749b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forIn', require('../forIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forInRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forInRight.js new file mode 100644 index 00000000..cecf8bbf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forInRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forInRight', require('../forInRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwn.js new file mode 100644 index 00000000..246449e9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forOwn', require('../forOwn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwnRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwnRight.js new file mode 100644 index 00000000..c5e826e0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/forOwnRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forOwnRight', require('../forOwnRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fromPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fromPairs.js new file mode 100644 index 00000000..f8cc5968 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/fromPairs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('fromPairs', require('../fromPairs')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/function.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/function.js new file mode 100644 index 00000000..dfe69b1f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/function.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../function')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functions.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functions.js new file mode 100644 index 00000000..09d1bb1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functions.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('functions', require('../functions'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functionsIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functionsIn.js new file mode 100644 index 00000000..2cfeb83e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/functionsIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('functionsIn', require('../functionsIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/get.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/get.js new file mode 100644 index 00000000..6d3a3286 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/get.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('get', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/getOr.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/getOr.js new file mode 100644 index 00000000..7dbf771f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/getOr.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('getOr', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/groupBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/groupBy.js new file mode 100644 index 00000000..fc0bc78a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/groupBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('groupBy', require('../groupBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gt.js new file mode 100644 index 00000000..9e57c808 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('gt', require('../gt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gte.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gte.js new file mode 100644 index 00000000..45847863 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/gte.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('gte', require('../gte')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/has.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/has.js new file mode 100644 index 00000000..b9012983 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/has.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('has', require('../has')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/hasIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/hasIn.js new file mode 100644 index 00000000..b3c3d1a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/hasIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('hasIn', require('../hasIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/head.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/head.js new file mode 100644 index 00000000..2694f0a2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/head.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('head', require('../head'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identical.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identical.js new file mode 100644 index 00000000..85563f4a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identical.js @@ -0,0 +1 @@ +module.exports = require('./eq'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identity.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identity.js new file mode 100644 index 00000000..096415a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/identity.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('identity', require('../identity'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/inRange.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/inRange.js new file mode 100644 index 00000000..202d940b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/inRange.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('inRange', require('../inRange')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includes.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includes.js new file mode 100644 index 00000000..11467805 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includes.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('includes', require('../includes')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includesFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includesFrom.js new file mode 100644 index 00000000..683afdb4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/includesFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('includesFrom', require('../includes')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexBy.js new file mode 100644 index 00000000..7e64bc0f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexBy.js @@ -0,0 +1 @@ +module.exports = require('./keyBy'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOf.js new file mode 100644 index 00000000..524658eb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('indexOf', require('../indexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOfFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOfFrom.js new file mode 100644 index 00000000..d99c822f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/indexOfFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('indexOfFrom', require('../indexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/init.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/init.js new file mode 100644 index 00000000..2f88d8b0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/init.js @@ -0,0 +1 @@ +module.exports = require('./initial'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/initial.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/initial.js new file mode 100644 index 00000000..b732ba0b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/initial.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('initial', require('../initial'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersection.js new file mode 100644 index 00000000..52936d56 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersection.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersection', require('../intersection')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionBy.js new file mode 100644 index 00000000..72629f27 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersectionBy', require('../intersectionBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionWith.js new file mode 100644 index 00000000..e064f400 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/intersectionWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersectionWith', require('../intersectionWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invert.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invert.js new file mode 100644 index 00000000..2d5d1f0d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invert.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invert', require('../invert')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertBy.js new file mode 100644 index 00000000..63ca97ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invertBy', require('../invertBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertObj.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertObj.js new file mode 100644 index 00000000..f1d842e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invertObj.js @@ -0,0 +1 @@ +module.exports = require('./invert'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invoke.js new file mode 100644 index 00000000..fcf17f0d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invoke.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invoke', require('../invoke')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgs.js new file mode 100644 index 00000000..d3f2953f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeArgs', require('../invoke')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgsMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgsMap.js new file mode 100644 index 00000000..eaa9f84f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeArgsMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeArgsMap', require('../invokeMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeMap.js new file mode 100644 index 00000000..6515fd73 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/invokeMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeMap', require('../invokeMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArguments.js new file mode 100644 index 00000000..1d93c9e5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArguments.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArguments', require('../isArguments'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArray.js new file mode 100644 index 00000000..ba7ade8d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArray', require('../isArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayBuffer.js new file mode 100644 index 00000000..5088513f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayBuffer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayBuffer', require('../isArrayBuffer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLike.js new file mode 100644 index 00000000..8f1856bf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLike.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayLike', require('../isArrayLike'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLikeObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLikeObject.js new file mode 100644 index 00000000..21084984 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isArrayLikeObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayLikeObject', require('../isArrayLikeObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBoolean.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBoolean.js new file mode 100644 index 00000000..9339f75b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBoolean.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isBoolean', require('../isBoolean'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBuffer.js new file mode 100644 index 00000000..e60b1238 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isBuffer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isBuffer', require('../isBuffer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isDate.js new file mode 100644 index 00000000..dc41d089 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isDate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isDate', require('../isDate'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isElement.js new file mode 100644 index 00000000..18ee039a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isElement.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isElement', require('../isElement'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEmpty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEmpty.js new file mode 100644 index 00000000..0f4ae841 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEmpty.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEmpty', require('../isEmpty'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqual.js new file mode 100644 index 00000000..41383865 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqual.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEqual', require('../isEqual')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqualWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqualWith.js new file mode 100644 index 00000000..029ff5cd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isEqualWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEqualWith', require('../isEqualWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isError.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isError.js new file mode 100644 index 00000000..3dfd81cc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isError.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isError', require('../isError'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFinite.js new file mode 100644 index 00000000..0b647b84 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFinite.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isFinite', require('../isFinite'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFunction.js new file mode 100644 index 00000000..ff8e5c45 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isFunction.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isFunction', require('../isFunction'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isInteger.js new file mode 100644 index 00000000..67af4ff6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isInteger', require('../isInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isLength.js new file mode 100644 index 00000000..fc101c5a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isLength.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isLength', require('../isLength'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMap.js new file mode 100644 index 00000000..a209aa66 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMap', require('../isMap'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatch.js new file mode 100644 index 00000000..6264ca17 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatch.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMatch', require('../isMatch')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatchWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatchWith.js new file mode 100644 index 00000000..d95f3193 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isMatchWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMatchWith', require('../isMatchWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNaN.js new file mode 100644 index 00000000..66a978f1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNaN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNaN', require('../isNaN'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNative.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNative.js new file mode 100644 index 00000000..3d775ba9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNative.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNative', require('../isNative'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNil.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNil.js new file mode 100644 index 00000000..5952c028 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNil.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNil', require('../isNil'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNull.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNull.js new file mode 100644 index 00000000..f201a354 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNull.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNull', require('../isNull'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNumber.js new file mode 100644 index 00000000..a2b5fa04 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isNumber.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNumber', require('../isNumber'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObject.js new file mode 100644 index 00000000..231ace03 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isObject', require('../isObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObjectLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObjectLike.js new file mode 100644 index 00000000..f16082e6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isObjectLike.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isObjectLike', require('../isObjectLike'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isPlainObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isPlainObject.js new file mode 100644 index 00000000..b5bea90d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isPlainObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isPlainObject', require('../isPlainObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isRegExp.js new file mode 100644 index 00000000..12a1a3d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isRegExp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isRegExp', require('../isRegExp'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSafeInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSafeInteger.js new file mode 100644 index 00000000..7230f552 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSafeInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSafeInteger', require('../isSafeInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSet.js new file mode 100644 index 00000000..35c01f6f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSet.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSet', require('../isSet'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isString.js new file mode 100644 index 00000000..1fd0679e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isString', require('../isString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSymbol.js new file mode 100644 index 00000000..38676956 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isSymbol.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSymbol', require('../isSymbol'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isTypedArray.js new file mode 100644 index 00000000..85679538 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isTypedArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isTypedArray', require('../isTypedArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isUndefined.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isUndefined.js new file mode 100644 index 00000000..ddbca31c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isUndefined.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakMap.js new file mode 100644 index 00000000..ef60c613 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isWeakMap', require('../isWeakMap'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakSet.js new file mode 100644 index 00000000..c99bfaa6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/isWeakSet.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isWeakSet', require('../isWeakSet'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/iteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/iteratee.js new file mode 100644 index 00000000..9f0f7173 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/iteratee.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('iteratee', require('../iteratee')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/join.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/join.js new file mode 100644 index 00000000..a220e003 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/join.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('join', require('../join')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/juxt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/juxt.js new file mode 100644 index 00000000..f71e04e0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/juxt.js @@ -0,0 +1 @@ +module.exports = require('./over'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/kebabCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/kebabCase.js new file mode 100644 index 00000000..60737f17 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/kebabCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('kebabCase', require('../kebabCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keyBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keyBy.js new file mode 100644 index 00000000..9a6a85d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keyBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keyBy', require('../keyBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keys.js new file mode 100644 index 00000000..e12bb07f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keys.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keys', require('../keys'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keysIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keysIn.js new file mode 100644 index 00000000..f3eb36a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/keysIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keysIn', require('../keysIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lang.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lang.js new file mode 100644 index 00000000..08cc9c14 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lang.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../lang')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/last.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/last.js new file mode 100644 index 00000000..0f716993 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/last.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('last', require('../last'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOf.js new file mode 100644 index 00000000..ddf39c30 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lastIndexOf', require('../lastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOfFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOfFrom.js new file mode 100644 index 00000000..1ff6a0b5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lastIndexOfFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lastIndexOfFrom', require('../lastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerCase.js new file mode 100644 index 00000000..ea64bc15 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lowerCase', require('../lowerCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerFirst.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerFirst.js new file mode 100644 index 00000000..539720a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lowerFirst.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lowerFirst', require('../lowerFirst'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lt.js new file mode 100644 index 00000000..a31d21ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lt', require('../lt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lte.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lte.js new file mode 100644 index 00000000..d795d10e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/lte.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lte', require('../lte')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/map.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/map.js new file mode 100644 index 00000000..cf987943 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/map.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('map', require('../map')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapKeys.js new file mode 100644 index 00000000..16845870 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapKeys.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mapKeys', require('../mapKeys')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapValues.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapValues.js new file mode 100644 index 00000000..40049727 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mapValues.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mapValues', require('../mapValues')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matches.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matches.js new file mode 100644 index 00000000..29d1e1e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matches.js @@ -0,0 +1 @@ +module.exports = require('./isMatch'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matchesProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matchesProperty.js new file mode 100644 index 00000000..4575bd24 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/matchesProperty.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('matchesProperty', require('../matchesProperty')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/math.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/math.js new file mode 100644 index 00000000..e8f50f79 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/math.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../math')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/max.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/max.js new file mode 100644 index 00000000..a66acac2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/max.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('max', require('../max'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/maxBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/maxBy.js new file mode 100644 index 00000000..d083fd64 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/maxBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('maxBy', require('../maxBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mean.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mean.js new file mode 100644 index 00000000..31172460 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mean.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mean', require('../mean'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/meanBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/meanBy.js new file mode 100644 index 00000000..556f25ed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/meanBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('meanBy', require('../meanBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/memoize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/memoize.js new file mode 100644 index 00000000..638eec63 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/memoize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('memoize', require('../memoize')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/merge.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/merge.js new file mode 100644 index 00000000..ac66adde --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/merge.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('merge', require('../merge')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAll.js new file mode 100644 index 00000000..a3674d67 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeAll', require('../merge')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAllWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAllWith.js new file mode 100644 index 00000000..4bd4206d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeAllWith', require('../mergeWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeWith.js new file mode 100644 index 00000000..00d44d5e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mergeWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeWith', require('../mergeWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/method.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/method.js new file mode 100644 index 00000000..f4060c68 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/method.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('method', require('../method')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/methodOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/methodOf.js new file mode 100644 index 00000000..61399056 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/methodOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('methodOf', require('../methodOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/min.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/min.js new file mode 100644 index 00000000..d12c6b40 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/min.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('min', require('../min'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/minBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/minBy.js new file mode 100644 index 00000000..fdb9e24d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/minBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('minBy', require('../minBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mixin.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mixin.js new file mode 100644 index 00000000..332e6fbf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/mixin.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mixin', require('../mixin')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/multiply.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/multiply.js new file mode 100644 index 00000000..4dcf0b0d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/multiply.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('multiply', require('../multiply')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nAry.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nAry.js new file mode 100644 index 00000000..f262a76c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nAry.js @@ -0,0 +1 @@ +module.exports = require('./ary'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/negate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/negate.js new file mode 100644 index 00000000..8b6dc7c5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/negate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('negate', require('../negate'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/next.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/next.js new file mode 100644 index 00000000..140155e2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/next.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('next', require('../next'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/noop.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/noop.js new file mode 100644 index 00000000..b9e32cc8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/noop.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('noop', require('../noop'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/now.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/now.js new file mode 100644 index 00000000..6de2068a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/now.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('now', require('../now'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nth.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nth.js new file mode 100644 index 00000000..da4fda74 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('nth', require('../nth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nthArg.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nthArg.js new file mode 100644 index 00000000..fce31659 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/nthArg.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('nthArg', require('../nthArg')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/number.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/number.js new file mode 100644 index 00000000..5c10b884 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/number.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../number')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/object.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/object.js new file mode 100644 index 00000000..ae39a134 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/object.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../object')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omit.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omit.js new file mode 100644 index 00000000..fd685291 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omit.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('omit', require('../omit')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitAll.js new file mode 100644 index 00000000..144cf4b9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitAll.js @@ -0,0 +1 @@ +module.exports = require('./omit'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitBy.js new file mode 100644 index 00000000..90df7380 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/omitBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('omitBy', require('../omitBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/once.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/once.js new file mode 100644 index 00000000..f8f0a5c7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/once.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('once', require('../once'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/orderBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/orderBy.js new file mode 100644 index 00000000..848e2107 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/orderBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('orderBy', require('../orderBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/over.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/over.js new file mode 100644 index 00000000..01eba7b9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/over.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('over', require('../over')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overArgs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overArgs.js new file mode 100644 index 00000000..738556f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overArgs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overArgs', require('../overArgs')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overEvery.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overEvery.js new file mode 100644 index 00000000..9f5a032d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overEvery.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overEvery', require('../overEvery')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overSome.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overSome.js new file mode 100644 index 00000000..15939d58 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/overSome.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overSome', require('../overSome')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pad.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pad.js new file mode 100644 index 00000000..f1dea4a9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pad.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pad', require('../pad')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padChars.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padChars.js new file mode 100644 index 00000000..d6e0804c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padChars.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padChars', require('../pad')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsEnd.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsEnd.js new file mode 100644 index 00000000..d4ab79ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padCharsEnd', require('../padEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsStart.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsStart.js new file mode 100644 index 00000000..a08a3000 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padCharsStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padCharsStart', require('../padStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padEnd.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padEnd.js new file mode 100644 index 00000000..a8522ec3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padEnd', require('../padEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padStart.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padStart.js new file mode 100644 index 00000000..f4ca79d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/padStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padStart', require('../padStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/parseInt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/parseInt.js new file mode 100644 index 00000000..27314ccb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/parseInt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('parseInt', require('../parseInt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partial.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partial.js new file mode 100644 index 00000000..5d460159 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partial.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partial', require('../partial')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partialRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partialRight.js new file mode 100644 index 00000000..7f05fed0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partialRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partialRight', require('../partialRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partition.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partition.js new file mode 100644 index 00000000..2ebcacc1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/partition.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partition', require('../partition')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/path.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/path.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/path.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathEq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathEq.js new file mode 100644 index 00000000..36c027a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathEq.js @@ -0,0 +1 @@ +module.exports = require('./matchesProperty'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathOr.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathOr.js new file mode 100644 index 00000000..4ab58209 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pathOr.js @@ -0,0 +1 @@ +module.exports = require('./getOr'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/paths.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/paths.js new file mode 100644 index 00000000..1eb7950a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/paths.js @@ -0,0 +1 @@ +module.exports = require('./at'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pick.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pick.js new file mode 100644 index 00000000..197393de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pick.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pick', require('../pick')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickAll.js new file mode 100644 index 00000000..a8ecd461 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickAll.js @@ -0,0 +1 @@ +module.exports = require('./pick'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickBy.js new file mode 100644 index 00000000..d832d16b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pickBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pickBy', require('../pickBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pipe.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pipe.js new file mode 100644 index 00000000..b2e1e2cc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pipe.js @@ -0,0 +1 @@ +module.exports = require('./flow'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/placeholder.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/placeholder.js new file mode 100644 index 00000000..1ce17393 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/placeholder.js @@ -0,0 +1,6 @@ +/** + * The default argument placeholder value for methods. + * + * @type {Object} + */ +module.exports = {}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/plant.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/plant.js new file mode 100644 index 00000000..eca8f32b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/plant.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('plant', require('../plant'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pluck.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pluck.js new file mode 100644 index 00000000..0d1e1abf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pluck.js @@ -0,0 +1 @@ +module.exports = require('./map'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/prop.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/prop.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/prop.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propEq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propEq.js new file mode 100644 index 00000000..36c027a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propEq.js @@ -0,0 +1 @@ +module.exports = require('./matchesProperty'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propOr.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propOr.js new file mode 100644 index 00000000..4ab58209 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propOr.js @@ -0,0 +1 @@ +module.exports = require('./getOr'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/property.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/property.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/property.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propertyOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propertyOf.js new file mode 100644 index 00000000..f6273ee4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/propertyOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('propertyOf', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/props.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/props.js new file mode 100644 index 00000000..1eb7950a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/props.js @@ -0,0 +1 @@ +module.exports = require('./at'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pull.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pull.js new file mode 100644 index 00000000..8d7084f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pull.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pull', require('../pull')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAll.js new file mode 100644 index 00000000..98d5c9a7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAll', require('../pullAll')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllBy.js new file mode 100644 index 00000000..876bc3bf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAllBy', require('../pullAllBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllWith.js new file mode 100644 index 00000000..f71ba4d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAllWith', require('../pullAllWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAt.js new file mode 100644 index 00000000..e8b3bb61 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/pullAt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAt', require('../pullAt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/random.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/random.js new file mode 100644 index 00000000..99d852e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/random.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('random', require('../random')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/range.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/range.js new file mode 100644 index 00000000..a6bb5911 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/range.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('range', require('../range')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeRight.js new file mode 100644 index 00000000..fdb712f9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeRight', require('../rangeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStep.js new file mode 100644 index 00000000..d72dfc20 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeStep', require('../range')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStepRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStepRight.js new file mode 100644 index 00000000..8b2a67bc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rangeStepRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeStepRight', require('../rangeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rearg.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rearg.js new file mode 100644 index 00000000..678e02a3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rearg.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rearg', require('../rearg')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduce.js new file mode 100644 index 00000000..4cef0a00 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduce.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reduce', require('../reduce')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduceRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduceRight.js new file mode 100644 index 00000000..caf5bb51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reduceRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reduceRight', require('../reduceRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reject.js new file mode 100644 index 00000000..c1632738 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reject', require('../reject')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/remove.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/remove.js new file mode 100644 index 00000000..e9d13273 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/remove.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('remove', require('../remove')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/repeat.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/repeat.js new file mode 100644 index 00000000..08470f24 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/repeat.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('repeat', require('../repeat')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/replace.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/replace.js new file mode 100644 index 00000000..2227db62 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/replace.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('replace', require('../replace')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rest.js new file mode 100644 index 00000000..c1f3d64b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/rest.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rest', require('../rest')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/restFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/restFrom.js new file mode 100644 index 00000000..714e42b5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/restFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('restFrom', require('../rest')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/result.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/result.js new file mode 100644 index 00000000..f86ce071 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/result.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('result', require('../result')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reverse.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reverse.js new file mode 100644 index 00000000..07c9f5e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/reverse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reverse', require('../reverse')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/round.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/round.js new file mode 100644 index 00000000..4c0e5c82 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/round.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('round', require('../round')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sample.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sample.js new file mode 100644 index 00000000..6bea1254 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sample.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sample', require('../sample'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sampleSize.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sampleSize.js new file mode 100644 index 00000000..359ed6fc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sampleSize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sampleSize', require('../sampleSize')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/seq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/seq.js new file mode 100644 index 00000000..d8f42b0a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/seq.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../seq')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/set.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/set.js new file mode 100644 index 00000000..0b56a56c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/set.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('set', require('../set')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/setWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/setWith.js new file mode 100644 index 00000000..0b584952 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/setWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('setWith', require('../setWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/shuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/shuffle.js new file mode 100644 index 00000000..aa3a1ca5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/shuffle.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('shuffle', require('../shuffle'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/size.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/size.js new file mode 100644 index 00000000..7490136e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/size.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('size', require('../size'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/slice.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/slice.js new file mode 100644 index 00000000..15945d32 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/slice.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('slice', require('../slice')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/snakeCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/snakeCase.js new file mode 100644 index 00000000..a0ff7808 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/snakeCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('snakeCase', require('../snakeCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/some.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/some.js new file mode 100644 index 00000000..a4fa2d00 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/some.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('some', require('../some')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortBy.js new file mode 100644 index 00000000..e0790ad5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortBy', require('../sortBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndex.js new file mode 100644 index 00000000..364a0543 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndex', require('../sortedIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexBy.js new file mode 100644 index 00000000..9593dbd1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndexBy', require('../sortedIndexBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexOf.js new file mode 100644 index 00000000..c9084cab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndexOf', require('../sortedIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndex.js new file mode 100644 index 00000000..47fe241a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndex', require('../sortedLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexBy.js new file mode 100644 index 00000000..0f9a3473 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndexBy', require('../sortedLastIndexBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexOf.js new file mode 100644 index 00000000..0d4d9327 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedLastIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndexOf', require('../sortedLastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniq.js new file mode 100644 index 00000000..882d2837 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedUniq', require('../sortedUniq'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniqBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniqBy.js new file mode 100644 index 00000000..033db91c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sortedUniqBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedUniqBy', require('../sortedUniqBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/split.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/split.js new file mode 100644 index 00000000..14de1a7e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/split.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('split', require('../split')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spread.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spread.js new file mode 100644 index 00000000..2d11b707 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spread.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('spread', require('../spread')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spreadFrom.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spreadFrom.js new file mode 100644 index 00000000..0b630df1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/spreadFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('spreadFrom', require('../spread')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startCase.js new file mode 100644 index 00000000..ada98c94 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('startCase', require('../startCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startsWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startsWith.js new file mode 100644 index 00000000..985e2f29 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/startsWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('startsWith', require('../startsWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/string.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/string.js new file mode 100644 index 00000000..773b0370 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/string.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../string')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubArray.js new file mode 100644 index 00000000..cd604cb4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubArray', require('../stubArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubFalse.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubFalse.js new file mode 100644 index 00000000..32966645 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubFalse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubFalse', require('../stubFalse'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubObject.js new file mode 100644 index 00000000..c6c8ec47 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubObject', require('../stubObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubString.js new file mode 100644 index 00000000..701051e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubString', require('../stubString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubTrue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubTrue.js new file mode 100644 index 00000000..9249082c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/stubTrue.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubTrue', require('../stubTrue'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/subtract.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/subtract.js new file mode 100644 index 00000000..d32b16d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/subtract.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('subtract', require('../subtract')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sum.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sum.js new file mode 100644 index 00000000..5cce12b3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sum.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sum', require('../sum'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sumBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sumBy.js new file mode 100644 index 00000000..c8826565 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/sumBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sumBy', require('../sumBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifference.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifference.js new file mode 100644 index 00000000..78c16add --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifference.js @@ -0,0 +1 @@ +module.exports = require('./xor'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceBy.js new file mode 100644 index 00000000..298fc7ff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceBy.js @@ -0,0 +1 @@ +module.exports = require('./xorBy'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceWith.js new file mode 100644 index 00000000..70bc6faf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/symmetricDifferenceWith.js @@ -0,0 +1 @@ +module.exports = require('./xorWith'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tail.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tail.js new file mode 100644 index 00000000..f122f0ac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tail.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('tail', require('../tail'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/take.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/take.js new file mode 100644 index 00000000..9af98a7b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/take.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('take', require('../take')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLast.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLast.js new file mode 100644 index 00000000..e98c84a1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLast.js @@ -0,0 +1 @@ +module.exports = require('./takeRight'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLastWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLastWhile.js new file mode 100644 index 00000000..5367968a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeLastWhile.js @@ -0,0 +1 @@ +module.exports = require('./takeRightWhile'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRight.js new file mode 100644 index 00000000..b82950a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeRight', require('../takeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRightWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRightWhile.js new file mode 100644 index 00000000..8ffb0a28 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeRightWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeRightWhile', require('../takeRightWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeWhile.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeWhile.js new file mode 100644 index 00000000..28136644 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/takeWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeWhile', require('../takeWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tap.js new file mode 100644 index 00000000..d33ad6ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/tap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('tap', require('../tap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/template.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/template.js new file mode 100644 index 00000000..74857e1c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/template.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('template', require('../template')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/templateSettings.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/templateSettings.js new file mode 100644 index 00000000..7bcc0a82 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/templateSettings.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('templateSettings', require('../templateSettings'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/throttle.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/throttle.js new file mode 100644 index 00000000..77fff142 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/throttle.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('throttle', require('../throttle')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/thru.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/thru.js new file mode 100644 index 00000000..d42b3b1d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/thru.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('thru', require('../thru')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/times.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/times.js new file mode 100644 index 00000000..0dab06da --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/times.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('times', require('../times')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toArray.js new file mode 100644 index 00000000..f0c360ac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toArray', require('../toArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toFinite.js new file mode 100644 index 00000000..3a47687d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toFinite.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toFinite', require('../toFinite'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toInteger.js new file mode 100644 index 00000000..e0af6a75 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toInteger', require('../toInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toIterator.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toIterator.js new file mode 100644 index 00000000..65e6baa9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toIterator.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toIterator', require('../toIterator'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toJSON.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toJSON.js new file mode 100644 index 00000000..2d718d0b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toJSON.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toJSON', require('../toJSON'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLength.js new file mode 100644 index 00000000..b97cdd93 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLength.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toLength', require('../toLength'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLower.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLower.js new file mode 100644 index 00000000..616ef36a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toLower.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toLower', require('../toLower'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toNumber.js new file mode 100644 index 00000000..d0c6f4d3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toNumber.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toNumber', require('../toNumber'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairs.js new file mode 100644 index 00000000..af783786 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPairs', require('../toPairs'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairsIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairsIn.js new file mode 100644 index 00000000..66504abf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPairsIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPairsIn', require('../toPairsIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPath.js new file mode 100644 index 00000000..b4d5e50f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPath.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPath', require('../toPath'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPlainObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPlainObject.js new file mode 100644 index 00000000..278bb863 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toPlainObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPlainObject', require('../toPlainObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toSafeInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toSafeInteger.js new file mode 100644 index 00000000..367a26fd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toSafeInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toSafeInteger', require('../toSafeInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toString.js new file mode 100644 index 00000000..cec4f8e2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toString', require('../toString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toUpper.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toUpper.js new file mode 100644 index 00000000..54f9a560 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/toUpper.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toUpper', require('../toUpper'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/transform.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/transform.js new file mode 100644 index 00000000..759d088f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/transform.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('transform', require('../transform')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trim.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trim.js new file mode 100644 index 00000000..e6319a74 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trim.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trim', require('../trim')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimChars.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimChars.js new file mode 100644 index 00000000..c9294de4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimChars.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimChars', require('../trim')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsEnd.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsEnd.js new file mode 100644 index 00000000..284bc2f8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimCharsEnd', require('../trimEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsStart.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsStart.js new file mode 100644 index 00000000..ff0ee65d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimCharsStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimCharsStart', require('../trimStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimEnd.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimEnd.js new file mode 100644 index 00000000..71908805 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimEnd', require('../trimEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimStart.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimStart.js new file mode 100644 index 00000000..fda902c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/trimStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimStart', require('../trimStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/truncate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/truncate.js new file mode 100644 index 00000000..d265c1de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/truncate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('truncate', require('../truncate')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unapply.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unapply.js new file mode 100644 index 00000000..c5dfe779 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unapply.js @@ -0,0 +1 @@ +module.exports = require('./rest'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unary.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unary.js new file mode 100644 index 00000000..286c945f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unary.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unary', require('../unary'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unescape.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unescape.js new file mode 100644 index 00000000..fddcb46e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unescape.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unescape', require('../unescape'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/union.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/union.js new file mode 100644 index 00000000..ef8228d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/union.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('union', require('../union')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionBy.js new file mode 100644 index 00000000..603687a1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unionBy', require('../unionBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionWith.js new file mode 100644 index 00000000..65bb3a79 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unionWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unionWith', require('../unionWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniq.js new file mode 100644 index 00000000..bc185249 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniq', require('../uniq'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqBy.js new file mode 100644 index 00000000..634c6a8b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqBy', require('../uniqBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqWith.js new file mode 100644 index 00000000..0ec601a9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqWith', require('../uniqWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqueId.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqueId.js new file mode 100644 index 00000000..aa8fc2f7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/uniqueId.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqueId', require('../uniqueId')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unnest.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unnest.js new file mode 100644 index 00000000..5d34060a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unnest.js @@ -0,0 +1 @@ +module.exports = require('./flatten'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unset.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unset.js new file mode 100644 index 00000000..ea203a0f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unset.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unset', require('../unset')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzip.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzip.js new file mode 100644 index 00000000..cc364b3c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unzip', require('../unzip'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzipWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzipWith.js new file mode 100644 index 00000000..182eaa10 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/unzipWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unzipWith', require('../unzipWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/update.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/update.js new file mode 100644 index 00000000..b8ce2cc9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/update.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('update', require('../update')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/updateWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/updateWith.js new file mode 100644 index 00000000..d5e8282d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/updateWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('updateWith', require('../updateWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperCase.js new file mode 100644 index 00000000..c886f202 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('upperCase', require('../upperCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperFirst.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperFirst.js new file mode 100644 index 00000000..d8c04df5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/upperFirst.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('upperFirst', require('../upperFirst'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/useWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/useWith.js new file mode 100644 index 00000000..d8b3df5a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/useWith.js @@ -0,0 +1 @@ +module.exports = require('./overArgs'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/util.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/util.js new file mode 100644 index 00000000..18c00bae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/util.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../util')); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/value.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/value.js new file mode 100644 index 00000000..555eec7a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/value.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('value', require('../value'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valueOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valueOf.js new file mode 100644 index 00000000..f968807d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valueOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('valueOf', require('../valueOf'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/values.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/values.js new file mode 100644 index 00000000..2dfc5613 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/values.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('values', require('../values'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valuesIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valuesIn.js new file mode 100644 index 00000000..a1b2bb87 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/valuesIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('valuesIn', require('../valuesIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/where.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/where.js new file mode 100644 index 00000000..3247f64a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/where.js @@ -0,0 +1 @@ +module.exports = require('./conformsTo'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/whereEq.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/whereEq.js new file mode 100644 index 00000000..29d1e1e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/whereEq.js @@ -0,0 +1 @@ +module.exports = require('./isMatch'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/without.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/without.js new file mode 100644 index 00000000..bad9e125 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/without.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('without', require('../without')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/words.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/words.js new file mode 100644 index 00000000..4a901414 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/words.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('words', require('../words')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrap.js new file mode 100644 index 00000000..e93bd8a1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrap', require('../wrap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperAt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperAt.js new file mode 100644 index 00000000..8f0a310f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperAt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperAt', require('../wrapperAt'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperChain.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperChain.js new file mode 100644 index 00000000..2a48ea2b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperChain.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperChain', require('../wrapperChain'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperLodash.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperLodash.js new file mode 100644 index 00000000..a7162d08 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperLodash.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperLodash', require('../wrapperLodash'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperReverse.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperReverse.js new file mode 100644 index 00000000..e1481aab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperReverse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperReverse', require('../wrapperReverse'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperValue.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperValue.js new file mode 100644 index 00000000..8eb9112f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/wrapperValue.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperValue', require('../wrapperValue'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xor.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xor.js new file mode 100644 index 00000000..29e28194 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xor.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xor', require('../xor')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorBy.js new file mode 100644 index 00000000..b355686d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xorBy', require('../xorBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorWith.js new file mode 100644 index 00000000..8e05739a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/xorWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xorWith', require('../xorWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zip.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zip.js new file mode 100644 index 00000000..69e147a4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zip', require('../zip')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipAll.js new file mode 100644 index 00000000..efa8ccbf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipAll', require('../zip')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObj.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObj.js new file mode 100644 index 00000000..f4a34531 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObj.js @@ -0,0 +1 @@ +module.exports = require('./zipObject'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObject.js new file mode 100644 index 00000000..462dbb68 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipObject', require('../zipObject')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObjectDeep.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObjectDeep.js new file mode 100644 index 00000000..53a5d338 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipObjectDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipObjectDeep', require('../zipObjectDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipWith.js new file mode 100644 index 00000000..c5cf9e21 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fp/zipWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipWith', require('../zipWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fromPairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fromPairs.js new file mode 100644 index 00000000..ee7940d2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/fromPairs.js @@ -0,0 +1,28 @@ +/** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ +function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; +} + +module.exports = fromPairs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/function.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/function.js new file mode 100644 index 00000000..b0fc6d93 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/function.js @@ -0,0 +1,25 @@ +module.exports = { + 'after': require('./after'), + 'ary': require('./ary'), + 'before': require('./before'), + 'bind': require('./bind'), + 'bindKey': require('./bindKey'), + 'curry': require('./curry'), + 'curryRight': require('./curryRight'), + 'debounce': require('./debounce'), + 'defer': require('./defer'), + 'delay': require('./delay'), + 'flip': require('./flip'), + 'memoize': require('./memoize'), + 'negate': require('./negate'), + 'once': require('./once'), + 'overArgs': require('./overArgs'), + 'partial': require('./partial'), + 'partialRight': require('./partialRight'), + 'rearg': require('./rearg'), + 'rest': require('./rest'), + 'spread': require('./spread'), + 'throttle': require('./throttle'), + 'unary': require('./unary'), + 'wrap': require('./wrap') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functions.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functions.js new file mode 100644 index 00000000..9722928f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functions.js @@ -0,0 +1,31 @@ +var baseFunctions = require('./_baseFunctions'), + keys = require('./keys'); + +/** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ +function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); +} + +module.exports = functions; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functionsIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functionsIn.js new file mode 100644 index 00000000..f00345d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/functionsIn.js @@ -0,0 +1,31 @@ +var baseFunctions = require('./_baseFunctions'), + keysIn = require('./keysIn'); + +/** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ +function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); +} + +module.exports = functionsIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/get.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/get.js new file mode 100644 index 00000000..8805ff92 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/get.js @@ -0,0 +1,33 @@ +var baseGet = require('./_baseGet'); + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/groupBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/groupBy.js new file mode 100644 index 00000000..babf4f6b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/groupBy.js @@ -0,0 +1,41 @@ +var baseAssignValue = require('./_baseAssignValue'), + createAggregator = require('./_createAggregator'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ +var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } +}); + +module.exports = groupBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gt.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gt.js new file mode 100644 index 00000000..3a662828 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gt.js @@ -0,0 +1,29 @@ +var baseGt = require('./_baseGt'), + createRelationalOperation = require('./_createRelationalOperation'); + +/** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ +var gt = createRelationalOperation(baseGt); + +module.exports = gt; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gte.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gte.js new file mode 100644 index 00000000..4180a687 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/gte.js @@ -0,0 +1,30 @@ +var createRelationalOperation = require('./_createRelationalOperation'); + +/** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ +var gte = createRelationalOperation(function(value, other) { + return value >= other; +}); + +module.exports = gte; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/has.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/has.js new file mode 100644 index 00000000..34df55e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/has.js @@ -0,0 +1,35 @@ +var baseHas = require('./_baseHas'), + hasPath = require('./_hasPath'); + +/** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ +function has(object, path) { + return object != null && hasPath(object, path, baseHas); +} + +module.exports = has; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/hasIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/hasIn.js new file mode 100644 index 00000000..06a36865 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/hasIn.js @@ -0,0 +1,34 @@ +var baseHasIn = require('./_baseHasIn'), + hasPath = require('./_hasPath'); + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +module.exports = hasIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/head.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/head.js new file mode 100644 index 00000000..dee9d1f1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/head.js @@ -0,0 +1,23 @@ +/** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ +function head(array) { + return (array && array.length) ? array[0] : undefined; +} + +module.exports = head; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/identity.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/identity.js new file mode 100644 index 00000000..2d5d963c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/identity.js @@ -0,0 +1,21 @@ +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +module.exports = identity; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/inRange.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/inRange.js new file mode 100644 index 00000000..f20728d9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/inRange.js @@ -0,0 +1,55 @@ +var baseInRange = require('./_baseInRange'), + toFinite = require('./toFinite'), + toNumber = require('./toNumber'); + +/** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ +function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); +} + +module.exports = inRange; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/includes.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/includes.js new file mode 100644 index 00000000..ae0deedc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/includes.js @@ -0,0 +1,53 @@ +var baseIndexOf = require('./_baseIndexOf'), + isArrayLike = require('./isArrayLike'), + isString = require('./isString'), + toInteger = require('./toInteger'), + values = require('./values'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ +function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); +} + +module.exports = includes; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/index.js new file mode 100644 index 00000000..5d063e21 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/index.js @@ -0,0 +1 @@ +module.exports = require('./lodash'); \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/indexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/indexOf.js new file mode 100644 index 00000000..3c644af2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/indexOf.js @@ -0,0 +1,42 @@ +var baseIndexOf = require('./_baseIndexOf'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ +function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); +} + +module.exports = indexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/initial.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/initial.js new file mode 100644 index 00000000..f47fc509 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/initial.js @@ -0,0 +1,22 @@ +var baseSlice = require('./_baseSlice'); + +/** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ +function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; +} + +module.exports = initial; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersection.js new file mode 100644 index 00000000..a94c1351 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersection.js @@ -0,0 +1,30 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'); + +/** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ +var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; +}); + +module.exports = intersection; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionBy.js new file mode 100644 index 00000000..31461aae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionBy.js @@ -0,0 +1,45 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ +var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, baseIteratee(iteratee, 2)) + : []; +}); + +module.exports = intersectionBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionWith.js new file mode 100644 index 00000000..63cabfaa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/intersectionWith.js @@ -0,0 +1,41 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ +var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; +}); + +module.exports = intersectionWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invert.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invert.js new file mode 100644 index 00000000..8c479509 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invert.js @@ -0,0 +1,42 @@ +var constant = require('./constant'), + createInverter = require('./_createInverter'), + identity = require('./identity'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ +var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; +}, constant(identity)); + +module.exports = invert; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invertBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invertBy.js new file mode 100644 index 00000000..3f4f7e53 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invertBy.js @@ -0,0 +1,56 @@ +var baseIteratee = require('./_baseIteratee'), + createInverter = require('./_createInverter'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ +var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } +}, baseIteratee); + +module.exports = invertBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invoke.js new file mode 100644 index 00000000..97d51eb5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invoke.js @@ -0,0 +1,24 @@ +var baseInvoke = require('./_baseInvoke'), + baseRest = require('./_baseRest'); + +/** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ +var invoke = baseRest(baseInvoke); + +module.exports = invoke; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invokeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invokeMap.js new file mode 100644 index 00000000..8da5126c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/invokeMap.js @@ -0,0 +1,41 @@ +var apply = require('./_apply'), + baseEach = require('./_baseEach'), + baseInvoke = require('./_baseInvoke'), + baseRest = require('./_baseRest'), + isArrayLike = require('./isArrayLike'); + +/** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ +var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; +}); + +module.exports = invokeMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArguments.js new file mode 100644 index 00000000..8b9ed66c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArguments.js @@ -0,0 +1,36 @@ +var baseIsArguments = require('./_baseIsArguments'), + isObjectLike = require('./isObjectLike'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +module.exports = isArguments; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArray.js new file mode 100644 index 00000000..88ab55fd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArray.js @@ -0,0 +1,26 @@ +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayBuffer.js new file mode 100644 index 00000000..12904a64 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayBuffer.js @@ -0,0 +1,27 @@ +var baseIsArrayBuffer = require('./_baseIsArrayBuffer'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer; + +/** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ +var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + +module.exports = isArrayBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLike.js new file mode 100644 index 00000000..0f966805 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLike.js @@ -0,0 +1,33 @@ +var isFunction = require('./isFunction'), + isLength = require('./isLength'); + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +module.exports = isArrayLike; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLikeObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLikeObject.js new file mode 100644 index 00000000..6c4812a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isArrayLikeObject.js @@ -0,0 +1,33 @@ +var isArrayLike = require('./isArrayLike'), + isObjectLike = require('./isObjectLike'); + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +module.exports = isArrayLikeObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBoolean.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBoolean.js new file mode 100644 index 00000000..a43ed4b8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBoolean.js @@ -0,0 +1,29 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]'; + +/** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ +function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); +} + +module.exports = isBoolean; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBuffer.js new file mode 100644 index 00000000..c103cc74 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isBuffer.js @@ -0,0 +1,38 @@ +var root = require('./_root'), + stubFalse = require('./stubFalse'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +module.exports = isBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isDate.js new file mode 100644 index 00000000..7f0209fc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isDate.js @@ -0,0 +1,27 @@ +var baseIsDate = require('./_baseIsDate'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsDate = nodeUtil && nodeUtil.isDate; + +/** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ +var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + +module.exports = isDate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isElement.js new file mode 100644 index 00000000..76ae29c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isElement.js @@ -0,0 +1,25 @@ +var isObjectLike = require('./isObjectLike'), + isPlainObject = require('./isPlainObject'); + +/** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ +function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); +} + +module.exports = isElement; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEmpty.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEmpty.js new file mode 100644 index 00000000..3597294a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEmpty.js @@ -0,0 +1,77 @@ +var baseKeys = require('./_baseKeys'), + getTag = require('./_getTag'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isArrayLike = require('./isArrayLike'), + isBuffer = require('./isBuffer'), + isPrototype = require('./_isPrototype'), + isTypedArray = require('./isTypedArray'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ +function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; +} + +module.exports = isEmpty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqual.js new file mode 100644 index 00000000..5e23e76c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqual.js @@ -0,0 +1,35 @@ +var baseIsEqual = require('./_baseIsEqual'); + +/** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ +function isEqual(value, other) { + return baseIsEqual(value, other); +} + +module.exports = isEqual; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqualWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqualWith.js new file mode 100644 index 00000000..21bdc7ff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isEqualWith.js @@ -0,0 +1,41 @@ +var baseIsEqual = require('./_baseIsEqual'); + +/** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ +function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; +} + +module.exports = isEqualWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isError.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isError.js new file mode 100644 index 00000000..b4f41e00 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isError.js @@ -0,0 +1,36 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'), + isPlainObject = require('./isPlainObject'); + +/** `Object#toString` result references. */ +var domExcTag = '[object DOMException]', + errorTag = '[object Error]'; + +/** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ +function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); +} + +module.exports = isError; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFinite.js new file mode 100644 index 00000000..601842bc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFinite.js @@ -0,0 +1,36 @@ +var root = require('./_root'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite; + +/** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ +function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); +} + +module.exports = isFinite; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFunction.js new file mode 100644 index 00000000..907a8cd8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isFunction.js @@ -0,0 +1,37 @@ +var baseGetTag = require('./_baseGetTag'), + isObject = require('./isObject'); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isInteger.js new file mode 100644 index 00000000..66aa87d5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isInteger.js @@ -0,0 +1,33 @@ +var toInteger = require('./toInteger'); + +/** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ +function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); +} + +module.exports = isInteger; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isLength.js new file mode 100644 index 00000000..3a95caa9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isLength.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMap.js new file mode 100644 index 00000000..44f8517e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMap.js @@ -0,0 +1,27 @@ +var baseIsMap = require('./_baseIsMap'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsMap = nodeUtil && nodeUtil.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + +module.exports = isMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatch.js new file mode 100644 index 00000000..9773a18c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatch.js @@ -0,0 +1,36 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'); + +/** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ +function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); +} + +module.exports = isMatch; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatchWith.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatchWith.js new file mode 100644 index 00000000..187b6a61 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isMatchWith.js @@ -0,0 +1,41 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'); + +/** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ +function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); +} + +module.exports = isMatchWith; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNaN.js new file mode 100644 index 00000000..7d0d783b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNaN.js @@ -0,0 +1,38 @@ +var isNumber = require('./isNumber'); + +/** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ +function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; +} + +module.exports = isNaN; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNative.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNative.js new file mode 100644 index 00000000..f0cb8d58 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNative.js @@ -0,0 +1,40 @@ +var baseIsNative = require('./_baseIsNative'), + isMaskable = require('./_isMaskable'); + +/** Error message constants. */ +var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'; + +/** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ +function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); +} + +module.exports = isNative; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNil.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNil.js new file mode 100644 index 00000000..79f05052 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNil.js @@ -0,0 +1,25 @@ +/** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ +function isNil(value) { + return value == null; +} + +module.exports = isNil; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNull.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNull.js new file mode 100644 index 00000000..c0a374d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNull.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ +function isNull(value) { + return value === null; +} + +module.exports = isNull; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNumber.js new file mode 100644 index 00000000..cd34ee46 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isNumber.js @@ -0,0 +1,38 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var numberTag = '[object Number]'; + +/** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ +function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); +} + +module.exports = isNumber; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObject.js new file mode 100644 index 00000000..1dc89391 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObject.js @@ -0,0 +1,31 @@ +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObjectLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObjectLike.js new file mode 100644 index 00000000..301716b5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isObjectLike.js @@ -0,0 +1,29 @@ +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isPlainObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isPlainObject.js new file mode 100644 index 00000000..23873731 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isPlainObject.js @@ -0,0 +1,62 @@ +var baseGetTag = require('./_baseGetTag'), + getPrototype = require('./_getPrototype'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +module.exports = isPlainObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isRegExp.js new file mode 100644 index 00000000..76c9b6e9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isRegExp.js @@ -0,0 +1,27 @@ +var baseIsRegExp = require('./_baseIsRegExp'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; + +/** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ +var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + +module.exports = isRegExp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSafeInteger.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSafeInteger.js new file mode 100644 index 00000000..2a48526e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSafeInteger.js @@ -0,0 +1,37 @@ +var isInteger = require('./isInteger'); + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ +function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; +} + +module.exports = isSafeInteger; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSet.js new file mode 100644 index 00000000..ab88bdf8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSet.js @@ -0,0 +1,27 @@ +var baseIsSet = require('./_baseIsSet'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsSet = nodeUtil && nodeUtil.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + +module.exports = isSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isString.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isString.js new file mode 100644 index 00000000..627eb9c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isString.js @@ -0,0 +1,30 @@ +var baseGetTag = require('./_baseGetTag'), + isArray = require('./isArray'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); +} + +module.exports = isString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSymbol.js new file mode 100644 index 00000000..dfb60b97 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isSymbol.js @@ -0,0 +1,29 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isTypedArray.js new file mode 100644 index 00000000..da3f8dd1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isTypedArray.js @@ -0,0 +1,27 @@ +var baseIsTypedArray = require('./_baseIsTypedArray'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +module.exports = isTypedArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isUndefined.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isUndefined.js new file mode 100644 index 00000000..377d121a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isUndefined.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ +function isUndefined(value) { + return value === undefined; +} + +module.exports = isUndefined; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakMap.js new file mode 100644 index 00000000..8d36f663 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakMap.js @@ -0,0 +1,28 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var weakMapTag = '[object WeakMap]'; + +/** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ +function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; +} + +module.exports = isWeakMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakSet.js new file mode 100644 index 00000000..e628b261 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/isWeakSet.js @@ -0,0 +1,28 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var weakSetTag = '[object WeakSet]'; + +/** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ +function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; +} + +module.exports = isWeakSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/iteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/iteratee.js new file mode 100644 index 00000000..61b73a8c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/iteratee.js @@ -0,0 +1,53 @@ +var baseClone = require('./_baseClone'), + baseIteratee = require('./_baseIteratee'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ +function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); +} + +module.exports = iteratee; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/join.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/join.js new file mode 100644 index 00000000..45de079f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/join.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeJoin = arrayProto.join; + +/** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ +function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); +} + +module.exports = join; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/kebabCase.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/kebabCase.js new file mode 100644 index 00000000..8a52be64 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/kebabCase.js @@ -0,0 +1,28 @@ +var createCompounder = require('./_createCompounder'); + +/** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ +var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); +}); + +module.exports = kebabCase; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keyBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keyBy.js new file mode 100644 index 00000000..acc007a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keyBy.js @@ -0,0 +1,36 @@ +var baseAssignValue = require('./_baseAssignValue'), + createAggregator = require('./_createAggregator'); + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ +var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); +}); + +module.exports = keyBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keys.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keys.js new file mode 100644 index 00000000..d143c718 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keys.js @@ -0,0 +1,37 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeys = require('./_baseKeys'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +module.exports = keys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keysIn.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keysIn.js new file mode 100644 index 00000000..a62308f2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/keysIn.js @@ -0,0 +1,32 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeysIn = require('./_baseKeysIn'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +module.exports = keysIn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lang.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lang.js new file mode 100644 index 00000000..a3962169 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lang.js @@ -0,0 +1,58 @@ +module.exports = { + 'castArray': require('./castArray'), + 'clone': require('./clone'), + 'cloneDeep': require('./cloneDeep'), + 'cloneDeepWith': require('./cloneDeepWith'), + 'cloneWith': require('./cloneWith'), + 'conformsTo': require('./conformsTo'), + 'eq': require('./eq'), + 'gt': require('./gt'), + 'gte': require('./gte'), + 'isArguments': require('./isArguments'), + 'isArray': require('./isArray'), + 'isArrayBuffer': require('./isArrayBuffer'), + 'isArrayLike': require('./isArrayLike'), + 'isArrayLikeObject': require('./isArrayLikeObject'), + 'isBoolean': require('./isBoolean'), + 'isBuffer': require('./isBuffer'), + 'isDate': require('./isDate'), + 'isElement': require('./isElement'), + 'isEmpty': require('./isEmpty'), + 'isEqual': require('./isEqual'), + 'isEqualWith': require('./isEqualWith'), + 'isError': require('./isError'), + 'isFinite': require('./isFinite'), + 'isFunction': require('./isFunction'), + 'isInteger': require('./isInteger'), + 'isLength': require('./isLength'), + 'isMap': require('./isMap'), + 'isMatch': require('./isMatch'), + 'isMatchWith': require('./isMatchWith'), + 'isNaN': require('./isNaN'), + 'isNative': require('./isNative'), + 'isNil': require('./isNil'), + 'isNull': require('./isNull'), + 'isNumber': require('./isNumber'), + 'isObject': require('./isObject'), + 'isObjectLike': require('./isObjectLike'), + 'isPlainObject': require('./isPlainObject'), + 'isRegExp': require('./isRegExp'), + 'isSafeInteger': require('./isSafeInteger'), + 'isSet': require('./isSet'), + 'isString': require('./isString'), + 'isSymbol': require('./isSymbol'), + 'isTypedArray': require('./isTypedArray'), + 'isUndefined': require('./isUndefined'), + 'isWeakMap': require('./isWeakMap'), + 'isWeakSet': require('./isWeakSet'), + 'lt': require('./lt'), + 'lte': require('./lte'), + 'toArray': require('./toArray'), + 'toFinite': require('./toFinite'), + 'toInteger': require('./toInteger'), + 'toLength': require('./toLength'), + 'toNumber': require('./toNumber'), + 'toPlainObject': require('./toPlainObject'), + 'toSafeInteger': require('./toSafeInteger'), + 'toString': require('./toString') +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/last.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/last.js new file mode 100644 index 00000000..cad1eafa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/last.js @@ -0,0 +1,20 @@ +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +module.exports = last; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lastIndexOf.js new file mode 100644 index 00000000..dabfb613 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lastIndexOf.js @@ -0,0 +1,46 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIsNaN = require('./_baseIsNaN'), + strictLastIndexOf = require('./_strictLastIndexOf'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ +function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); +} + +module.exports = lastIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lodash.js b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lodash.js new file mode 100644 index 00000000..4131e936 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/lodash/lodash.js @@ -0,0 +1,17209 @@ +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

' + func(text) + '

'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '

fred, barney, & pebbles

' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<%- value %>'); + * compiled({ 'value': ' + + + +``` + +## License + +Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/bin/marked.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/bin/marked.js new file mode 100755 index 00000000..50312462 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/bin/marked.js @@ -0,0 +1,217 @@ +#!/usr/bin/env node + +/** + * Marked CLI + * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License) + */ + +import { promises } from 'fs'; +import { marked } from '../lib/marked.esm.js'; + +const { readFile, writeFile } = promises; + +/** + * Man Page + */ + +async function help() { + const { spawn } = await import('child_process'); + + const options = { + cwd: process.cwd(), + env: process.env, + setsid: false, + stdio: 'inherit' + }; + + const { dirname, resolve } = await import('path'); + const { fileURLToPath } = await import('url'); + const __dirname = dirname(fileURLToPath(import.meta.url)); + const helpText = await readFile(resolve(__dirname, '../man/marked.1.txt'), 'utf8'); + + // eslint-disable-next-line promise/param-names + await new Promise(res => { + spawn('man', [resolve(__dirname, '../man/marked.1')], options) + .on('error', () => { + console.log(helpText); + }) + .on('close', res); + }); +} + +async function version() { + const { createRequire } = await import('module'); + const require = createRequire(import.meta.url); + const pkg = require('../package.json'); + console.log(pkg.version); +} + +/** + * Main + */ + +async function main(argv) { + const files = []; + const options = {}; + let input; + let output; + let string; + let arg; + let tokens; + let opt; + + function getarg() { + let arg = argv.shift(); + + if (arg.indexOf('--') === 0) { + // e.g. --opt + arg = arg.split('='); + if (arg.length > 1) { + // e.g. --opt=val + argv.unshift(arg.slice(1).join('=')); + } + arg = arg[0]; + } else if (arg[0] === '-') { + if (arg.length > 2) { + // e.g. -abc + argv = arg.substring(1).split('').map(function(ch) { + return '-' + ch; + }).concat(argv); + arg = argv.shift(); + } else { + // e.g. -a + } + } else { + // e.g. foo + } + + return arg; + } + + while (argv.length) { + arg = getarg(); + switch (arg) { + case '-o': + case '--output': + output = argv.shift(); + break; + case '-i': + case '--input': + input = argv.shift(); + break; + case '-s': + case '--string': + string = argv.shift(); + break; + case '-t': + case '--tokens': + tokens = true; + break; + case '-h': + case '--help': + return await help(); + case '-v': + case '--version': + return await version(); + default: + if (arg.indexOf('--') === 0) { + opt = camelize(arg.replace(/^--(no-)?/, '')); + if (!marked.defaults.hasOwnProperty(opt)) { + continue; + } + if (arg.indexOf('--no-') === 0) { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? null + : false; + } else { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? argv.shift() + : true; + } + } else { + files.push(arg); + } + break; + } + } + + async function getData() { + if (!input) { + if (files.length <= 2) { + if (string) { + return string; + } + return await getStdin(); + } + input = files.pop(); + } + return await readFile(input, 'utf8'); + } + + const data = await getData(); + + const html = tokens + ? JSON.stringify(marked.lexer(data, options), null, 2) + : marked(data, options); + + if (output) { + return await writeFile(output, html); + } + + process.stdout.write(html + '\n'); +} + +/** + * Helpers + */ + +function getStdin() { + return new Promise((resolve, reject) => { + const stdin = process.stdin; + let buff = ''; + + stdin.setEncoding('utf8'); + + stdin.on('data', function(data) { + buff += data; + }); + + stdin.on('error', function(err) { + reject(err); + }); + + stdin.on('end', function() { + resolve(buff); + }); + + stdin.resume(); + }); +} + +/** + * @param {string} text + */ +function camelize(text) { + return text.replace(/(\w)-(\w)/g, function(_, a, b) { + return a + b.toUpperCase(); + }); +} + +function handleError(err) { + if (err.code === 'ENOENT') { + console.error('marked: output to ' + err.path + ': No such directory'); + return process.exit(1); + } + throw err; +} + +/** + * Expose / Entry Point + */ + +process.title = 'marked'; +main(process.argv.slice()).then(code => { + process.exit(code || 0); +}).catch(err => { + handleError(err); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.cjs b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.cjs new file mode 100644 index 00000000..31bc794c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.cjs @@ -0,0 +1,3056 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; +} + +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + if (it) return (it = it.call(o)).next.bind(it); + + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function getDefaults() { + return { + baseUrl: null, + breaks: false, + extensions: null, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tokenizer: null, + walkTokens: null, + xhtml: false + }; +} +exports.defaults = getDefaults(); +function changeDefaults(newDefaults) { + exports.defaults = newDefaults; +} + +/** + * Helpers + */ +var escapeTest = /[&<>"']/; +var escapeReplace = /[&<>"']/g; +var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; +var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; +var escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; + +var getEscapeReplacement = function getEscapeReplacement(ch) { + return escapeReplacements[ch]; +}; + +function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; +} +var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; +/** + * @param {string} html + */ + +function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, function (_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1)); + } + + return ''; + }); +} +var caret = /(^|[^\[])\^/g; +/** + * @param {string | RegExp} regex + * @param {string} opt + */ + +function edit(regex, opt) { + regex = typeof regex === 'string' ? regex : regex.source; + opt = opt || ''; + var obj = { + replace: function replace(name, val) { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: function getRegex() { + return new RegExp(regex, opt); + } + }; + return obj; +} +var nonWordAndColonTest = /[^\w:]/g; +var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; +/** + * @param {boolean} sanitize + * @param {string} base + * @param {string} href + */ + +function cleanUrl(sanitize, base, href) { + if (sanitize) { + var prot; + + try { + prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase(); + } catch (e) { + return null; + } + + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + + return href; +} +var baseUrls = {}; +var justDomain = /^[^:]+:\/*[^/]*$/; +var protocol = /^([^:]+:)[\s\S]*$/; +var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; +/** + * @param {string} base + * @param {string} href + */ + +function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + + base = baseUrls[' ' + base]; + var relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + + return base.replace(domain, '$1') + href; + } else { + return base + href; + } +} +var noopTest = { + exec: function noopTest() {} +}; +function merge(obj) { + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} +function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + var row = tableRow.replace(/\|/g, function (match, offset, str) { + var escaped = false, + curr = offset; + + while (--curr >= 0 && str[curr] === '\\') { + escaped = !escaped; + } + + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe + + if (!cells[0].trim()) { + cells.shift(); + } + + if (cells.length > 0 && !cells[cells.length - 1].trim()) { + cells.pop(); + } + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) { + cells.push(''); + } + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + + return cells; +} +/** + * Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + * /c*$/ is vulnerable to REDOS. + * + * @param {string} str + * @param {string} c + * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey. + */ + +function rtrim(str, c, invert) { + var l = str.length; + + if (l === 0) { + return ''; + } // Length of suffix matching the invert condition. + + + var suffLen = 0; // Step left until we fail to match the invert condition. + + while (suffLen < l) { + var currChar = str.charAt(l - suffLen - 1); + + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.slice(0, l - suffLen); +} +function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + + var l = str.length; + var level = 0, + i = 0; + + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + + if (level < 0) { + return i; + } + } + } + + return -1; +} +function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } +} // copied from https://stackoverflow.com/a/5450113/806777 + +/** + * @param {string} pattern + * @param {number} count + */ + +function repeatString(pattern, count) { + if (count < 1) { + return ''; + } + + var result = ''; + + while (count > 1) { + if (count & 1) { + result += pattern; + } + + count >>= 1; + pattern += pattern; + } + + return result + pattern; +} + +function outputLink(cap, link, raw, lexer) { + var href = link.href; + var title = link.title ? escape(link.title) : null; + var text = cap[1].replace(/\\([\[\]])/g, '$1'); + + if (cap[0].charAt(0) !== '!') { + lexer.state.inLink = true; + var token = { + type: 'link', + raw: raw, + href: href, + title: title, + text: text, + tokens: lexer.inlineTokens(text, []) + }; + lexer.state.inLink = false; + return token; + } + + return { + type: 'image', + raw: raw, + href: href, + title: title, + text: escape(text) + }; +} + +function indentCodeCompensation(raw, text) { + var matchIndentToCode = raw.match(/^(\s+)(?:```)/); + + if (matchIndentToCode === null) { + return text; + } + + var indentToCode = matchIndentToCode[1]; + return text.split('\n').map(function (node) { + var matchIndentInNode = node.match(/^\s+/); + + if (matchIndentInNode === null) { + return node; + } + + var indentInNode = matchIndentInNode[0]; + + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + + return node; + }).join('\n'); +} +/** + * Tokenizer + */ + + +var Tokenizer = /*#__PURE__*/function () { + function Tokenizer(options) { + this.options = options || exports.defaults; + } + + var _proto = Tokenizer.prototype; + + _proto.space = function space(src) { + var cap = this.rules.block.newline.exec(src); + + if (cap && cap[0].length > 0) { + return { + type: 'space', + raw: cap[0] + }; + } + }; + + _proto.code = function code(src) { + var cap = this.rules.block.code.exec(src); + + if (cap) { + var text = cap[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic ? rtrim(text, '\n') : text + }; + } + }; + + _proto.fences = function fences(src) { + var cap = this.rules.block.fences.exec(src); + + if (cap) { + var raw = cap[0]; + var text = indentCodeCompensation(raw, cap[3] || ''); + return { + type: 'code', + raw: raw, + lang: cap[2] ? cap[2].trim() : cap[2], + text: text + }; + } + }; + + _proto.heading = function heading(src) { + var cap = this.rules.block.heading.exec(src); + + if (cap) { + var text = cap[2].trim(); // remove trailing #s + + if (/#$/.test(text)) { + var trimmed = rtrim(text, '#'); + + if (this.options.pedantic) { + text = trimmed.trim(); + } else if (!trimmed || / $/.test(trimmed)) { + // CommonMark requires space before trailing #s + text = trimmed.trim(); + } + } + + var token = { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text: text, + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.hr = function hr(src) { + var cap = this.rules.block.hr.exec(src); + + if (cap) { + return { + type: 'hr', + raw: cap[0] + }; + } + }; + + _proto.blockquote = function blockquote(src) { + var cap = this.rules.block.blockquote.exec(src); + + if (cap) { + var text = cap[0].replace(/^ *>[ \t]?/gm, ''); + return { + type: 'blockquote', + raw: cap[0], + tokens: this.lexer.blockTokens(text, []), + text: text + }; + } + }; + + _proto.list = function list(src) { + var cap = this.rules.block.list.exec(src); + + if (cap) { + var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly; + var bull = cap[1].trim(); + var isordered = bull.length > 1; + var list = { + type: 'list', + raw: '', + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [] + }; + bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull; + + if (this.options.pedantic) { + bull = isordered ? bull : '[*+-]'; + } // Get next list item + + + var itemRegex = new RegExp("^( {0,3}" + bull + ")((?:[\t ][^\\n]*)?(?:\\n|$))"); // Check if current bullet point can start a new List Item + + while (src) { + endEarly = false; + + if (!(cap = itemRegex.exec(src))) { + break; + } + + if (this.rules.block.hr.test(src)) { + // End list if bullet was actually HR (possibly move into itemRegex?) + break; + } + + raw = cap[0]; + src = src.substring(raw.length); + line = cap[2].split('\n', 1)[0]; + nextLine = src.split('\n', 1)[0]; + + if (this.options.pedantic) { + indent = 2; + itemContents = line.trimLeft(); + } else { + indent = cap[2].search(/[^ ]/); // Find first non-space char + + indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent + + itemContents = line.slice(indent); + indent += cap[1].length; + } + + blankLine = false; + + if (!line && /^ *$/.test(nextLine)) { + // Items begin with at most one blank line + raw += nextLine + '\n'; + src = src.substring(nextLine.length + 1); + endEarly = true; + } + + if (!endEarly) { + var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"); + var hrRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"); + var fencesBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:```|~~~)"); + var headingBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}#"); // Check if following lines should be included in List Item + + while (src) { + rawLine = src.split('\n', 1)[0]; + line = rawLine; // Re-align to follow commonmark nesting rules + + if (this.options.pedantic) { + line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' '); + } // End list item if found code fences + + + if (fencesBeginRegex.test(line)) { + break; + } // End list item if found start of new heading + + + if (headingBeginRegex.test(line)) { + break; + } // End list item if found start of new bullet + + + if (nextBulletRegex.test(line)) { + break; + } // Horizontal rule found + + + if (hrRegex.test(src)) { + break; + } + + if (line.search(/[^ ]/) >= indent || !line.trim()) { + // Dedent if possible + itemContents += '\n' + line.slice(indent); + } else if (!blankLine) { + // Until blank line, item doesn't need indentation + itemContents += '\n' + line; + } else { + // Otherwise, improper indentation ends this item + break; + } + + if (!blankLine && !line.trim()) { + // Check if current line is blank + blankLine = true; + } + + raw += rawLine + '\n'; + src = src.substring(rawLine.length + 1); + } + } + + if (!list.loose) { + // If the previous item ended with a blank line, the list is loose + if (endsWithBlankLine) { + list.loose = true; + } else if (/\n *\n *$/.test(raw)) { + endsWithBlankLine = true; + } + } // Check for task list items + + + if (this.options.gfm) { + istask = /^\[[ xX]\] /.exec(itemContents); + + if (istask) { + ischecked = istask[0] !== '[ ] '; + itemContents = itemContents.replace(/^\[[ xX]\] +/, ''); + } + } + + list.items.push({ + type: 'list_item', + raw: raw, + task: !!istask, + checked: ischecked, + loose: false, + text: itemContents + }); + list.raw += raw; + } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic + + + list.items[list.items.length - 1].raw = raw.trimRight(); + list.items[list.items.length - 1].text = itemContents.trimRight(); + list.raw = list.raw.trimRight(); + var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first + + for (i = 0; i < l; i++) { + this.lexer.state.top = false; + list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + var spacers = list.items[i].tokens.filter(function (t) { + return t.type === 'space'; + }); + var hasMultipleLineBreaks = spacers.every(function (t) { + var chars = t.raw.split(''); + var lineBreaks = 0; + + for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) { + var _char = _step.value; + + if (_char === '\n') { + lineBreaks += 1; + } + + if (lineBreaks > 1) { + return true; + } + } + + return false; + }); + + if (!list.loose && spacers.length && hasMultipleLineBreaks) { + // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item + list.loose = true; + list.items[i].loose = true; + } + } + + return list; + } + }; + + _proto.html = function html(src) { + var cap = this.rules.block.html.exec(src); + + if (cap) { + var token = { + type: 'html', + raw: cap[0], + pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }; + + if (this.options.sanitize) { + token.type = 'paragraph'; + token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]); + token.tokens = []; + this.lexer.inline(token.text, token.tokens); + } + + return token; + } + }; + + _proto.def = function def(src) { + var cap = this.rules.block.def.exec(src); + + if (cap) { + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + var tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + return { + type: 'def', + tag: tag, + raw: cap[0], + href: cap[2], + title: cap[3] + }; + } + }; + + _proto.table = function table(src) { + var cap = this.rules.block.table.exec(src); + + if (cap) { + var item = { + type: 'table', + header: splitCells(cap[1]).map(function (c) { + return { + text: c + }; + }), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + item.raw = cap[0]; + var l = item.align.length; + var i, j, k, row; + + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.rows.length; + + for (i = 0; i < l; i++) { + item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) { + return { + text: c + }; + }); + } // parse child tokens inside headers and cells + // header child tokens + + + l = item.header.length; + + for (j = 0; j < l; j++) { + item.header[j].tokens = []; + this.lexer.inline(item.header[j].text, item.header[j].tokens); + } // cell child tokens + + + l = item.rows.length; + + for (j = 0; j < l; j++) { + row = item.rows[j]; + + for (k = 0; k < row.length; k++) { + row[k].tokens = []; + this.lexer.inline(row[k].text, row[k].tokens); + } + } + + return item; + } + } + }; + + _proto.lheading = function lheading(src) { + var cap = this.rules.block.lheading.exec(src); + + if (cap) { + var token = { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.paragraph = function paragraph(src) { + var cap = this.rules.block.paragraph.exec(src); + + if (cap) { + var token = { + type: 'paragraph', + raw: cap[0], + text: cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.text = function text(src) { + var cap = this.rules.block.text.exec(src); + + if (cap) { + var token = { + type: 'text', + raw: cap[0], + text: cap[0], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.escape = function escape$1(src) { + var cap = this.rules.inline.escape.exec(src); + + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: escape(cap[1]) + }; + } + }; + + _proto.tag = function tag(src) { + var cap = this.rules.inline.tag.exec(src); + + if (cap) { + if (!this.lexer.state.inLink && /^/i.test(cap[0])) { + this.lexer.state.inLink = false; + } + + if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = true; + } else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = false; + } + + return { + type: this.options.sanitize ? 'text' : 'html', + raw: cap[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0] + }; + } + }; + + _proto.link = function link(src) { + var cap = this.rules.inline.link.exec(src); + + if (cap) { + var trimmedUrl = cap[2].trim(); + + if (!this.options.pedantic && /^$/.test(trimmedUrl)) { + return; + } // ending angle bracket cannot be escaped + + + var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\'); + + if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) { + return; + } + } else { + // find closing parenthesis + var lastParenIndex = findClosingBracket(cap[2], '()'); + + if (lastParenIndex > -1) { + var start = cap[0].indexOf('!') === 0 ? 5 : 4; + var linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + } + + var href = cap[2]; + var title = ''; + + if (this.options.pedantic) { + // split pedantic href and title + var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + + href = href.trim(); + + if (/^$/.test(trimmedUrl)) { + // pedantic allows starting angle bracket without ending angle bracket + href = href.slice(1); + } else { + href = href.slice(1, -1); + } + } + + return outputLink(cap, { + href: href ? href.replace(this.rules.inline._escapes, '$1') : href, + title: title ? title.replace(this.rules.inline._escapes, '$1') : title + }, cap[0], this.lexer); + } + }; + + _proto.reflink = function reflink(src, links) { + var cap; + + if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) { + var link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = links[link.toLowerCase()]; + + if (!link || !link.href) { + var text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text: text + }; + } + + return outputLink(cap, link, cap[0], this.lexer); + } + }; + + _proto.emStrong = function emStrong(src, maskedSrc, prevChar) { + if (prevChar === void 0) { + prevChar = ''; + } + + var match = this.rules.inline.emStrong.lDelim.exec(src); + if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well + + if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return; + var nextChar = match[1] || match[2] || ''; + + if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) { + var lLength = match[0].length - 1; + var rDelim, + rLength, + delimTotal = lLength, + midDelimTotal = 0; + var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; + endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?) + + maskedSrc = maskedSrc.slice(-1 * src.length + lLength); + + while ((match = endReg.exec(maskedSrc)) != null) { + rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6]; + if (!rDelim) continue; // skip single * in __abc*abc__ + + rLength = rDelim.length; + + if (match[3] || match[4]) { + // found another Left Delim + delimTotal += rLength; + continue; + } else if (match[5] || match[6]) { + // either Left or Right Delim + if (lLength % 3 && !((lLength + rLength) % 3)) { + midDelimTotal += rLength; + continue; // CommonMark Emphasis Rules 9-10 + } + } + + delimTotal -= rLength; + if (delimTotal > 0) continue; // Haven't found enough closing delimiters + // Remove extra characters. *a*** -> *a* + + rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a*** + + if (Math.min(lLength, rLength) % 2) { + var _text = src.slice(1, lLength + match.index + rLength); + + return { + type: 'em', + raw: src.slice(0, lLength + match.index + rLength + 1), + text: _text, + tokens: this.lexer.inlineTokens(_text, []) + }; + } // Create 'strong' if smallest delimiter has even char count. **a*** + + + var text = src.slice(2, lLength + match.index + rLength - 1); + return { + type: 'strong', + raw: src.slice(0, lLength + match.index + rLength + 1), + text: text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + } + }; + + _proto.codespan = function codespan(src) { + var cap = this.rules.inline.code.exec(src); + + if (cap) { + var text = cap[2].replace(/\n/g, ' '); + var hasNonSpaceChars = /[^ ]/.test(text); + var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text); + + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + + text = escape(text, true); + return { + type: 'codespan', + raw: cap[0], + text: text + }; + } + }; + + _proto.br = function br(src) { + var cap = this.rules.inline.br.exec(src); + + if (cap) { + return { + type: 'br', + raw: cap[0] + }; + } + }; + + _proto.del = function del(src) { + var cap = this.rules.inline.del.exec(src); + + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[2], + tokens: this.lexer.inlineTokens(cap[2], []) + }; + } + }; + + _proto.autolink = function autolink(src, mangle) { + var cap = this.rules.inline.autolink.exec(src); + + if (cap) { + var text, href; + + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [{ + type: 'text', + raw: text, + text: text + }] + }; + } + }; + + _proto.url = function url(src, mangle) { + var cap; + + if (cap = this.rules.inline.url.exec(src)) { + var text, href; + + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + var prevCapZero; + + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + + text = escape(cap[0]); + + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [{ + type: 'text', + raw: text, + text: text + }] + }; + } + }; + + _proto.inlineText = function inlineText(src, smartypants) { + var cap = this.rules.inline.text.exec(src); + + if (cap) { + var text; + + if (this.lexer.state.inRawBlock) { + text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]; + } else { + text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]); + } + + return { + type: 'text', + raw: cap[0], + text: text + }; + } + }; + + return Tokenizer; +}(); + +/** + * Block-Level Grammar + */ + +var block = { + newline: /^(?: *(?:\n|$))+/, + code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/, + hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + + '|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6) + + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, + table: noopTest, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, + text: /^[^\n]+/ +}; +block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex(); +block.bullet = /(?:[*+-]|\d{1,9}[.)])/; +block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex(); +block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex(); +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul'; +block._comment = /|$)/; +block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(); +block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs +.replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt +.replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks +.getRegex(); +block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex(); +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + table: '^ *([^\\n ].*\\|.*)\\n' // Header + + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align + + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells + +}); +block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt +.replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks +.getRegex(); +block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs +.replace('table', block.gfm.table) // interrupt paragraphs with table +.replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt +.replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks +.getRegex(); +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + +block.pedantic = merge({}, block.normal, { + html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: noopTest, + // fences not supported + paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex() +}); +/** + * Inline-Level Grammar + */ + +var inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest, + tag: '^comment' + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', + // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(ref)\]/, + nolink: /^!?\[(ref)\](?:\[\])?/, + reflinkSearch: 'reflink|nolink(?!\\()', + emStrong: { + lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, + // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right. + // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a + rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/, + rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _ + + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest, + text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~'; +inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, + +inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g; +inline.escapedEmSt = /\\\*|\\_/g; +inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex(); +inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex(); +inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex(); +inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex(); +inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex(); +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; +inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex(); +inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; +inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex(); +inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex(); +inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex(); +inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex(); +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g + }, + link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex() +}); +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ 0.5) { + ch = 'x' + ch.toString(16); + } + + out += '&#' + ch + ';'; + } + + return out; +} +/** + * Block Lexer + */ + + +var Lexer = /*#__PURE__*/function () { + function Lexer(options) { + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || exports.defaults; + this.options.tokenizer = this.options.tokenizer || new Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + this.tokenizer.lexer = this; + this.inlineQueue = []; + this.state = { + inLink: false, + inRawBlock: false, + top: true + }; + var rules = { + block: block.normal, + inline: inline.normal + }; + + if (this.options.pedantic) { + rules.block = block.pedantic; + rules.inline = inline.pedantic; + } else if (this.options.gfm) { + rules.block = block.gfm; + + if (this.options.breaks) { + rules.inline = inline.breaks; + } else { + rules.inline = inline.gfm; + } + } + + this.tokenizer.rules = rules; + } + /** + * Expose Rules + */ + + + /** + * Static Lex Method + */ + Lexer.lex = function lex(src, options) { + var lexer = new Lexer(options); + return lexer.lex(src); + } + /** + * Static Lex Inline Method + */ + ; + + Lexer.lexInline = function lexInline(src, options) { + var lexer = new Lexer(options); + return lexer.inlineTokens(src); + } + /** + * Preprocessing + */ + ; + + var _proto = Lexer.prototype; + + _proto.lex = function lex(src) { + src = src.replace(/\r\n|\r/g, '\n'); + this.blockTokens(src, this.tokens); + var next; + + while (next = this.inlineQueue.shift()) { + this.inlineTokens(next.src, next.tokens); + } + + return this.tokens; + } + /** + * Lexing + */ + ; + + _proto.blockTokens = function blockTokens(src, tokens) { + var _this = this; + + if (tokens === void 0) { + tokens = []; + } + + if (this.options.pedantic) { + src = src.replace(/\t/g, ' ').replace(/^ +$/gm, ''); + } else { + src = src.replace(/^( *)(\t+)/gm, function (_, leading, tabs) { + return leading + ' '.repeat(tabs.length); + }); + } + + var token, lastToken, cutSrc, lastParagraphClipped; + + while (src) { + if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) { + if (token = extTokenizer.call({ + lexer: _this + }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + + return false; + })) { + continue; + } // newline + + + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + + if (token.raw.length === 1 && tokens.length > 0) { + // if there's a single \n as a spacer, it's terminating the last line, + // so move it there so that we don't get unecessary paragraph tags + tokens[tokens.length - 1].raw += '\n'; + } else { + tokens.push(token); + } + + continue; + } // code + + + if (token = this.tokenizer.code(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph. + + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + continue; + } // fences + + + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // heading + + + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // hr + + + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // blockquote + + + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // list + + + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // html + + + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // def + + + if (token = this.tokenizer.def(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.raw; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title + }; + } + + continue; + } // table (gfm) + + + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // lheading + + + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // top-level paragraph + // prevent paragraph consuming extensions by clipping 'src' to extension start + + + cutSrc = src; + + if (this.options.extensions && this.options.extensions.startBlock) { + (function () { + var startIndex = Infinity; + var tempSrc = src.slice(1); + var tempStart = void 0; + + _this.options.extensions.startBlock.forEach(function (getStartIndex) { + tempStart = getStartIndex.call({ + lexer: this + }, tempSrc); + + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + })(); + } + + if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) { + lastToken = tokens[tokens.length - 1]; + + if (lastParagraphClipped && lastToken.type === 'paragraph') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + lastParagraphClipped = cutSrc.length !== src.length; + src = src.substring(token.raw.length); + continue; + } // text + + + if (token = this.tokenizer.text(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && lastToken.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + continue; + } + + if (src) { + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + this.state.top = true; + return tokens; + }; + + _proto.inline = function inline(src, tokens) { + if (tokens === void 0) { + tokens = []; + } + + this.inlineQueue.push({ + src: src, + tokens: tokens + }); + return tokens; + } + /** + * Lexing/Compiling + */ + ; + + _proto.inlineTokens = function inlineTokens(src, tokens) { + var _this2 = this; + + if (tokens === void 0) { + tokens = []; + } + + var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong + + var maskedSrc = src; + var match; + var keepPrevChar, prevChar; // Mask out reflinks + + if (this.tokens.links) { + var links = Object.keys(this.tokens.links); + + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); + } + } + } + } // Mask out other blocks + + + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } // Mask out escaped em & strong delimiters + + + while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex); + } + + while (src) { + if (!keepPrevChar) { + prevChar = ''; + } + + keepPrevChar = false; // extensions + + if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) { + if (token = extTokenizer.call({ + lexer: _this2 + }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + + return false; + })) { + continue; + } // escape + + + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // tag + + + if (token = this.tokenizer.tag(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } // link + + + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // reflink, nolink + + + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } // em & strong + + + if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // code + + + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // br + + + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // del (gfm) + + + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // autolink + + + if (token = this.tokenizer.autolink(src, mangle)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // url (gfm) + + + if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // text + // prevent inlineText consuming extensions by clipping 'src' to extension start + + + cutSrc = src; + + if (this.options.extensions && this.options.extensions.startInline) { + (function () { + var startIndex = Infinity; + var tempSrc = src.slice(1); + var tempStart = void 0; + + _this2.options.extensions.startInline.forEach(function (getStartIndex) { + tempStart = getStartIndex.call({ + lexer: this + }, tempSrc); + + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + })(); + } + + if (token = this.tokenizer.inlineText(cutSrc, smartypants)) { + src = src.substring(token.raw.length); + + if (token.raw.slice(-1) !== '_') { + // Track prevChar before string of ____ started + prevChar = token.raw.slice(-1); + } + + keepPrevChar = true; + lastToken = tokens[tokens.length - 1]; + + if (lastToken && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } + + if (src) { + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + return tokens; + }; + + _createClass(Lexer, null, [{ + key: "rules", + get: function get() { + return { + block: block, + inline: inline + }; + } + }]); + + return Lexer; +}(); + +/** + * Renderer + */ + +var Renderer = /*#__PURE__*/function () { + function Renderer(options) { + this.options = options || exports.defaults; + } + + var _proto = Renderer.prototype; + + _proto.code = function code(_code, infostring, escaped) { + var lang = (infostring || '').match(/\S*/)[0]; + + if (this.options.highlight) { + var out = this.options.highlight(_code, lang); + + if (out != null && out !== _code) { + escaped = true; + _code = out; + } + } + + _code = _code.replace(/\n$/, '') + '\n'; + + if (!lang) { + return '
' + (escaped ? _code : escape(_code, true)) + '
\n'; + } + + return '
' + (escaped ? _code : escape(_code, true)) + '
\n'; + } + /** + * @param {string} quote + */ + ; + + _proto.blockquote = function blockquote(quote) { + return "
\n" + quote + "
\n"; + }; + + _proto.html = function html(_html) { + return _html; + } + /** + * @param {string} text + * @param {string} level + * @param {string} raw + * @param {any} slugger + */ + ; + + _proto.heading = function heading(text, level, raw, slugger) { + if (this.options.headerIds) { + var id = this.options.headerPrefix + slugger.slug(raw); + return "" + text + "\n"; + } // ignore IDs + + + return "" + text + "\n"; + }; + + _proto.hr = function hr() { + return this.options.xhtml ? '
\n' : '
\n'; + }; + + _proto.list = function list(body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = ordered && start !== 1 ? ' start="' + start + '"' : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + } + /** + * @param {string} text + */ + ; + + _proto.listitem = function listitem(text) { + return "
  • " + text + "
  • \n"; + }; + + _proto.checkbox = function checkbox(checked) { + return ' '; + } + /** + * @param {string} text + */ + ; + + _proto.paragraph = function paragraph(text) { + return "

    " + text + "

    \n"; + } + /** + * @param {string} header + * @param {string} body + */ + ; + + _proto.table = function table(header, body) { + if (body) body = "" + body + ""; + return '\n' + '\n' + header + '\n' + body + '
    \n'; + } + /** + * @param {string} content + */ + ; + + _proto.tablerow = function tablerow(content) { + return "\n" + content + "\n"; + }; + + _proto.tablecell = function tablecell(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align ? "<" + type + " align=\"" + flags.align + "\">" : "<" + type + ">"; + return tag + content + ("\n"); + } + /** + * span level renderer + * @param {string} text + */ + ; + + _proto.strong = function strong(text) { + return "" + text + ""; + } + /** + * @param {string} text + */ + ; + + _proto.em = function em(text) { + return "" + text + ""; + } + /** + * @param {string} text + */ + ; + + _proto.codespan = function codespan(text) { + return "" + text + ""; + }; + + _proto.br = function br() { + return this.options.xhtml ? '
    ' : '
    '; + } + /** + * @param {string} text + */ + ; + + _proto.del = function del(text) { + return "" + text + ""; + } + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + ; + + _proto.link = function link(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = '
    '; + return out; + } + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + ; + + _proto.image = function image(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = "\""' : '>'; + return out; + }; + + _proto.text = function text(_text) { + return _text; + }; + + return Renderer; +}(); + +/** + * TextRenderer + * returns only the textual part of the token + */ +var TextRenderer = /*#__PURE__*/function () { + function TextRenderer() {} + + var _proto = TextRenderer.prototype; + + // no need for block level renderers + _proto.strong = function strong(text) { + return text; + }; + + _proto.em = function em(text) { + return text; + }; + + _proto.codespan = function codespan(text) { + return text; + }; + + _proto.del = function del(text) { + return text; + }; + + _proto.html = function html(text) { + return text; + }; + + _proto.text = function text(_text) { + return _text; + }; + + _proto.link = function link(href, title, text) { + return '' + text; + }; + + _proto.image = function image(href, title, text) { + return '' + text; + }; + + _proto.br = function br() { + return ''; + }; + + return TextRenderer; +}(); + +/** + * Slugger generates header id + */ +var Slugger = /*#__PURE__*/function () { + function Slugger() { + this.seen = {}; + } + /** + * @param {string} value + */ + + + var _proto = Slugger.prototype; + + _proto.serialize = function serialize(value) { + return value.toLowerCase().trim() // remove html tags + .replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-'); + } + /** + * Finds the next safe (unique) slug to use + * @param {string} originalSlug + * @param {boolean} isDryRun + */ + ; + + _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) { + var slug = originalSlug; + var occurenceAccumulator = 0; + + if (this.seen.hasOwnProperty(slug)) { + occurenceAccumulator = this.seen[originalSlug]; + + do { + occurenceAccumulator++; + slug = originalSlug + '-' + occurenceAccumulator; + } while (this.seen.hasOwnProperty(slug)); + } + + if (!isDryRun) { + this.seen[originalSlug] = occurenceAccumulator; + this.seen[slug] = 0; + } + + return slug; + } + /** + * Convert string to unique id + * @param {object} [options] + * @param {boolean} [options.dryrun] Generates the next unique slug without + * updating the internal accumulator. + */ + ; + + _proto.slug = function slug(value, options) { + if (options === void 0) { + options = {}; + } + + var slug = this.serialize(value); + return this.getNextSafeSlug(slug, options.dryrun); + }; + + return Slugger; +}(); + +/** + * Parsing & Compiling + */ + +var Parser = /*#__PURE__*/function () { + function Parser(options) { + this.options = options || exports.defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.textRenderer = new TextRenderer(); + this.slugger = new Slugger(); + } + /** + * Static Parse Method + */ + + + Parser.parse = function parse(tokens, options) { + var parser = new Parser(options); + return parser.parse(tokens); + } + /** + * Static Parse Inline Method + */ + ; + + Parser.parseInline = function parseInline(tokens, options) { + var parser = new Parser(options); + return parser.parseInline(tokens); + } + /** + * Parse Loop + */ + ; + + var _proto = Parser.prototype; + + _proto.parse = function parse(tokens, top) { + if (top === void 0) { + top = true; + } + + var out = '', + i, + j, + k, + l2, + l3, + row, + cell, + header, + body, + token, + ordered, + start, + loose, + itemBody, + item, + checked, + task, + checkbox, + ret; + var l = tokens.length; + + for (i = 0; i < l; i++) { + token = tokens[i]; // Run any renderer extensions + + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ + parser: this + }, token); + + if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'space': + { + continue; + } + + case 'hr': + { + out += this.renderer.hr(); + continue; + } + + case 'heading': + { + out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger); + continue; + } + + case 'code': + { + out += this.renderer.code(token.text, token.lang, token.escaped); + continue; + } + + case 'table': + { + header = ''; // header + + cell = ''; + l2 = token.header.length; + + for (j = 0; j < l2; j++) { + cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), { + header: true, + align: token.align[j] + }); + } + + header += this.renderer.tablerow(cell); + body = ''; + l2 = token.rows.length; + + for (j = 0; j < l2; j++) { + row = token.rows[j]; + cell = ''; + l3 = row.length; + + for (k = 0; k < l3; k++) { + cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { + header: false, + align: token.align[k] + }); + } + + body += this.renderer.tablerow(cell); + } + + out += this.renderer.table(header, body); + continue; + } + + case 'blockquote': + { + body = this.parse(token.tokens); + out += this.renderer.blockquote(body); + continue; + } + + case 'list': + { + ordered = token.ordered; + start = token.start; + loose = token.loose; + l2 = token.items.length; + body = ''; + + for (j = 0; j < l2; j++) { + item = token.items[j]; + checked = item.checked; + task = item.task; + itemBody = ''; + + if (item.task) { + checkbox = this.renderer.checkbox(checked); + + if (loose) { + if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text; + } + } else { + item.tokens.unshift({ + type: 'text', + text: checkbox + }); + } + } else { + itemBody += checkbox; + } + } + + itemBody += this.parse(item.tokens, loose); + body += this.renderer.listitem(itemBody, task, checked); + } + + out += this.renderer.list(body, ordered, start); + continue; + } + + case 'html': + { + // TODO parse inline content if parameter markdown=1 + out += this.renderer.html(token.text); + continue; + } + + case 'paragraph': + { + out += this.renderer.paragraph(this.parseInline(token.tokens)); + continue; + } + + case 'text': + { + body = token.tokens ? this.parseInline(token.tokens) : token.text; + + while (i + 1 < l && tokens[i + 1].type === 'text') { + token = tokens[++i]; + body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text); + } + + out += top ? this.renderer.paragraph(body) : body; + continue; + } + + default: + { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + } + /** + * Parse Inline Tokens + */ + ; + + _proto.parseInline = function parseInline(tokens, renderer) { + renderer = renderer || this.renderer; + var out = '', + i, + token, + ret; + var l = tokens.length; + + for (i = 0; i < l; i++) { + token = tokens[i]; // Run any renderer extensions + + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ + parser: this + }, token); + + if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'escape': + { + out += renderer.text(token.text); + break; + } + + case 'html': + { + out += renderer.html(token.text); + break; + } + + case 'link': + { + out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)); + break; + } + + case 'image': + { + out += renderer.image(token.href, token.title, token.text); + break; + } + + case 'strong': + { + out += renderer.strong(this.parseInline(token.tokens, renderer)); + break; + } + + case 'em': + { + out += renderer.em(this.parseInline(token.tokens, renderer)); + break; + } + + case 'codespan': + { + out += renderer.codespan(token.text); + break; + } + + case 'br': + { + out += renderer.br(); + break; + } + + case 'del': + { + out += renderer.del(this.parseInline(token.tokens, renderer)); + break; + } + + case 'text': + { + out += renderer.text(token.text); + break; + } + + default: + { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + }; + + return Parser; +}(); + +/** + * Marked + */ + +function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'); + } + + if (typeof opt === 'function') { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + if (callback) { + var highlight = opt.highlight; + var tokens; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + var done = function done(err) { + var out; + + if (!err) { + try { + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + } + + opt.highlight = highlight; + return err ? callback(err) : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + if (!tokens.length) return done(); + var pending = 0; + marked.walkTokens(tokens, function (token) { + if (token.type === 'code') { + pending++; + setTimeout(function () { + highlight(token.text, token.lang, function (err, code) { + if (err) { + return done(err); + } + + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + + pending--; + + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + + if (pending === 0) { + done(); + } + + return; + } + + try { + var _tokens = Lexer.lex(src, opt); + + if (opt.walkTokens) { + marked.walkTokens(_tokens, opt.walkTokens); + } + + return Parser.parse(_tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + + if (opt.silent) { + return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    '; + } + + throw e; + } +} +/** + * Options + */ + +marked.options = marked.setOptions = function (opt) { + merge(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; +}; + +marked.getDefaults = getDefaults; +marked.defaults = exports.defaults; +/** + * Use Extension + */ + +marked.use = function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var opts = merge.apply(void 0, [{}].concat(args)); + var extensions = marked.defaults.extensions || { + renderers: {}, + childTokens: {} + }; + var hasExtensions; + args.forEach(function (pack) { + // ==-- Parse "addon" extensions --== // + if (pack.extensions) { + hasExtensions = true; + pack.extensions.forEach(function (ext) { + if (!ext.name) { + throw new Error('extension name required'); + } + + if (ext.renderer) { + // Renderer extensions + var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null; + + if (prevRenderer) { + // Replace extension with func to run new extension but fall back if false + extensions.renderers[ext.name] = function () { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + var ret = ext.renderer.apply(this, args); + + if (ret === false) { + ret = prevRenderer.apply(this, args); + } + + return ret; + }; + } else { + extensions.renderers[ext.name] = ext.renderer; + } + } + + if (ext.tokenizer) { + // Tokenizer Extensions + if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') { + throw new Error("extension level must be 'block' or 'inline'"); + } + + if (extensions[ext.level]) { + extensions[ext.level].unshift(ext.tokenizer); + } else { + extensions[ext.level] = [ext.tokenizer]; + } + + if (ext.start) { + // Function to check for start of token + if (ext.level === 'block') { + if (extensions.startBlock) { + extensions.startBlock.push(ext.start); + } else { + extensions.startBlock = [ext.start]; + } + } else if (ext.level === 'inline') { + if (extensions.startInline) { + extensions.startInline.push(ext.start); + } else { + extensions.startInline = [ext.start]; + } + } + } + } + + if (ext.childTokens) { + // Child tokens to be visited by walkTokens + extensions.childTokens[ext.name] = ext.childTokens; + } + }); + } // ==-- Parse "overwrite" extensions --== // + + + if (pack.renderer) { + (function () { + var renderer = marked.defaults.renderer || new Renderer(); + + var _loop = function _loop(prop) { + var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false + + renderer[prop] = function () { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + var ret = pack.renderer[prop].apply(renderer, args); + + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + + return ret; + }; + }; + + for (var prop in pack.renderer) { + _loop(prop); + } + + opts.renderer = renderer; + })(); + } + + if (pack.tokenizer) { + (function () { + var tokenizer = marked.defaults.tokenizer || new Tokenizer(); + + var _loop2 = function _loop2(prop) { + var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false + + tokenizer[prop] = function () { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + var ret = pack.tokenizer[prop].apply(tokenizer, args); + + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + + return ret; + }; + }; + + for (var prop in pack.tokenizer) { + _loop2(prop); + } + + opts.tokenizer = tokenizer; + })(); + } // ==-- Parse WalkTokens extensions --== // + + + if (pack.walkTokens) { + var _walkTokens = marked.defaults.walkTokens; + + opts.walkTokens = function (token) { + pack.walkTokens.call(this, token); + + if (_walkTokens) { + _walkTokens.call(this, token); + } + }; + } + + if (hasExtensions) { + opts.extensions = extensions; + } + + marked.setOptions(opts); + }); +}; +/** + * Run callback for every token + */ + + +marked.walkTokens = function (tokens, callback) { + var _loop3 = function _loop3() { + var token = _step.value; + callback.call(marked, token); + + switch (token.type) { + case 'table': + { + for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) { + var cell = _step2.value; + marked.walkTokens(cell.tokens, callback); + } + + for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) { + var row = _step3.value; + + for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) { + var _cell = _step4.value; + marked.walkTokens(_cell.tokens, callback); + } + } + + break; + } + + case 'list': + { + marked.walkTokens(token.items, callback); + break; + } + + default: + { + if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { + // Walk any extensions + marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) { + marked.walkTokens(token[childTokens], callback); + }); + } else if (token.tokens) { + marked.walkTokens(token.tokens, callback); + } + } + } + }; + + for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) { + _loop3(); + } +}; +/** + * Parse Inline + * @param {string} src + */ + + +marked.parseInline = function (src, opt) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked.parseInline(): input parameter is undefined or null'); + } + + if (typeof src !== 'string') { + throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'); + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + try { + var tokens = Lexer.lexInline(src, opt); + + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + + return Parser.parseInline(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + + if (opt.silent) { + return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    '; + } + + throw e; + } +}; +/** + * Expose + */ + + +marked.Parser = Parser; +marked.parser = Parser.parse; +marked.Renderer = Renderer; +marked.TextRenderer = TextRenderer; +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; +marked.Tokenizer = Tokenizer; +marked.Slugger = Slugger; +marked.parse = marked; +var options = marked.options; +var setOptions = marked.setOptions; +var use = marked.use; +var walkTokens = marked.walkTokens; +var parseInline = marked.parseInline; +var parse = marked; +var parser = Parser.parse; +var lexer = Lexer.lex; + +exports.Lexer = Lexer; +exports.Parser = Parser; +exports.Renderer = Renderer; +exports.Slugger = Slugger; +exports.TextRenderer = TextRenderer; +exports.Tokenizer = Tokenizer; +exports.getDefaults = getDefaults; +exports.lexer = lexer; +exports.marked = marked; +exports.options = options; +exports.parse = parse; +exports.parseInline = parseInline; +exports.parser = parser; +exports.setOptions = setOptions; +exports.use = use; +exports.walkTokens = walkTokens; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.esm.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.esm.js new file mode 100644 index 00000000..c731f753 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.esm.js @@ -0,0 +1,2796 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +function getDefaults() { + return { + baseUrl: null, + breaks: false, + extensions: null, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tokenizer: null, + walkTokens: null, + xhtml: false + }; +} + +let defaults = getDefaults(); + +function changeDefaults(newDefaults) { + defaults = newDefaults; +} + +/** + * Helpers + */ +const escapeTest = /[&<>"']/; +const escapeReplace = /[&<>"']/g; +const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; +const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; +const escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +const getEscapeReplacement = (ch) => escapeReplacements[ch]; +function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; +} + +const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + +/** + * @param {string} html + */ +function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, (_, n) => { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +const caret = /(^|[^\[])\^/g; + +/** + * @param {string | RegExp} regex + * @param {string} opt + */ +function edit(regex, opt) { + regex = typeof regex === 'string' ? regex : regex.source; + opt = opt || ''; + const obj = { + replace: (name, val) => { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: () => { + return new RegExp(regex, opt); + } + }; + return obj; +} + +const nonWordAndColonTest = /[^\w:]/g; +const originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + +/** + * @param {boolean} sanitize + * @param {string} base + * @param {string} href + */ +function cleanUrl(sanitize, base, href) { + if (sanitize) { + let prot; + try { + prot = decodeURIComponent(unescape(href)) + .replace(nonWordAndColonTest, '') + .toLowerCase(); + } catch (e) { + return null; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return href; +} + +const baseUrls = {}; +const justDomain = /^[^:]+:\/*[^/]*$/; +const protocol = /^([^:]+:)[\s\S]*$/; +const domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + +/** + * @param {string} base + * @param {string} href + */ +function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + base = baseUrls[' ' + base]; + const relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + return base.replace(domain, '$1') + href; + } else { + return base + href; + } +} + +const noopTest = { exec: function noopTest() {} }; + +function merge(obj) { + let i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + +function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + const row = tableRow.replace(/\|/g, (match, offset, str) => { + let escaped = false, + curr = offset; + while (--curr >= 0 && str[curr] === '\\') escaped = !escaped; + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + let i = 0; + + // First/last cell in a row cannot be empty if it has no leading/trailing pipe + if (!cells[0].trim()) { cells.shift(); } + if (cells.length > 0 && !cells[cells.length - 1].trim()) { cells.pop(); } + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + return cells; +} + +/** + * Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + * /c*$/ is vulnerable to REDOS. + * + * @param {string} str + * @param {string} c + * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey. + */ +function rtrim(str, c, invert) { + const l = str.length; + if (l === 0) { + return ''; + } + + // Length of suffix matching the invert condition. + let suffLen = 0; + + // Step left until we fail to match the invert condition. + while (suffLen < l) { + const currChar = str.charAt(l - suffLen - 1); + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.slice(0, l - suffLen); +} + +function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + const l = str.length; + let level = 0, + i = 0; + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; +} + +function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } +} + +// copied from https://stackoverflow.com/a/5450113/806777 +/** + * @param {string} pattern + * @param {number} count + */ +function repeatString(pattern, count) { + if (count < 1) { + return ''; + } + let result = ''; + while (count > 1) { + if (count & 1) { + result += pattern; + } + count >>= 1; + pattern += pattern; + } + return result + pattern; +} + +function outputLink(cap, link, raw, lexer) { + const href = link.href; + const title = link.title ? escape(link.title) : null; + const text = cap[1].replace(/\\([\[\]])/g, '$1'); + + if (cap[0].charAt(0) !== '!') { + lexer.state.inLink = true; + const token = { + type: 'link', + raw, + href, + title, + text, + tokens: lexer.inlineTokens(text, []) + }; + lexer.state.inLink = false; + return token; + } + return { + type: 'image', + raw, + href, + title, + text: escape(text) + }; +} + +function indentCodeCompensation(raw, text) { + const matchIndentToCode = raw.match(/^(\s+)(?:```)/); + + if (matchIndentToCode === null) { + return text; + } + + const indentToCode = matchIndentToCode[1]; + + return text + .split('\n') + .map(node => { + const matchIndentInNode = node.match(/^\s+/); + if (matchIndentInNode === null) { + return node; + } + + const [indentInNode] = matchIndentInNode; + + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + + return node; + }) + .join('\n'); +} + +/** + * Tokenizer + */ +class Tokenizer { + constructor(options) { + this.options = options || defaults; + } + + space(src) { + const cap = this.rules.block.newline.exec(src); + if (cap && cap[0].length > 0) { + return { + type: 'space', + raw: cap[0] + }; + } + } + + code(src) { + const cap = this.rules.block.code.exec(src); + if (cap) { + const text = cap[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim(text, '\n') + : text + }; + } + } + + fences(src) { + const cap = this.rules.block.fences.exec(src); + if (cap) { + const raw = cap[0]; + const text = indentCodeCompensation(raw, cap[3] || ''); + + return { + type: 'code', + raw, + lang: cap[2] ? cap[2].trim() : cap[2], + text + }; + } + } + + heading(src) { + const cap = this.rules.block.heading.exec(src); + if (cap) { + let text = cap[2].trim(); + + // remove trailing #s + if (/#$/.test(text)) { + const trimmed = rtrim(text, '#'); + if (this.options.pedantic) { + text = trimmed.trim(); + } else if (!trimmed || / $/.test(trimmed)) { + // CommonMark requires space before trailing #s + text = trimmed.trim(); + } + } + + const token = { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text, + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + hr(src) { + const cap = this.rules.block.hr.exec(src); + if (cap) { + return { + type: 'hr', + raw: cap[0] + }; + } + } + + blockquote(src) { + const cap = this.rules.block.blockquote.exec(src); + if (cap) { + const text = cap[0].replace(/^ *>[ \t]?/gm, ''); + + return { + type: 'blockquote', + raw: cap[0], + tokens: this.lexer.blockTokens(text, []), + text + }; + } + } + + list(src) { + let cap = this.rules.block.list.exec(src); + if (cap) { + let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, + line, nextLine, rawLine, itemContents, endEarly; + + let bull = cap[1].trim(); + const isordered = bull.length > 1; + + const list = { + type: 'list', + raw: '', + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [] + }; + + bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`; + + if (this.options.pedantic) { + bull = isordered ? bull : '[*+-]'; + } + + // Get next list item + const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`); + + // Check if current bullet point can start a new List Item + while (src) { + endEarly = false; + if (!(cap = itemRegex.exec(src))) { + break; + } + + if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?) + break; + } + + raw = cap[0]; + src = src.substring(raw.length); + + line = cap[2].split('\n', 1)[0]; + nextLine = src.split('\n', 1)[0]; + + if (this.options.pedantic) { + indent = 2; + itemContents = line.trimLeft(); + } else { + indent = cap[2].search(/[^ ]/); // Find first non-space char + indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent + itemContents = line.slice(indent); + indent += cap[1].length; + } + + blankLine = false; + + if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line + raw += nextLine + '\n'; + src = src.substring(nextLine.length + 1); + endEarly = true; + } + + if (!endEarly) { + const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))`); + const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`); + const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`); + const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`); + + // Check if following lines should be included in List Item + while (src) { + rawLine = src.split('\n', 1)[0]; + line = rawLine; + + // Re-align to follow commonmark nesting rules + if (this.options.pedantic) { + line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' '); + } + + // End list item if found code fences + if (fencesBeginRegex.test(line)) { + break; + } + + // End list item if found start of new heading + if (headingBeginRegex.test(line)) { + break; + } + + // End list item if found start of new bullet + if (nextBulletRegex.test(line)) { + break; + } + + // Horizontal rule found + if (hrRegex.test(src)) { + break; + } + + if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible + itemContents += '\n' + line.slice(indent); + } else if (!blankLine) { // Until blank line, item doesn't need indentation + itemContents += '\n' + line; + } else { // Otherwise, improper indentation ends this item + break; + } + + if (!blankLine && !line.trim()) { // Check if current line is blank + blankLine = true; + } + + raw += rawLine + '\n'; + src = src.substring(rawLine.length + 1); + } + } + + if (!list.loose) { + // If the previous item ended with a blank line, the list is loose + if (endsWithBlankLine) { + list.loose = true; + } else if (/\n *\n *$/.test(raw)) { + endsWithBlankLine = true; + } + } + + // Check for task list items + if (this.options.gfm) { + istask = /^\[[ xX]\] /.exec(itemContents); + if (istask) { + ischecked = istask[0] !== '[ ] '; + itemContents = itemContents.replace(/^\[[ xX]\] +/, ''); + } + } + + list.items.push({ + type: 'list_item', + raw, + task: !!istask, + checked: ischecked, + loose: false, + text: itemContents + }); + + list.raw += raw; + } + + // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic + list.items[list.items.length - 1].raw = raw.trimRight(); + list.items[list.items.length - 1].text = itemContents.trimRight(); + list.raw = list.raw.trimRight(); + + const l = list.items.length; + + // Item child tokens handled here at end because we needed to have the final item to trim it first + for (i = 0; i < l; i++) { + this.lexer.state.top = false; + list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + const spacers = list.items[i].tokens.filter(t => t.type === 'space'); + const hasMultipleLineBreaks = spacers.every(t => { + const chars = t.raw.split(''); + let lineBreaks = 0; + for (const char of chars) { + if (char === '\n') { + lineBreaks += 1; + } + if (lineBreaks > 1) { + return true; + } + } + + return false; + }); + + if (!list.loose && spacers.length && hasMultipleLineBreaks) { + // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item + list.loose = true; + list.items[i].loose = true; + } + } + + return list; + } + } + + html(src) { + const cap = this.rules.block.html.exec(src); + if (cap) { + const token = { + type: 'html', + raw: cap[0], + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }; + if (this.options.sanitize) { + token.type = 'paragraph'; + token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]); + token.tokens = []; + this.lexer.inline(token.text, token.tokens); + } + return token; + } + } + + def(src) { + const cap = this.rules.block.def.exec(src); + if (cap) { + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + const tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + return { + type: 'def', + tag, + raw: cap[0], + href: cap[2], + title: cap[3] + }; + } + } + + table(src) { + const cap = this.rules.block.table.exec(src); + if (cap) { + const item = { + type: 'table', + header: splitCells(cap[1]).map(c => { return { text: c }; }), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + item.raw = cap[0]; + + let l = item.align.length; + let i, j, k, row; + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.rows.length; + for (i = 0; i < l; i++) { + item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; }); + } + + // parse child tokens inside headers and cells + + // header child tokens + l = item.header.length; + for (j = 0; j < l; j++) { + item.header[j].tokens = []; + this.lexer.inline(item.header[j].text, item.header[j].tokens); + } + + // cell child tokens + l = item.rows.length; + for (j = 0; j < l; j++) { + row = item.rows[j]; + for (k = 0; k < row.length; k++) { + row[k].tokens = []; + this.lexer.inline(row[k].text, row[k].tokens); + } + } + + return item; + } + } + } + + lheading(src) { + const cap = this.rules.block.lheading.exec(src); + if (cap) { + const token = { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + paragraph(src) { + const cap = this.rules.block.paragraph.exec(src); + if (cap) { + const token = { + type: 'paragraph', + raw: cap[0], + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + text(src) { + const cap = this.rules.block.text.exec(src); + if (cap) { + const token = { + type: 'text', + raw: cap[0], + text: cap[0], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + escape(src) { + const cap = this.rules.inline.escape.exec(src); + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: escape(cap[1]) + }; + } + } + + tag(src) { + const cap = this.rules.inline.tag.exec(src); + if (cap) { + if (!this.lexer.state.inLink && /^
    /i.test(cap[0])) { + this.lexer.state.inLink = false; + } + if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = true; + } else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = false; + } + + return { + type: this.options.sanitize + ? 'text' + : 'html', + raw: cap[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + text: this.options.sanitize + ? (this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape(cap[0])) + : cap[0] + }; + } + } + + link(src) { + const cap = this.rules.inline.link.exec(src); + if (cap) { + const trimmedUrl = cap[2].trim(); + if (!this.options.pedantic && /^$/.test(trimmedUrl))) { + return; + } + + // ending angle bracket cannot be escaped + const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\'); + if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) { + return; + } + } else { + // find closing parenthesis + const lastParenIndex = findClosingBracket(cap[2], '()'); + if (lastParenIndex > -1) { + const start = cap[0].indexOf('!') === 0 ? 5 : 4; + const linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + } + let href = cap[2]; + let title = ''; + if (this.options.pedantic) { + // split pedantic href and title + const link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + + href = href.trim(); + if (/^$/.test(trimmedUrl))) { + // pedantic allows starting angle bracket without ending angle bracket + href = href.slice(1); + } else { + href = href.slice(1, -1); + } + } + return outputLink(cap, { + href: href ? href.replace(this.rules.inline._escapes, '$1') : href, + title: title ? title.replace(this.rules.inline._escapes, '$1') : title + }, cap[0], this.lexer); + } + } + + reflink(src, links) { + let cap; + if ((cap = this.rules.inline.reflink.exec(src)) + || (cap = this.rules.inline.nolink.exec(src))) { + let link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = links[link.toLowerCase()]; + if (!link || !link.href) { + const text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text + }; + } + return outputLink(cap, link, cap[0], this.lexer); + } + } + + emStrong(src, maskedSrc, prevChar = '') { + let match = this.rules.inline.emStrong.lDelim.exec(src); + if (!match) return; + + // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well + if (match[3] && prevChar.match(/[\p{L}\p{N}]/u)) return; + + const nextChar = match[1] || match[2] || ''; + + if (!nextChar || (nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) { + const lLength = match[0].length - 1; + let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0; + + const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; + endReg.lastIndex = 0; + + // Clip maskedSrc to same section of string as src (move to lexer?) + maskedSrc = maskedSrc.slice(-1 * src.length + lLength); + + while ((match = endReg.exec(maskedSrc)) != null) { + rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6]; + + if (!rDelim) continue; // skip single * in __abc*abc__ + + rLength = rDelim.length; + + if (match[3] || match[4]) { // found another Left Delim + delimTotal += rLength; + continue; + } else if (match[5] || match[6]) { // either Left or Right Delim + if (lLength % 3 && !((lLength + rLength) % 3)) { + midDelimTotal += rLength; + continue; // CommonMark Emphasis Rules 9-10 + } + } + + delimTotal -= rLength; + + if (delimTotal > 0) continue; // Haven't found enough closing delimiters + + // Remove extra characters. *a*** -> *a* + rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); + + // Create `em` if smallest delimiter has odd char count. *a*** + if (Math.min(lLength, rLength) % 2) { + const text = src.slice(1, lLength + match.index + rLength); + return { + type: 'em', + raw: src.slice(0, lLength + match.index + rLength + 1), + text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + + // Create 'strong' if smallest delimiter has even char count. **a*** + const text = src.slice(2, lLength + match.index + rLength - 1); + return { + type: 'strong', + raw: src.slice(0, lLength + match.index + rLength + 1), + text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + } + } + + codespan(src) { + const cap = this.rules.inline.code.exec(src); + if (cap) { + let text = cap[2].replace(/\n/g, ' '); + const hasNonSpaceChars = /[^ ]/.test(text); + const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text); + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + text = escape(text, true); + return { + type: 'codespan', + raw: cap[0], + text + }; + } + } + + br(src) { + const cap = this.rules.inline.br.exec(src); + if (cap) { + return { + type: 'br', + raw: cap[0] + }; + } + } + + del(src) { + const cap = this.rules.inline.del.exec(src); + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[2], + tokens: this.lexer.inlineTokens(cap[2], []) + }; + } + } + + autolink(src, mangle) { + const cap = this.rules.inline.autolink.exec(src); + if (cap) { + let text, href; + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text + } + ] + }; + } + } + + url(src, mangle) { + let cap; + if (cap = this.rules.inline.url.exec(src)) { + let text, href; + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + let prevCapZero; + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + text = escape(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text + } + ] + }; + } + } + + inlineText(src, smartypants) { + const cap = this.rules.inline.text.exec(src); + if (cap) { + let text; + if (this.lexer.state.inRawBlock) { + text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]; + } else { + text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]); + } + return { + type: 'text', + raw: cap[0], + text + }; + } + } +} + +/** + * Block-Level Grammar + */ +const block = { + newline: /^(?: *(?:\n|$))+/, + code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/, + hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + + '|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6) + + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, + table: noopTest, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, + text: /^[^\n]+/ +}; + +block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + +block.bullet = /(?:[*+-]|\d{1,9}[.)])/; +block.listItemStart = edit(/^( *)(bull) */) + .replace('bull', block.bullet) + .getRegex(); + +block.list = edit(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; +block._comment = /|$)/; +block.html = edit(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + +block.paragraph = edit(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + +block.blockquote = edit(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + table: '^ *([^\\n ].*\\|.*)\\n' // Header + + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align + + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells +}); + +block.gfm.table = edit(block.gfm.table) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks + .getRegex(); + +block.gfm.paragraph = edit(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('table', block.gfm.table) // interrupt paragraphs with table + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + +block.pedantic = merge({}, block.normal, { + html: edit( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: noopTest, // fences not supported + paragraph: edit(block.normal._paragraph) + .replace('hr', block.hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', block.lheading) + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .getRegex() +}); + +/** + * Inline-Level Grammar + */ +const inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(ref)\]/, + nolink: /^!?\[(ref)\](?:\[\])?/, + reflinkSearch: 'reflink|nolink(?!\\()', + emStrong: { + lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, + // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right. + // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a + rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/, + rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _ + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest, + text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~'; +inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); + +// sequences em should skip over [title](link), `code`, +inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g; +inline.escapedEmSt = /\\\*|\\_/g; + +inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex(); + +inline.emStrong.lDelim = edit(inline.emStrong.lDelim) + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g') + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g') + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + +inline.tag = edit(inline.tag) + .replace('comment', inline._comment) + .replace('attribute', inline._attribute) + .getRegex(); + +inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + +inline.link = edit(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + +inline.reflink = edit(inline.reflink) + .replace('label', inline._label) + .replace('ref', block._label) + .getRegex(); + +inline.nolink = edit(inline.nolink) + .replace('ref', block._label) + .getRegex(); + +inline.reflinkSearch = edit(inline.reflinkSearch, 'g') + .replace('reflink', inline.reflink) + .replace('nolink', inline.nolink) + .getRegex(); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g + }, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; +} + +/** + * Block Lexer + */ +class Lexer { + constructor(options) { + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || defaults; + this.options.tokenizer = this.options.tokenizer || new Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + this.tokenizer.lexer = this; + this.inlineQueue = []; + this.state = { + inLink: false, + inRawBlock: false, + top: true + }; + + const rules = { + block: block.normal, + inline: inline.normal + }; + + if (this.options.pedantic) { + rules.block = block.pedantic; + rules.inline = inline.pedantic; + } else if (this.options.gfm) { + rules.block = block.gfm; + if (this.options.breaks) { + rules.inline = inline.breaks; + } else { + rules.inline = inline.gfm; + } + } + this.tokenizer.rules = rules; + } + + /** + * Expose Rules + */ + static get rules() { + return { + block, + inline + }; + } + + /** + * Static Lex Method + */ + static lex(src, options) { + const lexer = new Lexer(options); + return lexer.lex(src); + } + + /** + * Static Lex Inline Method + */ + static lexInline(src, options) { + const lexer = new Lexer(options); + return lexer.inlineTokens(src); + } + + /** + * Preprocessing + */ + lex(src) { + src = src + .replace(/\r\n|\r/g, '\n'); + + this.blockTokens(src, this.tokens); + + let next; + while (next = this.inlineQueue.shift()) { + this.inlineTokens(next.src, next.tokens); + } + + return this.tokens; + } + + /** + * Lexing + */ + blockTokens(src, tokens = []) { + if (this.options.pedantic) { + src = src.replace(/\t/g, ' ').replace(/^ +$/gm, ''); + } else { + src = src.replace(/^( *)(\t+)/gm, (_, leading, tabs) => { + return leading + ' '.repeat(tabs.length); + }); + } + + let token, lastToken, cutSrc, lastParagraphClipped; + + while (src) { + if (this.options.extensions + && this.options.extensions.block + && this.options.extensions.block.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + + // newline + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + if (token.raw.length === 1 && tokens.length > 0) { + // if there's a single \n as a spacer, it's terminating the last line, + // so move it there so that we don't get unecessary paragraph tags + tokens[tokens.length - 1].raw += '\n'; + } else { + tokens.push(token); + } + continue; + } + + // code + if (token = this.tokenizer.code(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + // An indented code block cannot interrupt a paragraph. + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + continue; + } + + // fences + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // heading + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // hr + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // blockquote + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // list + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // html + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // def + if (token = this.tokenizer.def(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.raw; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title + }; + } + continue; + } + + // table (gfm) + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // lheading + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // top-level paragraph + // prevent paragraph consuming extensions by clipping 'src' to extension start + cutSrc = src; + if (this.options.extensions && this.options.extensions.startBlock) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startBlock.forEach(function(getStartIndex) { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) { + lastToken = tokens[tokens.length - 1]; + if (lastParagraphClipped && lastToken.type === 'paragraph') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + lastParagraphClipped = (cutSrc.length !== src.length); + src = src.substring(token.raw.length); + continue; + } + + // text + if (token = this.tokenizer.text(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && lastToken.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + continue; + } + + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + this.state.top = true; + return tokens; + } + + inline(src, tokens = []) { + this.inlineQueue.push({ src, tokens }); + return tokens; + } + + /** + * Lexing/Compiling + */ + inlineTokens(src, tokens = []) { + let token, lastToken, cutSrc; + + // String with links masked to avoid interference with em and strong + let maskedSrc = src; + let match; + let keepPrevChar, prevChar; + + // Mask out reflinks + if (this.tokens.links) { + const links = Object.keys(this.tokens.links); + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); + } + } + } + } + // Mask out other blocks + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } + + // Mask out escaped em & strong delimiters + while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex); + } + + while (src) { + if (!keepPrevChar) { + prevChar = ''; + } + keepPrevChar = false; + + // extensions + if (this.options.extensions + && this.options.extensions.inline + && this.options.extensions.inline.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + + // escape + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // tag + if (token = this.tokenizer.tag(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + // link + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // reflink, nolink + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + // em & strong + if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // code + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // br + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // del (gfm) + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // autolink + if (token = this.tokenizer.autolink(src, mangle)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // url (gfm) + if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // text + // prevent inlineText consuming extensions by clipping 'src' to extension start + cutSrc = src; + if (this.options.extensions && this.options.extensions.startInline) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startInline.forEach(function(getStartIndex) { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (token = this.tokenizer.inlineText(cutSrc, smartypants)) { + src = src.substring(token.raw.length); + if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started + prevChar = token.raw.slice(-1); + } + keepPrevChar = true; + lastToken = tokens[tokens.length - 1]; + if (lastToken && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + return tokens; + } +} + +/** + * Renderer + */ +class Renderer { + constructor(options) { + this.options = options || defaults; + } + + code(code, infostring, escaped) { + const lang = (infostring || '').match(/\S*/)[0]; + if (this.options.highlight) { + const out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + code = code.replace(/\n$/, '') + '\n'; + + if (!lang) { + return '
    '
    +        + (escaped ? code : escape(code, true))
    +        + '
    \n'; + } + + return '
    '
    +      + (escaped ? code : escape(code, true))
    +      + '
    \n'; + } + + /** + * @param {string} quote + */ + blockquote(quote) { + return `
    \n${quote}
    \n`; + } + + html(html) { + return html; + } + + /** + * @param {string} text + * @param {string} level + * @param {string} raw + * @param {any} slugger + */ + heading(text, level, raw, slugger) { + if (this.options.headerIds) { + const id = this.options.headerPrefix + slugger.slug(raw); + return `${text}\n`; + } + + // ignore IDs + return `${text}\n`; + } + + hr() { + return this.options.xhtml ? '
    \n' : '
    \n'; + } + + list(body, ordered, start) { + const type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + } + + /** + * @param {string} text + */ + listitem(text) { + return `
  • ${text}
  • \n`; + } + + checkbox(checked) { + return ' '; + } + + /** + * @param {string} text + */ + paragraph(text) { + return `

    ${text}

    \n`; + } + + /** + * @param {string} header + * @param {string} body + */ + table(header, body) { + if (body) body = `${body}`; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + } + + /** + * @param {string} content + */ + tablerow(content) { + return `\n${content}\n`; + } + + tablecell(content, flags) { + const type = flags.header ? 'th' : 'td'; + const tag = flags.align + ? `<${type} align="${flags.align}">` + : `<${type}>`; + return tag + content + `\n`; + } + + /** + * span level renderer + * @param {string} text + */ + strong(text) { + return `${text}`; + } + + /** + * @param {string} text + */ + em(text) { + return `${text}`; + } + + /** + * @param {string} text + */ + codespan(text) { + return `${text}`; + } + + br() { + return this.options.xhtml ? '
    ' : '
    '; + } + + /** + * @param {string} text + */ + del(text) { + return `${text}`; + } + + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + link(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + let out = '
    '; + return out; + } + + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + image(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + + let out = `${text}' : '>'; + return out; + } + + text(text) { + return text; + } +} + +/** + * TextRenderer + * returns only the textual part of the token + */ +class TextRenderer { + // no need for block level renderers + strong(text) { + return text; + } + + em(text) { + return text; + } + + codespan(text) { + return text; + } + + del(text) { + return text; + } + + html(text) { + return text; + } + + text(text) { + return text; + } + + link(href, title, text) { + return '' + text; + } + + image(href, title, text) { + return '' + text; + } + + br() { + return ''; + } +} + +/** + * Slugger generates header id + */ +class Slugger { + constructor() { + this.seen = {}; + } + + /** + * @param {string} value + */ + serialize(value) { + return value + .toLowerCase() + .trim() + // remove html tags + .replace(/<[!\/a-z].*?>/ig, '') + // remove unwanted chars + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') + .replace(/\s/g, '-'); + } + + /** + * Finds the next safe (unique) slug to use + * @param {string} originalSlug + * @param {boolean} isDryRun + */ + getNextSafeSlug(originalSlug, isDryRun) { + let slug = originalSlug; + let occurenceAccumulator = 0; + if (this.seen.hasOwnProperty(slug)) { + occurenceAccumulator = this.seen[originalSlug]; + do { + occurenceAccumulator++; + slug = originalSlug + '-' + occurenceAccumulator; + } while (this.seen.hasOwnProperty(slug)); + } + if (!isDryRun) { + this.seen[originalSlug] = occurenceAccumulator; + this.seen[slug] = 0; + } + return slug; + } + + /** + * Convert string to unique id + * @param {object} [options] + * @param {boolean} [options.dryrun] Generates the next unique slug without + * updating the internal accumulator. + */ + slug(value, options = {}) { + const slug = this.serialize(value); + return this.getNextSafeSlug(slug, options.dryrun); + } +} + +/** + * Parsing & Compiling + */ +class Parser { + constructor(options) { + this.options = options || defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.textRenderer = new TextRenderer(); + this.slugger = new Slugger(); + } + + /** + * Static Parse Method + */ + static parse(tokens, options) { + const parser = new Parser(options); + return parser.parse(tokens); + } + + /** + * Static Parse Inline Method + */ + static parseInline(tokens, options) { + const parser = new Parser(options); + return parser.parseInline(tokens); + } + + /** + * Parse Loop + */ + parse(tokens, top = true) { + let out = '', + i, + j, + k, + l2, + l3, + row, + cell, + header, + body, + token, + ordered, + start, + loose, + itemBody, + item, + checked, + task, + checkbox, + ret; + + const l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + + // Run any renderer extensions + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'space': { + continue; + } + case 'hr': { + out += this.renderer.hr(); + continue; + } + case 'heading': { + out += this.renderer.heading( + this.parseInline(token.tokens), + token.depth, + unescape(this.parseInline(token.tokens, this.textRenderer)), + this.slugger); + continue; + } + case 'code': { + out += this.renderer.code(token.text, + token.lang, + token.escaped); + continue; + } + case 'table': { + header = ''; + + // header + cell = ''; + l2 = token.header.length; + for (j = 0; j < l2; j++) { + cell += this.renderer.tablecell( + this.parseInline(token.header[j].tokens), + { header: true, align: token.align[j] } + ); + } + header += this.renderer.tablerow(cell); + + body = ''; + l2 = token.rows.length; + for (j = 0; j < l2; j++) { + row = token.rows[j]; + + cell = ''; + l3 = row.length; + for (k = 0; k < l3; k++) { + cell += this.renderer.tablecell( + this.parseInline(row[k].tokens), + { header: false, align: token.align[k] } + ); + } + + body += this.renderer.tablerow(cell); + } + out += this.renderer.table(header, body); + continue; + } + case 'blockquote': { + body = this.parse(token.tokens); + out += this.renderer.blockquote(body); + continue; + } + case 'list': { + ordered = token.ordered; + start = token.start; + loose = token.loose; + l2 = token.items.length; + + body = ''; + for (j = 0; j < l2; j++) { + item = token.items[j]; + checked = item.checked; + task = item.task; + + itemBody = ''; + if (item.task) { + checkbox = this.renderer.checkbox(checked); + if (loose) { + if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text; + } + } else { + item.tokens.unshift({ + type: 'text', + text: checkbox + }); + } + } else { + itemBody += checkbox; + } + } + + itemBody += this.parse(item.tokens, loose); + body += this.renderer.listitem(itemBody, task, checked); + } + + out += this.renderer.list(body, ordered, start); + continue; + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + out += this.renderer.html(token.text); + continue; + } + case 'paragraph': { + out += this.renderer.paragraph(this.parseInline(token.tokens)); + continue; + } + case 'text': { + body = token.tokens ? this.parseInline(token.tokens) : token.text; + while (i + 1 < l && tokens[i + 1].type === 'text') { + token = tokens[++i]; + body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text); + } + out += top ? this.renderer.paragraph(body) : body; + continue; + } + + default: { + const errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + } + + /** + * Parse Inline Tokens + */ + parseInline(tokens, renderer) { + renderer = renderer || this.renderer; + let out = '', + i, + token, + ret; + + const l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + + // Run any renderer extensions + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'escape': { + out += renderer.text(token.text); + break; + } + case 'html': { + out += renderer.html(token.text); + break; + } + case 'link': { + out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)); + break; + } + case 'image': { + out += renderer.image(token.href, token.title, token.text); + break; + } + case 'strong': { + out += renderer.strong(this.parseInline(token.tokens, renderer)); + break; + } + case 'em': { + out += renderer.em(this.parseInline(token.tokens, renderer)); + break; + } + case 'codespan': { + out += renderer.codespan(token.text); + break; + } + case 'br': { + out += renderer.br(); + break; + } + case 'del': { + out += renderer.del(this.parseInline(token.tokens, renderer)); + break; + } + case 'text': { + out += renderer.text(token.text); + break; + } + default: { + const errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + return out; + } +} + +/** + * Marked + */ +function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (typeof opt === 'function') { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + if (callback) { + const highlight = opt.highlight; + let tokens; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + const done = function(err) { + let out; + + if (!err) { + try { + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!tokens.length) return done(); + + let pending = 0; + marked.walkTokens(tokens, function(token) { + if (token.type === 'code') { + pending++; + setTimeout(() => { + highlight(token.text, token.lang, function(err, code) { + if (err) { + return done(err); + } + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + + pending--; + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + + if (pending === 0) { + done(); + } + + return; + } + + try { + const tokens = Lexer.lex(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + return Parser.parse(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (opt.silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; +}; + +marked.getDefaults = getDefaults; + +marked.defaults = defaults; + +/** + * Use Extension + */ + +marked.use = function(...args) { + const opts = merge({}, ...args); + const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} }; + let hasExtensions; + + args.forEach((pack) => { + // ==-- Parse "addon" extensions --== // + if (pack.extensions) { + hasExtensions = true; + pack.extensions.forEach((ext) => { + if (!ext.name) { + throw new Error('extension name required'); + } + if (ext.renderer) { // Renderer extensions + const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null; + if (prevRenderer) { + // Replace extension with func to run new extension but fall back if false + extensions.renderers[ext.name] = function(...args) { + let ret = ext.renderer.apply(this, args); + if (ret === false) { + ret = prevRenderer.apply(this, args); + } + return ret; + }; + } else { + extensions.renderers[ext.name] = ext.renderer; + } + } + if (ext.tokenizer) { // Tokenizer Extensions + if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) { + throw new Error("extension level must be 'block' or 'inline'"); + } + if (extensions[ext.level]) { + extensions[ext.level].unshift(ext.tokenizer); + } else { + extensions[ext.level] = [ext.tokenizer]; + } + if (ext.start) { // Function to check for start of token + if (ext.level === 'block') { + if (extensions.startBlock) { + extensions.startBlock.push(ext.start); + } else { + extensions.startBlock = [ext.start]; + } + } else if (ext.level === 'inline') { + if (extensions.startInline) { + extensions.startInline.push(ext.start); + } else { + extensions.startInline = [ext.start]; + } + } + } + } + if (ext.childTokens) { // Child tokens to be visited by walkTokens + extensions.childTokens[ext.name] = ext.childTokens; + } + }); + } + + // ==-- Parse "overwrite" extensions --== // + if (pack.renderer) { + const renderer = marked.defaults.renderer || new Renderer(); + for (const prop in pack.renderer) { + const prevRenderer = renderer[prop]; + // Replace renderer with func to run extension, but fall back if false + renderer[prop] = (...args) => { + let ret = pack.renderer[prop].apply(renderer, args); + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + return ret; + }; + } + opts.renderer = renderer; + } + if (pack.tokenizer) { + const tokenizer = marked.defaults.tokenizer || new Tokenizer(); + for (const prop in pack.tokenizer) { + const prevTokenizer = tokenizer[prop]; + // Replace tokenizer with func to run extension, but fall back if false + tokenizer[prop] = (...args) => { + let ret = pack.tokenizer[prop].apply(tokenizer, args); + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + return ret; + }; + } + opts.tokenizer = tokenizer; + } + + // ==-- Parse WalkTokens extensions --== // + if (pack.walkTokens) { + const walkTokens = marked.defaults.walkTokens; + opts.walkTokens = function(token) { + pack.walkTokens.call(this, token); + if (walkTokens) { + walkTokens.call(this, token); + } + }; + } + + if (hasExtensions) { + opts.extensions = extensions; + } + + marked.setOptions(opts); + }); +}; + +/** + * Run callback for every token + */ + +marked.walkTokens = function(tokens, callback) { + for (const token of tokens) { + callback.call(marked, token); + switch (token.type) { + case 'table': { + for (const cell of token.header) { + marked.walkTokens(cell.tokens, callback); + } + for (const row of token.rows) { + for (const cell of row) { + marked.walkTokens(cell.tokens, callback); + } + } + break; + } + case 'list': { + marked.walkTokens(token.items, callback); + break; + } + default: { + if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions + marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) { + marked.walkTokens(token[childTokens], callback); + }); + } else if (token.tokens) { + marked.walkTokens(token.tokens, callback); + } + } + } + } +}; + +/** + * Parse Inline + * @param {string} src + */ +marked.parseInline = function(src, opt) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked.parseInline(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked.parseInline(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + try { + const tokens = Lexer.lexInline(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + return Parser.parseInline(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (opt.silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +}; + +/** + * Expose + */ +marked.Parser = Parser; +marked.parser = Parser.parse; +marked.Renderer = Renderer; +marked.TextRenderer = TextRenderer; +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; +marked.Tokenizer = Tokenizer; +marked.Slugger = Slugger; +marked.parse = marked; + +const options = marked.options; +const setOptions = marked.setOptions; +const use = marked.use; +const walkTokens = marked.walkTokens; +const parseInline = marked.parseInline; +const parse = marked; +const parser = Parser.parse; +const lexer = Lexer.lex; + +export { Lexer, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens }; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.umd.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.umd.js new file mode 100644 index 00000000..92a190b1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/lib/marked.umd.js @@ -0,0 +1,3062 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {})); +})(this, (function (exports) { 'use strict'; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; + } + + function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + if (it) return (it = it.call(o)).next.bind(it); + + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function getDefaults() { + return { + baseUrl: null, + breaks: false, + extensions: null, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tokenizer: null, + walkTokens: null, + xhtml: false + }; + } + exports.defaults = getDefaults(); + function changeDefaults(newDefaults) { + exports.defaults = newDefaults; + } + + /** + * Helpers + */ + var escapeTest = /[&<>"']/; + var escapeReplace = /[&<>"']/g; + var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; + var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; + var escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + var getEscapeReplacement = function getEscapeReplacement(ch) { + return escapeReplacements[ch]; + }; + + function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; + } + var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + /** + * @param {string} html + */ + + function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, function (_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1)); + } + + return ''; + }); + } + var caret = /(^|[^\[])\^/g; + /** + * @param {string | RegExp} regex + * @param {string} opt + */ + + function edit(regex, opt) { + regex = typeof regex === 'string' ? regex : regex.source; + opt = opt || ''; + var obj = { + replace: function replace(name, val) { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: function getRegex() { + return new RegExp(regex, opt); + } + }; + return obj; + } + var nonWordAndColonTest = /[^\w:]/g; + var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + /** + * @param {boolean} sanitize + * @param {string} base + * @param {string} href + */ + + function cleanUrl(sanitize, base, href) { + if (sanitize) { + var prot; + + try { + prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase(); + } catch (e) { + return null; + } + + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + + return href; + } + var baseUrls = {}; + var justDomain = /^[^:]+:\/*[^/]*$/; + var protocol = /^([^:]+:)[\s\S]*$/; + var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + /** + * @param {string} base + * @param {string} href + */ + + function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + + base = baseUrls[' ' + base]; + var relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + + return base.replace(domain, '$1') + href; + } else { + return base + href; + } + } + var noopTest = { + exec: function noopTest() {} + }; + function merge(obj) { + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + var row = tableRow.replace(/\|/g, function (match, offset, str) { + var escaped = false, + curr = offset; + + while (--curr >= 0 && str[curr] === '\\') { + escaped = !escaped; + } + + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe + + if (!cells[0].trim()) { + cells.shift(); + } + + if (cells.length > 0 && !cells[cells.length - 1].trim()) { + cells.pop(); + } + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) { + cells.push(''); + } + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + + return cells; + } + /** + * Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + * /c*$/ is vulnerable to REDOS. + * + * @param {string} str + * @param {string} c + * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey. + */ + + function rtrim(str, c, invert) { + var l = str.length; + + if (l === 0) { + return ''; + } // Length of suffix matching the invert condition. + + + var suffLen = 0; // Step left until we fail to match the invert condition. + + while (suffLen < l) { + var currChar = str.charAt(l - suffLen - 1); + + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.slice(0, l - suffLen); + } + function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + + var l = str.length; + var level = 0, + i = 0; + + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + + if (level < 0) { + return i; + } + } + } + + return -1; + } + function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } + } // copied from https://stackoverflow.com/a/5450113/806777 + + /** + * @param {string} pattern + * @param {number} count + */ + + function repeatString(pattern, count) { + if (count < 1) { + return ''; + } + + var result = ''; + + while (count > 1) { + if (count & 1) { + result += pattern; + } + + count >>= 1; + pattern += pattern; + } + + return result + pattern; + } + + function outputLink(cap, link, raw, lexer) { + var href = link.href; + var title = link.title ? escape(link.title) : null; + var text = cap[1].replace(/\\([\[\]])/g, '$1'); + + if (cap[0].charAt(0) !== '!') { + lexer.state.inLink = true; + var token = { + type: 'link', + raw: raw, + href: href, + title: title, + text: text, + tokens: lexer.inlineTokens(text, []) + }; + lexer.state.inLink = false; + return token; + } + + return { + type: 'image', + raw: raw, + href: href, + title: title, + text: escape(text) + }; + } + + function indentCodeCompensation(raw, text) { + var matchIndentToCode = raw.match(/^(\s+)(?:```)/); + + if (matchIndentToCode === null) { + return text; + } + + var indentToCode = matchIndentToCode[1]; + return text.split('\n').map(function (node) { + var matchIndentInNode = node.match(/^\s+/); + + if (matchIndentInNode === null) { + return node; + } + + var indentInNode = matchIndentInNode[0]; + + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + + return node; + }).join('\n'); + } + /** + * Tokenizer + */ + + + var Tokenizer = /*#__PURE__*/function () { + function Tokenizer(options) { + this.options = options || exports.defaults; + } + + var _proto = Tokenizer.prototype; + + _proto.space = function space(src) { + var cap = this.rules.block.newline.exec(src); + + if (cap && cap[0].length > 0) { + return { + type: 'space', + raw: cap[0] + }; + } + }; + + _proto.code = function code(src) { + var cap = this.rules.block.code.exec(src); + + if (cap) { + var text = cap[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic ? rtrim(text, '\n') : text + }; + } + }; + + _proto.fences = function fences(src) { + var cap = this.rules.block.fences.exec(src); + + if (cap) { + var raw = cap[0]; + var text = indentCodeCompensation(raw, cap[3] || ''); + return { + type: 'code', + raw: raw, + lang: cap[2] ? cap[2].trim() : cap[2], + text: text + }; + } + }; + + _proto.heading = function heading(src) { + var cap = this.rules.block.heading.exec(src); + + if (cap) { + var text = cap[2].trim(); // remove trailing #s + + if (/#$/.test(text)) { + var trimmed = rtrim(text, '#'); + + if (this.options.pedantic) { + text = trimmed.trim(); + } else if (!trimmed || / $/.test(trimmed)) { + // CommonMark requires space before trailing #s + text = trimmed.trim(); + } + } + + var token = { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text: text, + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.hr = function hr(src) { + var cap = this.rules.block.hr.exec(src); + + if (cap) { + return { + type: 'hr', + raw: cap[0] + }; + } + }; + + _proto.blockquote = function blockquote(src) { + var cap = this.rules.block.blockquote.exec(src); + + if (cap) { + var text = cap[0].replace(/^ *>[ \t]?/gm, ''); + return { + type: 'blockquote', + raw: cap[0], + tokens: this.lexer.blockTokens(text, []), + text: text + }; + } + }; + + _proto.list = function list(src) { + var cap = this.rules.block.list.exec(src); + + if (cap) { + var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly; + var bull = cap[1].trim(); + var isordered = bull.length > 1; + var list = { + type: 'list', + raw: '', + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [] + }; + bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull; + + if (this.options.pedantic) { + bull = isordered ? bull : '[*+-]'; + } // Get next list item + + + var itemRegex = new RegExp("^( {0,3}" + bull + ")((?:[\t ][^\\n]*)?(?:\\n|$))"); // Check if current bullet point can start a new List Item + + while (src) { + endEarly = false; + + if (!(cap = itemRegex.exec(src))) { + break; + } + + if (this.rules.block.hr.test(src)) { + // End list if bullet was actually HR (possibly move into itemRegex?) + break; + } + + raw = cap[0]; + src = src.substring(raw.length); + line = cap[2].split('\n', 1)[0]; + nextLine = src.split('\n', 1)[0]; + + if (this.options.pedantic) { + indent = 2; + itemContents = line.trimLeft(); + } else { + indent = cap[2].search(/[^ ]/); // Find first non-space char + + indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent + + itemContents = line.slice(indent); + indent += cap[1].length; + } + + blankLine = false; + + if (!line && /^ *$/.test(nextLine)) { + // Items begin with at most one blank line + raw += nextLine + '\n'; + src = src.substring(nextLine.length + 1); + endEarly = true; + } + + if (!endEarly) { + var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"); + var hrRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"); + var fencesBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:```|~~~)"); + var headingBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}#"); // Check if following lines should be included in List Item + + while (src) { + rawLine = src.split('\n', 1)[0]; + line = rawLine; // Re-align to follow commonmark nesting rules + + if (this.options.pedantic) { + line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' '); + } // End list item if found code fences + + + if (fencesBeginRegex.test(line)) { + break; + } // End list item if found start of new heading + + + if (headingBeginRegex.test(line)) { + break; + } // End list item if found start of new bullet + + + if (nextBulletRegex.test(line)) { + break; + } // Horizontal rule found + + + if (hrRegex.test(src)) { + break; + } + + if (line.search(/[^ ]/) >= indent || !line.trim()) { + // Dedent if possible + itemContents += '\n' + line.slice(indent); + } else if (!blankLine) { + // Until blank line, item doesn't need indentation + itemContents += '\n' + line; + } else { + // Otherwise, improper indentation ends this item + break; + } + + if (!blankLine && !line.trim()) { + // Check if current line is blank + blankLine = true; + } + + raw += rawLine + '\n'; + src = src.substring(rawLine.length + 1); + } + } + + if (!list.loose) { + // If the previous item ended with a blank line, the list is loose + if (endsWithBlankLine) { + list.loose = true; + } else if (/\n *\n *$/.test(raw)) { + endsWithBlankLine = true; + } + } // Check for task list items + + + if (this.options.gfm) { + istask = /^\[[ xX]\] /.exec(itemContents); + + if (istask) { + ischecked = istask[0] !== '[ ] '; + itemContents = itemContents.replace(/^\[[ xX]\] +/, ''); + } + } + + list.items.push({ + type: 'list_item', + raw: raw, + task: !!istask, + checked: ischecked, + loose: false, + text: itemContents + }); + list.raw += raw; + } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic + + + list.items[list.items.length - 1].raw = raw.trimRight(); + list.items[list.items.length - 1].text = itemContents.trimRight(); + list.raw = list.raw.trimRight(); + var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first + + for (i = 0; i < l; i++) { + this.lexer.state.top = false; + list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + var spacers = list.items[i].tokens.filter(function (t) { + return t.type === 'space'; + }); + var hasMultipleLineBreaks = spacers.every(function (t) { + var chars = t.raw.split(''); + var lineBreaks = 0; + + for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) { + var _char = _step.value; + + if (_char === '\n') { + lineBreaks += 1; + } + + if (lineBreaks > 1) { + return true; + } + } + + return false; + }); + + if (!list.loose && spacers.length && hasMultipleLineBreaks) { + // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item + list.loose = true; + list.items[i].loose = true; + } + } + + return list; + } + }; + + _proto.html = function html(src) { + var cap = this.rules.block.html.exec(src); + + if (cap) { + var token = { + type: 'html', + raw: cap[0], + pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }; + + if (this.options.sanitize) { + token.type = 'paragraph'; + token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]); + token.tokens = []; + this.lexer.inline(token.text, token.tokens); + } + + return token; + } + }; + + _proto.def = function def(src) { + var cap = this.rules.block.def.exec(src); + + if (cap) { + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + var tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + return { + type: 'def', + tag: tag, + raw: cap[0], + href: cap[2], + title: cap[3] + }; + } + }; + + _proto.table = function table(src) { + var cap = this.rules.block.table.exec(src); + + if (cap) { + var item = { + type: 'table', + header: splitCells(cap[1]).map(function (c) { + return { + text: c + }; + }), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + item.raw = cap[0]; + var l = item.align.length; + var i, j, k, row; + + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.rows.length; + + for (i = 0; i < l; i++) { + item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) { + return { + text: c + }; + }); + } // parse child tokens inside headers and cells + // header child tokens + + + l = item.header.length; + + for (j = 0; j < l; j++) { + item.header[j].tokens = []; + this.lexer.inline(item.header[j].text, item.header[j].tokens); + } // cell child tokens + + + l = item.rows.length; + + for (j = 0; j < l; j++) { + row = item.rows[j]; + + for (k = 0; k < row.length; k++) { + row[k].tokens = []; + this.lexer.inline(row[k].text, row[k].tokens); + } + } + + return item; + } + } + }; + + _proto.lheading = function lheading(src) { + var cap = this.rules.block.lheading.exec(src); + + if (cap) { + var token = { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.paragraph = function paragraph(src) { + var cap = this.rules.block.paragraph.exec(src); + + if (cap) { + var token = { + type: 'paragraph', + raw: cap[0], + text: cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.text = function text(src) { + var cap = this.rules.block.text.exec(src); + + if (cap) { + var token = { + type: 'text', + raw: cap[0], + text: cap[0], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + }; + + _proto.escape = function escape$1(src) { + var cap = this.rules.inline.escape.exec(src); + + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: escape(cap[1]) + }; + } + }; + + _proto.tag = function tag(src) { + var cap = this.rules.inline.tag.exec(src); + + if (cap) { + if (!this.lexer.state.inLink && /^
    /i.test(cap[0])) { + this.lexer.state.inLink = false; + } + + if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = true; + } else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = false; + } + + return { + type: this.options.sanitize ? 'text' : 'html', + raw: cap[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0] + }; + } + }; + + _proto.link = function link(src) { + var cap = this.rules.inline.link.exec(src); + + if (cap) { + var trimmedUrl = cap[2].trim(); + + if (!this.options.pedantic && /^$/.test(trimmedUrl)) { + return; + } // ending angle bracket cannot be escaped + + + var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\'); + + if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) { + return; + } + } else { + // find closing parenthesis + var lastParenIndex = findClosingBracket(cap[2], '()'); + + if (lastParenIndex > -1) { + var start = cap[0].indexOf('!') === 0 ? 5 : 4; + var linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + } + + var href = cap[2]; + var title = ''; + + if (this.options.pedantic) { + // split pedantic href and title + var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + + href = href.trim(); + + if (/^$/.test(trimmedUrl)) { + // pedantic allows starting angle bracket without ending angle bracket + href = href.slice(1); + } else { + href = href.slice(1, -1); + } + } + + return outputLink(cap, { + href: href ? href.replace(this.rules.inline._escapes, '$1') : href, + title: title ? title.replace(this.rules.inline._escapes, '$1') : title + }, cap[0], this.lexer); + } + }; + + _proto.reflink = function reflink(src, links) { + var cap; + + if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) { + var link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = links[link.toLowerCase()]; + + if (!link || !link.href) { + var text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text: text + }; + } + + return outputLink(cap, link, cap[0], this.lexer); + } + }; + + _proto.emStrong = function emStrong(src, maskedSrc, prevChar) { + if (prevChar === void 0) { + prevChar = ''; + } + + var match = this.rules.inline.emStrong.lDelim.exec(src); + if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well + + if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return; + var nextChar = match[1] || match[2] || ''; + + if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) { + var lLength = match[0].length - 1; + var rDelim, + rLength, + delimTotal = lLength, + midDelimTotal = 0; + var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; + endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?) + + maskedSrc = maskedSrc.slice(-1 * src.length + lLength); + + while ((match = endReg.exec(maskedSrc)) != null) { + rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6]; + if (!rDelim) continue; // skip single * in __abc*abc__ + + rLength = rDelim.length; + + if (match[3] || match[4]) { + // found another Left Delim + delimTotal += rLength; + continue; + } else if (match[5] || match[6]) { + // either Left or Right Delim + if (lLength % 3 && !((lLength + rLength) % 3)) { + midDelimTotal += rLength; + continue; // CommonMark Emphasis Rules 9-10 + } + } + + delimTotal -= rLength; + if (delimTotal > 0) continue; // Haven't found enough closing delimiters + // Remove extra characters. *a*** -> *a* + + rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a*** + + if (Math.min(lLength, rLength) % 2) { + var _text = src.slice(1, lLength + match.index + rLength); + + return { + type: 'em', + raw: src.slice(0, lLength + match.index + rLength + 1), + text: _text, + tokens: this.lexer.inlineTokens(_text, []) + }; + } // Create 'strong' if smallest delimiter has even char count. **a*** + + + var text = src.slice(2, lLength + match.index + rLength - 1); + return { + type: 'strong', + raw: src.slice(0, lLength + match.index + rLength + 1), + text: text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + } + }; + + _proto.codespan = function codespan(src) { + var cap = this.rules.inline.code.exec(src); + + if (cap) { + var text = cap[2].replace(/\n/g, ' '); + var hasNonSpaceChars = /[^ ]/.test(text); + var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text); + + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + + text = escape(text, true); + return { + type: 'codespan', + raw: cap[0], + text: text + }; + } + }; + + _proto.br = function br(src) { + var cap = this.rules.inline.br.exec(src); + + if (cap) { + return { + type: 'br', + raw: cap[0] + }; + } + }; + + _proto.del = function del(src) { + var cap = this.rules.inline.del.exec(src); + + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[2], + tokens: this.lexer.inlineTokens(cap[2], []) + }; + } + }; + + _proto.autolink = function autolink(src, mangle) { + var cap = this.rules.inline.autolink.exec(src); + + if (cap) { + var text, href; + + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [{ + type: 'text', + raw: text, + text: text + }] + }; + } + }; + + _proto.url = function url(src, mangle) { + var cap; + + if (cap = this.rules.inline.url.exec(src)) { + var text, href; + + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + var prevCapZero; + + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + + text = escape(cap[0]); + + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [{ + type: 'text', + raw: text, + text: text + }] + }; + } + }; + + _proto.inlineText = function inlineText(src, smartypants) { + var cap = this.rules.inline.text.exec(src); + + if (cap) { + var text; + + if (this.lexer.state.inRawBlock) { + text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]; + } else { + text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]); + } + + return { + type: 'text', + raw: cap[0], + text: text + }; + } + }; + + return Tokenizer; + }(); + + /** + * Block-Level Grammar + */ + + var block = { + newline: /^(?: *(?:\n|$))+/, + code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/, + hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + + '|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6) + + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, + table: noopTest, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, + text: /^[^\n]+/ + }; + block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/; + block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; + block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex(); + block.bullet = /(?:[*+-]|\d{1,9}[.)])/; + block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex(); + block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex(); + block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul'; + block._comment = /|$)/; + block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(); + block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex(); + /** + * Normal Block Grammar + */ + + block.normal = merge({}, block); + /** + * GFM Block Grammar + */ + + block.gfm = merge({}, block.normal, { + table: '^ *([^\\n ].*\\|.*)\\n' // Header + + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align + + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells + + }); + block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks + .getRegex(); + block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('table', block.gfm.table) // interrupt paragraphs with table + .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + /** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + + block.pedantic = merge({}, block.normal, { + html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: noopTest, + // fences not supported + paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex() + }); + /** + * Inline-Level Grammar + */ + + var inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest, + tag: '^comment' + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', + // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(ref)\]/, + nolink: /^!?\[(ref)\](?:\[\])?/, + reflinkSearch: 'reflink|nolink(?!\\()', + emStrong: { + lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, + // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right. + // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a + rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/, + rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _ + + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest, + text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~'; + inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, + + inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g; + inline.escapedEmSt = /\\\*|\\_/g; + inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex(); + inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex(); + inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex(); + inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex(); + inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; + inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; + inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex(); + inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex(); + inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; + inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/; + inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex(); + inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex(); + inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex(); + inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex(); + /** + * Normal Inline Grammar + */ + + inline.normal = merge({}, inline); + /** + * Pedantic Inline Grammar + */ + + inline.pedantic = merge({}, inline.normal, { + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g + }, + link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex() + }); + /** + * GFM Inline Grammar + */ + + inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ 0.5) { + ch = 'x' + ch.toString(16); + } + + out += '&#' + ch + ';'; + } + + return out; + } + /** + * Block Lexer + */ + + + var Lexer = /*#__PURE__*/function () { + function Lexer(options) { + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || exports.defaults; + this.options.tokenizer = this.options.tokenizer || new Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + this.tokenizer.lexer = this; + this.inlineQueue = []; + this.state = { + inLink: false, + inRawBlock: false, + top: true + }; + var rules = { + block: block.normal, + inline: inline.normal + }; + + if (this.options.pedantic) { + rules.block = block.pedantic; + rules.inline = inline.pedantic; + } else if (this.options.gfm) { + rules.block = block.gfm; + + if (this.options.breaks) { + rules.inline = inline.breaks; + } else { + rules.inline = inline.gfm; + } + } + + this.tokenizer.rules = rules; + } + /** + * Expose Rules + */ + + + /** + * Static Lex Method + */ + Lexer.lex = function lex(src, options) { + var lexer = new Lexer(options); + return lexer.lex(src); + } + /** + * Static Lex Inline Method + */ + ; + + Lexer.lexInline = function lexInline(src, options) { + var lexer = new Lexer(options); + return lexer.inlineTokens(src); + } + /** + * Preprocessing + */ + ; + + var _proto = Lexer.prototype; + + _proto.lex = function lex(src) { + src = src.replace(/\r\n|\r/g, '\n'); + this.blockTokens(src, this.tokens); + var next; + + while (next = this.inlineQueue.shift()) { + this.inlineTokens(next.src, next.tokens); + } + + return this.tokens; + } + /** + * Lexing + */ + ; + + _proto.blockTokens = function blockTokens(src, tokens) { + var _this = this; + + if (tokens === void 0) { + tokens = []; + } + + if (this.options.pedantic) { + src = src.replace(/\t/g, ' ').replace(/^ +$/gm, ''); + } else { + src = src.replace(/^( *)(\t+)/gm, function (_, leading, tabs) { + return leading + ' '.repeat(tabs.length); + }); + } + + var token, lastToken, cutSrc, lastParagraphClipped; + + while (src) { + if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) { + if (token = extTokenizer.call({ + lexer: _this + }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + + return false; + })) { + continue; + } // newline + + + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + + if (token.raw.length === 1 && tokens.length > 0) { + // if there's a single \n as a spacer, it's terminating the last line, + // so move it there so that we don't get unecessary paragraph tags + tokens[tokens.length - 1].raw += '\n'; + } else { + tokens.push(token); + } + + continue; + } // code + + + if (token = this.tokenizer.code(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph. + + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + continue; + } // fences + + + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // heading + + + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // hr + + + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // blockquote + + + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // list + + + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // html + + + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // def + + + if (token = this.tokenizer.def(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.raw; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title + }; + } + + continue; + } // table (gfm) + + + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // lheading + + + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // top-level paragraph + // prevent paragraph consuming extensions by clipping 'src' to extension start + + + cutSrc = src; + + if (this.options.extensions && this.options.extensions.startBlock) { + (function () { + var startIndex = Infinity; + var tempSrc = src.slice(1); + var tempStart = void 0; + + _this.options.extensions.startBlock.forEach(function (getStartIndex) { + tempStart = getStartIndex.call({ + lexer: this + }, tempSrc); + + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + })(); + } + + if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) { + lastToken = tokens[tokens.length - 1]; + + if (lastParagraphClipped && lastToken.type === 'paragraph') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + lastParagraphClipped = cutSrc.length !== src.length; + src = src.substring(token.raw.length); + continue; + } // text + + + if (token = this.tokenizer.text(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && lastToken.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + + continue; + } + + if (src) { + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + this.state.top = true; + return tokens; + }; + + _proto.inline = function inline(src, tokens) { + if (tokens === void 0) { + tokens = []; + } + + this.inlineQueue.push({ + src: src, + tokens: tokens + }); + return tokens; + } + /** + * Lexing/Compiling + */ + ; + + _proto.inlineTokens = function inlineTokens(src, tokens) { + var _this2 = this; + + if (tokens === void 0) { + tokens = []; + } + + var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong + + var maskedSrc = src; + var match; + var keepPrevChar, prevChar; // Mask out reflinks + + if (this.tokens.links) { + var links = Object.keys(this.tokens.links); + + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); + } + } + } + } // Mask out other blocks + + + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } // Mask out escaped em & strong delimiters + + + while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex); + } + + while (src) { + if (!keepPrevChar) { + prevChar = ''; + } + + keepPrevChar = false; // extensions + + if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) { + if (token = extTokenizer.call({ + lexer: _this2 + }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + + return false; + })) { + continue; + } // escape + + + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // tag + + + if (token = this.tokenizer.tag(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } // link + + + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // reflink, nolink + + + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } // em & strong + + + if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // code + + + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // br + + + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // del (gfm) + + + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // autolink + + + if (token = this.tokenizer.autolink(src, mangle)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // url (gfm) + + + if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } // text + // prevent inlineText consuming extensions by clipping 'src' to extension start + + + cutSrc = src; + + if (this.options.extensions && this.options.extensions.startInline) { + (function () { + var startIndex = Infinity; + var tempSrc = src.slice(1); + var tempStart = void 0; + + _this2.options.extensions.startInline.forEach(function (getStartIndex) { + tempStart = getStartIndex.call({ + lexer: this + }, tempSrc); + + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + })(); + } + + if (token = this.tokenizer.inlineText(cutSrc, smartypants)) { + src = src.substring(token.raw.length); + + if (token.raw.slice(-1) !== '_') { + // Track prevChar before string of ____ started + prevChar = token.raw.slice(-1); + } + + keepPrevChar = true; + lastToken = tokens[tokens.length - 1]; + + if (lastToken && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + + continue; + } + + if (src) { + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + return tokens; + }; + + _createClass(Lexer, null, [{ + key: "rules", + get: function get() { + return { + block: block, + inline: inline + }; + } + }]); + + return Lexer; + }(); + + /** + * Renderer + */ + + var Renderer = /*#__PURE__*/function () { + function Renderer(options) { + this.options = options || exports.defaults; + } + + var _proto = Renderer.prototype; + + _proto.code = function code(_code, infostring, escaped) { + var lang = (infostring || '').match(/\S*/)[0]; + + if (this.options.highlight) { + var out = this.options.highlight(_code, lang); + + if (out != null && out !== _code) { + escaped = true; + _code = out; + } + } + + _code = _code.replace(/\n$/, '') + '\n'; + + if (!lang) { + return '
    ' + (escaped ? _code : escape(_code, true)) + '
    \n'; + } + + return '
    ' + (escaped ? _code : escape(_code, true)) + '
    \n'; + } + /** + * @param {string} quote + */ + ; + + _proto.blockquote = function blockquote(quote) { + return "
    \n" + quote + "
    \n"; + }; + + _proto.html = function html(_html) { + return _html; + } + /** + * @param {string} text + * @param {string} level + * @param {string} raw + * @param {any} slugger + */ + ; + + _proto.heading = function heading(text, level, raw, slugger) { + if (this.options.headerIds) { + var id = this.options.headerPrefix + slugger.slug(raw); + return "" + text + "\n"; + } // ignore IDs + + + return "" + text + "\n"; + }; + + _proto.hr = function hr() { + return this.options.xhtml ? '
    \n' : '
    \n'; + }; + + _proto.list = function list(body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = ordered && start !== 1 ? ' start="' + start + '"' : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + } + /** + * @param {string} text + */ + ; + + _proto.listitem = function listitem(text) { + return "
  • " + text + "
  • \n"; + }; + + _proto.checkbox = function checkbox(checked) { + return ' '; + } + /** + * @param {string} text + */ + ; + + _proto.paragraph = function paragraph(text) { + return "

    " + text + "

    \n"; + } + /** + * @param {string} header + * @param {string} body + */ + ; + + _proto.table = function table(header, body) { + if (body) body = "" + body + ""; + return '\n' + '\n' + header + '\n' + body + '
    \n'; + } + /** + * @param {string} content + */ + ; + + _proto.tablerow = function tablerow(content) { + return "\n" + content + "\n"; + }; + + _proto.tablecell = function tablecell(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align ? "<" + type + " align=\"" + flags.align + "\">" : "<" + type + ">"; + return tag + content + ("\n"); + } + /** + * span level renderer + * @param {string} text + */ + ; + + _proto.strong = function strong(text) { + return "" + text + ""; + } + /** + * @param {string} text + */ + ; + + _proto.em = function em(text) { + return "" + text + ""; + } + /** + * @param {string} text + */ + ; + + _proto.codespan = function codespan(text) { + return "" + text + ""; + }; + + _proto.br = function br() { + return this.options.xhtml ? '
    ' : '
    '; + } + /** + * @param {string} text + */ + ; + + _proto.del = function del(text) { + return "" + text + ""; + } + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + ; + + _proto.link = function link(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = '
    '; + return out; + } + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + ; + + _proto.image = function image(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + + if (href === null) { + return text; + } + + var out = "\""' : '>'; + return out; + }; + + _proto.text = function text(_text) { + return _text; + }; + + return Renderer; + }(); + + /** + * TextRenderer + * returns only the textual part of the token + */ + var TextRenderer = /*#__PURE__*/function () { + function TextRenderer() {} + + var _proto = TextRenderer.prototype; + + // no need for block level renderers + _proto.strong = function strong(text) { + return text; + }; + + _proto.em = function em(text) { + return text; + }; + + _proto.codespan = function codespan(text) { + return text; + }; + + _proto.del = function del(text) { + return text; + }; + + _proto.html = function html(text) { + return text; + }; + + _proto.text = function text(_text) { + return _text; + }; + + _proto.link = function link(href, title, text) { + return '' + text; + }; + + _proto.image = function image(href, title, text) { + return '' + text; + }; + + _proto.br = function br() { + return ''; + }; + + return TextRenderer; + }(); + + /** + * Slugger generates header id + */ + var Slugger = /*#__PURE__*/function () { + function Slugger() { + this.seen = {}; + } + /** + * @param {string} value + */ + + + var _proto = Slugger.prototype; + + _proto.serialize = function serialize(value) { + return value.toLowerCase().trim() // remove html tags + .replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-'); + } + /** + * Finds the next safe (unique) slug to use + * @param {string} originalSlug + * @param {boolean} isDryRun + */ + ; + + _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) { + var slug = originalSlug; + var occurenceAccumulator = 0; + + if (this.seen.hasOwnProperty(slug)) { + occurenceAccumulator = this.seen[originalSlug]; + + do { + occurenceAccumulator++; + slug = originalSlug + '-' + occurenceAccumulator; + } while (this.seen.hasOwnProperty(slug)); + } + + if (!isDryRun) { + this.seen[originalSlug] = occurenceAccumulator; + this.seen[slug] = 0; + } + + return slug; + } + /** + * Convert string to unique id + * @param {object} [options] + * @param {boolean} [options.dryrun] Generates the next unique slug without + * updating the internal accumulator. + */ + ; + + _proto.slug = function slug(value, options) { + if (options === void 0) { + options = {}; + } + + var slug = this.serialize(value); + return this.getNextSafeSlug(slug, options.dryrun); + }; + + return Slugger; + }(); + + /** + * Parsing & Compiling + */ + + var Parser = /*#__PURE__*/function () { + function Parser(options) { + this.options = options || exports.defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.textRenderer = new TextRenderer(); + this.slugger = new Slugger(); + } + /** + * Static Parse Method + */ + + + Parser.parse = function parse(tokens, options) { + var parser = new Parser(options); + return parser.parse(tokens); + } + /** + * Static Parse Inline Method + */ + ; + + Parser.parseInline = function parseInline(tokens, options) { + var parser = new Parser(options); + return parser.parseInline(tokens); + } + /** + * Parse Loop + */ + ; + + var _proto = Parser.prototype; + + _proto.parse = function parse(tokens, top) { + if (top === void 0) { + top = true; + } + + var out = '', + i, + j, + k, + l2, + l3, + row, + cell, + header, + body, + token, + ordered, + start, + loose, + itemBody, + item, + checked, + task, + checkbox, + ret; + var l = tokens.length; + + for (i = 0; i < l; i++) { + token = tokens[i]; // Run any renderer extensions + + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ + parser: this + }, token); + + if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'space': + { + continue; + } + + case 'hr': + { + out += this.renderer.hr(); + continue; + } + + case 'heading': + { + out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger); + continue; + } + + case 'code': + { + out += this.renderer.code(token.text, token.lang, token.escaped); + continue; + } + + case 'table': + { + header = ''; // header + + cell = ''; + l2 = token.header.length; + + for (j = 0; j < l2; j++) { + cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), { + header: true, + align: token.align[j] + }); + } + + header += this.renderer.tablerow(cell); + body = ''; + l2 = token.rows.length; + + for (j = 0; j < l2; j++) { + row = token.rows[j]; + cell = ''; + l3 = row.length; + + for (k = 0; k < l3; k++) { + cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { + header: false, + align: token.align[k] + }); + } + + body += this.renderer.tablerow(cell); + } + + out += this.renderer.table(header, body); + continue; + } + + case 'blockquote': + { + body = this.parse(token.tokens); + out += this.renderer.blockquote(body); + continue; + } + + case 'list': + { + ordered = token.ordered; + start = token.start; + loose = token.loose; + l2 = token.items.length; + body = ''; + + for (j = 0; j < l2; j++) { + item = token.items[j]; + checked = item.checked; + task = item.task; + itemBody = ''; + + if (item.task) { + checkbox = this.renderer.checkbox(checked); + + if (loose) { + if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text; + } + } else { + item.tokens.unshift({ + type: 'text', + text: checkbox + }); + } + } else { + itemBody += checkbox; + } + } + + itemBody += this.parse(item.tokens, loose); + body += this.renderer.listitem(itemBody, task, checked); + } + + out += this.renderer.list(body, ordered, start); + continue; + } + + case 'html': + { + // TODO parse inline content if parameter markdown=1 + out += this.renderer.html(token.text); + continue; + } + + case 'paragraph': + { + out += this.renderer.paragraph(this.parseInline(token.tokens)); + continue; + } + + case 'text': + { + body = token.tokens ? this.parseInline(token.tokens) : token.text; + + while (i + 1 < l && tokens[i + 1].type === 'text') { + token = tokens[++i]; + body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text); + } + + out += top ? this.renderer.paragraph(body) : body; + continue; + } + + default: + { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + } + /** + * Parse Inline Tokens + */ + ; + + _proto.parseInline = function parseInline(tokens, renderer) { + renderer = renderer || this.renderer; + var out = '', + i, + token, + ret; + var l = tokens.length; + + for (i = 0; i < l; i++) { + token = tokens[i]; // Run any renderer extensions + + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ + parser: this + }, token); + + if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'escape': + { + out += renderer.text(token.text); + break; + } + + case 'html': + { + out += renderer.html(token.text); + break; + } + + case 'link': + { + out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)); + break; + } + + case 'image': + { + out += renderer.image(token.href, token.title, token.text); + break; + } + + case 'strong': + { + out += renderer.strong(this.parseInline(token.tokens, renderer)); + break; + } + + case 'em': + { + out += renderer.em(this.parseInline(token.tokens, renderer)); + break; + } + + case 'codespan': + { + out += renderer.codespan(token.text); + break; + } + + case 'br': + { + out += renderer.br(); + break; + } + + case 'del': + { + out += renderer.del(this.parseInline(token.tokens, renderer)); + break; + } + + case 'text': + { + out += renderer.text(token.text); + break; + } + + default: + { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + }; + + return Parser; + }(); + + /** + * Marked + */ + + function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'); + } + + if (typeof opt === 'function') { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + if (callback) { + var highlight = opt.highlight; + var tokens; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + var done = function done(err) { + var out; + + if (!err) { + try { + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + } + + opt.highlight = highlight; + return err ? callback(err) : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + if (!tokens.length) return done(); + var pending = 0; + marked.walkTokens(tokens, function (token) { + if (token.type === 'code') { + pending++; + setTimeout(function () { + highlight(token.text, token.lang, function (err, code) { + if (err) { + return done(err); + } + + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + + pending--; + + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + + if (pending === 0) { + done(); + } + + return; + } + + try { + var _tokens = Lexer.lex(src, opt); + + if (opt.walkTokens) { + marked.walkTokens(_tokens, opt.walkTokens); + } + + return Parser.parse(_tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + + if (opt.silent) { + return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    '; + } + + throw e; + } + } + /** + * Options + */ + + marked.options = marked.setOptions = function (opt) { + merge(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; + }; + + marked.getDefaults = getDefaults; + marked.defaults = exports.defaults; + /** + * Use Extension + */ + + marked.use = function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var opts = merge.apply(void 0, [{}].concat(args)); + var extensions = marked.defaults.extensions || { + renderers: {}, + childTokens: {} + }; + var hasExtensions; + args.forEach(function (pack) { + // ==-- Parse "addon" extensions --== // + if (pack.extensions) { + hasExtensions = true; + pack.extensions.forEach(function (ext) { + if (!ext.name) { + throw new Error('extension name required'); + } + + if (ext.renderer) { + // Renderer extensions + var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null; + + if (prevRenderer) { + // Replace extension with func to run new extension but fall back if false + extensions.renderers[ext.name] = function () { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + var ret = ext.renderer.apply(this, args); + + if (ret === false) { + ret = prevRenderer.apply(this, args); + } + + return ret; + }; + } else { + extensions.renderers[ext.name] = ext.renderer; + } + } + + if (ext.tokenizer) { + // Tokenizer Extensions + if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') { + throw new Error("extension level must be 'block' or 'inline'"); + } + + if (extensions[ext.level]) { + extensions[ext.level].unshift(ext.tokenizer); + } else { + extensions[ext.level] = [ext.tokenizer]; + } + + if (ext.start) { + // Function to check for start of token + if (ext.level === 'block') { + if (extensions.startBlock) { + extensions.startBlock.push(ext.start); + } else { + extensions.startBlock = [ext.start]; + } + } else if (ext.level === 'inline') { + if (extensions.startInline) { + extensions.startInline.push(ext.start); + } else { + extensions.startInline = [ext.start]; + } + } + } + } + + if (ext.childTokens) { + // Child tokens to be visited by walkTokens + extensions.childTokens[ext.name] = ext.childTokens; + } + }); + } // ==-- Parse "overwrite" extensions --== // + + + if (pack.renderer) { + (function () { + var renderer = marked.defaults.renderer || new Renderer(); + + var _loop = function _loop(prop) { + var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false + + renderer[prop] = function () { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + var ret = pack.renderer[prop].apply(renderer, args); + + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + + return ret; + }; + }; + + for (var prop in pack.renderer) { + _loop(prop); + } + + opts.renderer = renderer; + })(); + } + + if (pack.tokenizer) { + (function () { + var tokenizer = marked.defaults.tokenizer || new Tokenizer(); + + var _loop2 = function _loop2(prop) { + var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false + + tokenizer[prop] = function () { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + var ret = pack.tokenizer[prop].apply(tokenizer, args); + + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + + return ret; + }; + }; + + for (var prop in pack.tokenizer) { + _loop2(prop); + } + + opts.tokenizer = tokenizer; + })(); + } // ==-- Parse WalkTokens extensions --== // + + + if (pack.walkTokens) { + var _walkTokens = marked.defaults.walkTokens; + + opts.walkTokens = function (token) { + pack.walkTokens.call(this, token); + + if (_walkTokens) { + _walkTokens.call(this, token); + } + }; + } + + if (hasExtensions) { + opts.extensions = extensions; + } + + marked.setOptions(opts); + }); + }; + /** + * Run callback for every token + */ + + + marked.walkTokens = function (tokens, callback) { + var _loop3 = function _loop3() { + var token = _step.value; + callback.call(marked, token); + + switch (token.type) { + case 'table': + { + for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) { + var cell = _step2.value; + marked.walkTokens(cell.tokens, callback); + } + + for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) { + var row = _step3.value; + + for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) { + var _cell = _step4.value; + marked.walkTokens(_cell.tokens, callback); + } + } + + break; + } + + case 'list': + { + marked.walkTokens(token.items, callback); + break; + } + + default: + { + if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { + // Walk any extensions + marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) { + marked.walkTokens(token[childTokens], callback); + }); + } else if (token.tokens) { + marked.walkTokens(token.tokens, callback); + } + } + } + }; + + for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) { + _loop3(); + } + }; + /** + * Parse Inline + * @param {string} src + */ + + + marked.parseInline = function (src, opt) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked.parseInline(): input parameter is undefined or null'); + } + + if (typeof src !== 'string') { + throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected'); + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + try { + var tokens = Lexer.lexInline(src, opt); + + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + + return Parser.parseInline(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + + if (opt.silent) { + return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    '; + } + + throw e; + } + }; + /** + * Expose + */ + + + marked.Parser = Parser; + marked.parser = Parser.parse; + marked.Renderer = Renderer; + marked.TextRenderer = TextRenderer; + marked.Lexer = Lexer; + marked.lexer = Lexer.lex; + marked.Tokenizer = Tokenizer; + marked.Slugger = Slugger; + marked.parse = marked; + var options = marked.options; + var setOptions = marked.setOptions; + var use = marked.use; + var walkTokens = marked.walkTokens; + var parseInline = marked.parseInline; + var parse = marked; + var parser = Parser.parse; + var lexer = Lexer.lex; + + exports.Lexer = Lexer; + exports.Parser = Parser; + exports.Renderer = Renderer; + exports.Slugger = Slugger; + exports.TextRenderer = TextRenderer; + exports.Tokenizer = Tokenizer; + exports.getDefaults = getDefaults; + exports.lexer = lexer; + exports.marked = marked; + exports.options = options; + exports.parse = parse; + exports.parseInline = parseInline; + exports.parser = parser; + exports.setOptions = setOptions; + exports.use = use; + exports.walkTokens = walkTokens; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1 b/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1 new file mode 100644 index 00000000..4dd24fd1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1 @@ -0,0 +1,92 @@ +.ds q \N'34' +.TH marked 1 + +.SH NAME +marked \- a javascript markdown parser + +.SH SYNOPSIS +.B marked +[\-o \fI\fP] [\-i \fI\fP] [\-s \fI\fP] [\-\-help] +[\-\-tokens] [\-\-pedantic] [\-\-gfm] +[\-\-breaks] [\-\-sanitize] +[\-\-smart\-lists] [\-\-lang\-prefix \fI\fP] +[\-\-no\-etc...] [\-\-silent] [\fIfilename\fP] + +.SH DESCRIPTION +.B marked +is a full-featured javascript markdown parser, built for speed. +It also includes multiple GFM features. + +.SH EXAMPLES +.TP +cat in.md | marked > out.html +.TP +echo "hello *world*" | marked +.TP +marked \-o out.html \-i in.md \-\-gfm +.TP +marked \-\-output="hello world.html" \-i in.md \-\-no-breaks + +.SH OPTIONS +.TP +.BI \-o,\ \-\-output\ [\fIoutput\fP] +Specify file output. If none is specified, write to stdout. +.TP +.BI \-i,\ \-\-input\ [\fIinput\fP] +Specify file input, otherwise use last argument as input file. +If no input file is specified, read from stdin. +.TP +.BI \-s,\ \-\-string\ [\fIstring\fP] +Specify string input instead of a file. +.TP +.BI \-t,\ \-\-tokens +Output a token stream instead of html. +.TP +.BI \-\-pedantic +Conform to obscure parts of markdown.pl as much as possible. +Don't fix original markdown bugs. +.TP +.BI \-\-gfm +Enable github flavored markdown. +.TP +.BI \-\-breaks +Enable GFM line breaks. Only works with the gfm option. +.TP +.BI \-\-sanitize +Sanitize output. Ignore any HTML input. +.TP +.BI \-\-smart\-lists +Use smarter list behavior than the original markdown. +.TP +.BI \-\-lang\-prefix\ [\fIprefix\fP] +Set the prefix for code block classes. +.TP +.BI \-\-mangle +Mangle email addresses. +.TP +.BI \-\-no\-sanitize,\ \-no-etc... +The inverse of any of the marked options above. +.TP +.BI \-\-silent +Silence error output. +.TP +.BI \-h,\ \-\-help +Display help information. + +.SH CONFIGURATION +For configuring and running programmatically. + +.B Example + + import { marked } from 'marked'; + marked('*foo*', { gfm: true }); + +.SH BUGS +Please report any bugs to https://github.com/markedjs/marked. + +.SH LICENSE +Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). + +.SH "SEE ALSO" +.BR markdown(1), +.BR node.js(1) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1.txt b/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1.txt new file mode 100644 index 00000000..1a6816bc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/man/marked.1.txt @@ -0,0 +1,86 @@ +marked(1) General Commands Manual marked(1) + +NAME + marked - a javascript markdown parser + +SYNOPSIS + marked [-o ] [-i ] [-s ] [--help] [--tokens] + [--pedantic] [--gfm] [--breaks] [--sanitize] [--smart-lists] + [--lang-prefix ] [--no-etc...] [--silent] [filename] + + +DESCRIPTION + marked is a full-featured javascript markdown parser, built for speed. + It also includes multiple GFM features. + +EXAMPLES + cat in.md | marked > out.html + + echo "hello *world*" | marked + + marked -o out.html -i in.md --gfm + + marked --output="hello world.html" -i in.md --no-breaks + +OPTIONS + -o, --output [output] + Specify file output. If none is specified, write to stdout. + + -i, --input [input] + Specify file input, otherwise use last argument as input file. + If no input file is specified, read from stdin. + + -s, --string [string] + Specify string input instead of a file. + + -t, --tokens + Output a token stream instead of html. + + --pedantic + Conform to obscure parts of markdown.pl as much as possible. + Don't fix original markdown bugs. + + --gfm Enable github flavored markdown. + + --breaks + Enable GFM line breaks. Only works with the gfm option. + + --sanitize + Sanitize output. Ignore any HTML input. + + --smart-lists + Use smarter list behavior than the original markdown. + + --lang-prefix [prefix] + Set the prefix for code block classes. + + --mangle + Mangle email addresses. + + --no-sanitize, -no-etc... + The inverse of any of the marked options above. + + --silent + Silence error output. + + -h, --help + Display help information. + +CONFIGURATION + For configuring and running programmatically. + + Example + + import { marked } from 'marked'; + marked('*foo*', { gfm: true }); + +BUGS + Please report any bugs to https://github.com/markedjs/marked. + +LICENSE + Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). + +SEE ALSO + markdown(1), node.js(1) + + marked(1) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/marked.min.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/marked.min.js new file mode 100644 index 00000000..f18740ae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/marked.min.js @@ -0,0 +1,6 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).marked={})}(this,function(r){"use strict";function i(e,t){for(var u=0;ue.length)&&(t=e.length);for(var u=0,n=new Array(t);u=e.length?{done:!0}:{done:!1,value:e[u++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}r.defaults=e();function u(e){return t[e]}var n=/[&<>"']/,l=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,o=/[<>"']|&(?!#?\w+;)/g,t={"&":"&","<":"<",">":">",'"':""","'":"'"};function D(e,t){if(t){if(n.test(e))return e.replace(l,u)}else if(a.test(e))return e.replace(o,u);return e}var c=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function x(e){return e.replace(c,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var h=/(^|[^\[])\^/g;function p(u,e){u="string"==typeof u?u:u.source,e=e||"";var n={replace:function(e,t){return t=(t=t.source||t).replace(h,"$1"),u=u.replace(e,t),n},getRegex:function(){return new RegExp(u,e)}};return n}var f=/[^\w:]/g,Z=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function g(e,t,u){if(e){try{n=decodeURIComponent(x(u)).replace(f,"").toLowerCase()}catch(e){return null}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return null}var n;t&&!Z.test(u)&&(e=u,F[" "+(n=t)]||(O.test(n)?F[" "+n]=n+"/":F[" "+n]=k(n,"/",!0)),t=-1===(n=F[" "+n]).indexOf(":"),u="//"===e.substring(0,2)?t?e:n.replace(q,"$1")+e:"/"===e.charAt(0)?t?e:n.replace(L,"$1")+e:n+e);try{u=encodeURI(u).replace(/%25/g,"%")}catch(e){return null}return u}var F={},O=/^[^:]+:\/*[^/]*$/,q=/^([^:]+:)[\s\S]*$/,L=/^([^:]+:\/*[^/]*)[\s\S]*$/;var A={exec:function(){}};function d(e){for(var t,u,n=1;nt)u.splice(t);else for(;u.length>=1,e+=e;return u+e}function b(e,t,u,n){var r=t.href,t=t.title?D(t.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?(n.state.inLink=!0,e={type:"link",raw:u,href:r,title:t,text:i,tokens:n.inlineTokens(i,[])},n.state.inLink=!1,e):{type:"image",raw:u,href:r,title:t,text:D(i)}}var w=function(){function e(e){this.options=e||r.defaults}var t=e.prototype;return t.space=function(e){e=this.rules.block.newline.exec(e);if(e&&0=u.length?e.slice(u.length):e}).join("\n")}(t=e[0],e[3]||""),{type:"code",raw:t,lang:e[2]&&e[2].trim(),text:u}},t.heading=function(e){var t,u,e=this.rules.block.heading.exec(e);if(e)return t=e[2].trim(),/#$/.test(t)&&(u=k(t,"#"),!this.options.pedantic&&u&&!/ $/.test(u)||(t=u.trim())),u={type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:[]},this.lexer.inline(u.text,u.tokens),u},t.hr=function(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:e[0]}},t.blockquote=function(e){var t,e=this.rules.block.blockquote.exec(e);if(e)return t=e[0].replace(/^ *>[ \t]?/gm,""),{type:"blockquote",raw:e[0],tokens:this.lexer.blockTokens(t,[]),text:t}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var u,n,r,i,s,l,a,o,D,c,h,p=1<(g=t[1].trim()).length,f={type:"list",raw:"",ordered:p,start:p?+g.slice(0,-1):"",loose:!1,items:[]},g=p?"\\d{1,9}\\"+g.slice(-1):"\\"+g;this.options.pedantic&&(g=p?g:"[*+-]");for(var F=new RegExp("^( {0,3}"+g+")((?:[\t ][^\\n]*)?(?:\\n|$))");e&&(h=!1,t=F.exec(e))&&!this.rules.block.hr.test(e);){if(u=t[0],e=e.substring(u.length),a=t[2].split("\n",1)[0],o=e.split("\n",1)[0],this.options.pedantic?(i=2,c=a.trimLeft()):(i=t[2].search(/[^ ]/),c=a.slice(i=4=i||!a.trim())c+="\n"+a.slice(i);else{if(s)break;c+="\n"+a}s||a.trim()||(s=!0),u+=D+"\n",e=e.substring(D.length+1)}f.loose||(l?f.loose=!0:/\n *\n *$/.test(u)&&(l=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(c))&&(r="[ ] "!==n[0],c=c.replace(/^\[[ xX]\] +/,"")),f.items.push({type:"list_item",raw:u,task:!!n,checked:r,loose:!1,text:c}),f.raw+=u}f.items[f.items.length-1].raw=u.trimRight(),f.items[f.items.length-1].text=c.trimRight(),f.raw=f.raw.trimRight();for(var E=f.items.length,x=0;x/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):D(e[0]):e[0]}},t.link=function(e){e=this.rules.inline.link.exec(e);if(e){var t=e[2].trim();if(!this.options.pedantic&&/^$/.test(t))return;var u=k(t.slice(0,-1),"\\");if((t.length-u.length)%2==0)return}else{u=function(e,t){if(-1!==e.indexOf(t[1]))for(var u=e.length,n=0,r=0;r$/.test(t)?u.slice(1):u.slice(1,-1):u)&&u.replace(this.rules.inline._escapes,"$1"),title:r&&r.replace(this.rules.inline._escapes,"$1")},e[0],this.lexer)}},t.reflink=function(e,t){var u;if((u=this.rules.inline.reflink.exec(e))||(u=this.rules.inline.nolink.exec(e)))return(e=t[(e=(u[2]||u[1]).replace(/\s+/g," ")).toLowerCase()])&&e.href?b(u,e,u[0],this.lexer):{type:"text",raw:t=u[0].charAt(0),text:t}},t.emStrong=function(e,t,u){void 0===u&&(u="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!u.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=n[1]||n[2]||"";if(!r||""===u||this.rules.inline.punctuation.exec(u)){var i=n[0].length-1,s=i,l=0,a="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+i);null!=(n=a.exec(t));)if(o=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(o=o.length,n[3]||n[4])s+=o;else if((n[5]||n[6])&&i%3&&!((i+o)%3))l+=o;else if(!(0<(s-=o))){var o=Math.min(o,o+s+l);if(Math.min(i,o)%2)return D=e.slice(1,i+n.index+o),{type:"em",raw:e.slice(0,i+n.index+o+1),text:D,tokens:this.lexer.inlineTokens(D,[])};var D=e.slice(2,i+n.index+o-1);return{type:"strong",raw:e.slice(0,i+n.index+o+1),text:D,tokens:this.lexer.inlineTokens(D,[])}}}}},t.codespan=function(e){var t,u,n,e=this.rules.inline.code.exec(e);if(e)return n=e[2].replace(/\n/g," "),t=/[^ ]/.test(n),u=/^ /.test(n)&&/ $/.test(n),n=D(n=t&&u?n.substring(1,n.length-1):n,!0),{type:"codespan",raw:e[0],text:n}},t.br=function(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}},t.del=function(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2],[])}},t.autolink=function(e,t){var u,e=this.rules.inline.autolink.exec(e);if(e)return t="@"===e[2]?"mailto:"+(u=D(this.options.mangle?t(e[1]):e[1])):u=D(e[1]),{type:"link",raw:e[0],text:u,href:t,tokens:[{type:"text",raw:u,text:u}]}},t.url=function(e,t){var u,n,r,i;if(u=this.rules.inline.url.exec(e)){if("@"===u[2])r="mailto:"+(n=D(this.options.mangle?t(u[0]):u[0]));else{for(;i=u[0],u[0]=this.rules.inline._backpedal.exec(u[0])[0],i!==u[0];);n=D(u[0]),r="www."===u[1]?"http://"+n:n}return{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},t.inlineText=function(e,t){e=this.rules.inline.text.exec(e);if(e)return t=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):D(e[0]):e[0]:D(this.options.smartypants?t(e[0]):e[0]),{type:"text",raw:e[0],text:t}},e}(),y={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:A,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/},v=(y.def=p(y.def).replace("label",y._label).replace("title",y._title).getRegex(),y.bullet=/(?:[*+-]|\d{1,9}[.)])/,y.listItemStart=p(/^( *)(bull) */).replace("bull",y.bullet).getRegex(),y.list=p(y.list).replace(/bull/g,y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+y.def.source+")").getRegex(),y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",y._comment=/|$)/,y.html=p(y.html,"i").replace("comment",y._comment).replace("tag",y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),y.paragraph=p(y._paragraph).replace("hr",y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y._tag).getRegex(),y.blockquote=p(y.blockquote).replace("paragraph",y.paragraph).getRegex(),y.normal=d({},y),y.gfm=d({},y.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),y.gfm.table=p(y.gfm.table).replace("hr",y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y._tag).getRegex(),y.gfm.paragraph=p(y._paragraph).replace("hr",y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",y.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y._tag).getRegex(),y.pedantic=d({},y.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:A,paragraph:p(y.normal._paragraph).replace("hr",y.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),{escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:A,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:A,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",v.punctuation=p(v.punctuation).replace(/punctuation/g,v._punctuation).getRegex(),v.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,v.escapedEmSt=/\\\*|\\_/g,v._comment=p(y._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),v.emStrong.lDelim=p(v.emStrong.lDelim).replace(/punct/g,v._punctuation).getRegex(),v.emStrong.rDelimAst=p(v.emStrong.rDelimAst,"g").replace(/punct/g,v._punctuation).getRegex(),v.emStrong.rDelimUnd=p(v.emStrong.rDelimUnd,"g").replace(/punct/g,v._punctuation).getRegex(),v._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,v._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,v._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,v.autolink=p(v.autolink).replace("scheme",v._scheme).replace("email",v._email).getRegex(),v._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,v.tag=p(v.tag).replace("comment",v._comment).replace("attribute",v._attribute).getRegex(),v._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,v._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,v._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,v.link=p(v.link).replace("label",v._label).replace("href",v._href).replace("title",v._title).getRegex(),v.reflink=p(v.reflink).replace("label",v._label).replace("ref",y._label).getRegex(),v.nolink=p(v.nolink).replace("ref",y._label).getRegex(),v.reflinkSearch=p(v.reflinkSearch,"g").replace("reflink",v.reflink).replace("nolink",v.nolink).getRegex(),v.normal=d({},v),v.pedantic=d({},v.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",v._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",v._label).getRegex()}),v.gfm=d({},v.normal,{escape:p(v.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\'+(u?e:D(e,!0))+"\n":"
    "+(u?e:D(e,!0))+"
    \n"},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,u,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,u){var n=t?"ol":"ul";return"<"+n+(t&&1!==u?' start="'+u+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return"\n\n"+e+"\n"+(t=t&&""+t+"")+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var u=t.header?"th":"td";return(t.align?"<"+u+' align="'+t.align+'">':"<"+u+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,u){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return u;e='
    "},t.image=function(e,t,u){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return u;e=''+u+'":">"},t.text=function(e){return e},e}(),S=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,u){return""+u},t.image=function(e,t,u){return""+u},t.br=function(){return""},e}(),T=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var u=e,n=0;if(this.seen.hasOwnProperty(u))for(n=this.seen[e];u=e+"-"+ ++n,this.seen.hasOwnProperty(u););return t||(this.seen[e]=n,this.seen[u]=0),u},t.slug=function(e,t){void 0===t&&(t={});e=this.serialize(e);return this.getNextSafeSlug(e,t.dryrun)},e}(),R=function(){function u(e){this.options=e||r.defaults,this.options.renderer=this.options.renderer||new $,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new S,this.slugger=new T}u.parse=function(e,t){return new u(t).parse(e)},u.parseInline=function(e,t){return new u(t).parseInline(e)};var e=u.prototype;return e.parse=function(e,t){void 0===t&&(t=!0);for(var u,n,r,i,s,l,a,o,D,c,h,p,f,g,F,A,d="",C=e.length,k=0;kAn error occurred:

    "+D(e.message+"",!0)+"
    ";throw e}}I.options=I.setOptions=function(e){return d(I.defaults,e),e=I.defaults,r.defaults=e,I},I.getDefaults=e,I.defaults=r.defaults,I.use=function(){for(var e=arguments.length,t=new Array(e),u=0;uAn error occurred:

    "+D(e.message+"",!0)+"
    ";throw e}},I.Parser=R,I.parser=R.parse,I.Renderer=$,I.TextRenderer=S,I.Lexer=z,I.lexer=z.lex,I.Tokenizer=w,I.Slugger=T;var A=(I.parse=I).options,P=I.setOptions,Q=I.use,U=I.walkTokens,M=I.parseInline,N=I,X=R.parse,G=z.lex;r.Lexer=z,r.Parser=R,r.Renderer=$,r.Slugger=T,r.TextRenderer=S,r.Tokenizer=w,r.getDefaults=e,r.lexer=G,r.marked=I,r.options=A,r.parse=N,r.parseInline=M,r.parser=X,r.setOptions=P,r.use=Q,r.walkTokens=U,Object.defineProperty(r,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/marked/package.json new file mode 100644 index 00000000..12c80f08 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/package.json @@ -0,0 +1,97 @@ +{ + "name": "marked", + "description": "A markdown parser built for speed", + "author": "Christopher Jeffrey", + "version": "4.0.19", + "type": "module", + "main": "./lib/marked.cjs", + "module": "./lib/marked.esm.js", + "browser": "./lib/marked.umd.js", + "bin": { + "marked": "bin/marked.js" + }, + "man": "./man/marked.1", + "files": [ + "bin/", + "lib/", + "src/", + "man/", + "marked.min.js" + ], + "exports": { + ".": { + "import": "./lib/marked.esm.js", + "default": "./lib/marked.cjs" + }, + "./package.json": "./package.json" + }, + "repository": "git://github.com/markedjs/marked.git", + "homepage": "https://marked.js.org", + "bugs": { + "url": "http://github.com/markedjs/marked/issues" + }, + "license": "MIT", + "keywords": [ + "markdown", + "markup", + "html" + ], + "tags": [ + "markdown", + "markup", + "html" + ], + "devDependencies": { + "@babel/core": "^7.18.10", + "@babel/preset-env": "^7.18.10", + "@markedjs/html-differ": "^4.0.2", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-commonjs": "^22.0.2", + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/git": "^10.0.1", + "@semantic-release/github": "^8.0.5", + "@semantic-release/npm": "^9.0.1", + "@semantic-release/release-notes-generator": "^10.0.3", + "cheerio": "^1.0.0-rc.12", + "commonmark": "0.30.0", + "eslint": "^8.22.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-n": "^15.2.4", + "eslint-plugin-promise": "^6.0.0", + "front-matter": "^4.0.2", + "highlight.js": "^11.6.0", + "jasmine": "^4.3.0", + "markdown-it": "13.0.1", + "node-fetch": "^3.2.10", + "rollup": "^2.78.0", + "rollup-plugin-license": "^2.8.1", + "semantic-release": "^19.0.3", + "titleize": "^3.0.0", + "uglify-js": "^3.16.3", + "vuln-regex-detector": "^1.3.0" + }, + "scripts": { + "test": "jasmine --config=jasmine.json", + "test:all": "npm test && npm run test:lint", + "test:unit": "npm test -- test/unit/**/*-spec.js", + "test:specs": "npm test -- test/specs/**/*-spec.js", + "test:lint": "eslint .", + "test:redos": "node test/vuln-regex.js", + "test:update": "node test/update-specs.js", + "rules": "node test/rules.js", + "bench": "npm run rollup && node test/bench.js", + "lint": "eslint --fix .", + "build:reset": "git checkout upstream/master lib/marked.cjs lib/marked.umd.js lib/marked.esm.js marked.min.js", + "build": "npm run rollup && npm run minify", + "build:docs": "node build-docs.js", + "rollup": "npm run rollup:umd && npm run rollup:esm", + "rollup:umd": "rollup -c rollup.config.js", + "rollup:esm": "rollup -c rollup.config.esm.js", + "minify": "uglifyjs lib/marked.umd.js -cm --comments /Copyright/ -o marked.min.js", + "preversion": "npm run build && (git diff --quiet || git commit -am build)" + }, + "engines": { + "node": ">= 12" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Lexer.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Lexer.js new file mode 100644 index 00000000..c4bbf41a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Lexer.js @@ -0,0 +1,502 @@ +import { Tokenizer } from './Tokenizer.js'; +import { defaults } from './defaults.js'; +import { block, inline } from './rules.js'; +import { repeatString } from './helpers.js'; + +/** + * smartypants text replacement + * @param {string} text + */ +function smartypants(text) { + return text + // em-dashes + .replace(/---/g, '\u2014') + // en-dashes + .replace(/--/g, '\u2013') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); +} + +/** + * mangle email addresses + * @param {string} text + */ +function mangle(text) { + let out = '', + i, + ch; + + const l = text.length; + for (i = 0; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; +} + +/** + * Block Lexer + */ +export class Lexer { + constructor(options) { + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || defaults; + this.options.tokenizer = this.options.tokenizer || new Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + this.tokenizer.lexer = this; + this.inlineQueue = []; + this.state = { + inLink: false, + inRawBlock: false, + top: true + }; + + const rules = { + block: block.normal, + inline: inline.normal + }; + + if (this.options.pedantic) { + rules.block = block.pedantic; + rules.inline = inline.pedantic; + } else if (this.options.gfm) { + rules.block = block.gfm; + if (this.options.breaks) { + rules.inline = inline.breaks; + } else { + rules.inline = inline.gfm; + } + } + this.tokenizer.rules = rules; + } + + /** + * Expose Rules + */ + static get rules() { + return { + block, + inline + }; + } + + /** + * Static Lex Method + */ + static lex(src, options) { + const lexer = new Lexer(options); + return lexer.lex(src); + } + + /** + * Static Lex Inline Method + */ + static lexInline(src, options) { + const lexer = new Lexer(options); + return lexer.inlineTokens(src); + } + + /** + * Preprocessing + */ + lex(src) { + src = src + .replace(/\r\n|\r/g, '\n'); + + this.blockTokens(src, this.tokens); + + let next; + while (next = this.inlineQueue.shift()) { + this.inlineTokens(next.src, next.tokens); + } + + return this.tokens; + } + + /** + * Lexing + */ + blockTokens(src, tokens = []) { + if (this.options.pedantic) { + src = src.replace(/\t/g, ' ').replace(/^ +$/gm, ''); + } else { + src = src.replace(/^( *)(\t+)/gm, (_, leading, tabs) => { + return leading + ' '.repeat(tabs.length); + }); + } + + let token, lastToken, cutSrc, lastParagraphClipped; + + while (src) { + if (this.options.extensions + && this.options.extensions.block + && this.options.extensions.block.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + + // newline + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + if (token.raw.length === 1 && tokens.length > 0) { + // if there's a single \n as a spacer, it's terminating the last line, + // so move it there so that we don't get unecessary paragraph tags + tokens[tokens.length - 1].raw += '\n'; + } else { + tokens.push(token); + } + continue; + } + + // code + if (token = this.tokenizer.code(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + // An indented code block cannot interrupt a paragraph. + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + continue; + } + + // fences + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // heading + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // hr + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // blockquote + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // list + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // html + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // def + if (token = this.tokenizer.def(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.raw; + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title + }; + } + continue; + } + + // table (gfm) + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // lheading + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // top-level paragraph + // prevent paragraph consuming extensions by clipping 'src' to extension start + cutSrc = src; + if (this.options.extensions && this.options.extensions.startBlock) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startBlock.forEach(function(getStartIndex) { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) { + lastToken = tokens[tokens.length - 1]; + if (lastParagraphClipped && lastToken.type === 'paragraph') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + lastParagraphClipped = (cutSrc.length !== src.length); + src = src.substring(token.raw.length); + continue; + } + + // text + if (token = this.tokenizer.text(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && lastToken.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text; + } else { + tokens.push(token); + } + continue; + } + + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + this.state.top = true; + return tokens; + } + + inline(src, tokens = []) { + this.inlineQueue.push({ src, tokens }); + return tokens; + } + + /** + * Lexing/Compiling + */ + inlineTokens(src, tokens = []) { + let token, lastToken, cutSrc; + + // String with links masked to avoid interference with em and strong + let maskedSrc = src; + let match; + let keepPrevChar, prevChar; + + // Mask out reflinks + if (this.tokens.links) { + const links = Object.keys(this.tokens.links); + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); + } + } + } + } + // Mask out other blocks + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } + + // Mask out escaped em & strong delimiters + while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex); + } + + while (src) { + if (!keepPrevChar) { + prevChar = ''; + } + keepPrevChar = false; + + // extensions + if (this.options.extensions + && this.options.extensions.inline + && this.options.extensions.inline.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + + // escape + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // tag + if (token = this.tokenizer.tag(src)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + // link + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // reflink, nolink + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + lastToken = tokens[tokens.length - 1]; + if (lastToken && token.type === 'text' && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + // em & strong + if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // code + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // br + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // del (gfm) + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // autolink + if (token = this.tokenizer.autolink(src, mangle)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // url (gfm) + if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + + // text + // prevent inlineText consuming extensions by clipping 'src' to extension start + cutSrc = src; + if (this.options.extensions && this.options.extensions.startInline) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startInline.forEach(function(getStartIndex) { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (token = this.tokenizer.inlineText(cutSrc, smartypants)) { + src = src.substring(token.raw.length); + if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started + prevChar = token.raw.slice(-1); + } + keepPrevChar = true; + lastToken = tokens[tokens.length - 1]; + if (lastToken && lastToken.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } else { + tokens.push(token); + } + continue; + } + + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } + + return tokens; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Parser.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Parser.js new file mode 100644 index 00000000..a22a2bcf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Parser.js @@ -0,0 +1,286 @@ +import { Renderer } from './Renderer.js'; +import { TextRenderer } from './TextRenderer.js'; +import { Slugger } from './Slugger.js'; +import { defaults } from './defaults.js'; +import { + unescape +} from './helpers.js'; + +/** + * Parsing & Compiling + */ +export class Parser { + constructor(options) { + this.options = options || defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + this.textRenderer = new TextRenderer(); + this.slugger = new Slugger(); + } + + /** + * Static Parse Method + */ + static parse(tokens, options) { + const parser = new Parser(options); + return parser.parse(tokens); + } + + /** + * Static Parse Inline Method + */ + static parseInline(tokens, options) { + const parser = new Parser(options); + return parser.parseInline(tokens); + } + + /** + * Parse Loop + */ + parse(tokens, top = true) { + let out = '', + i, + j, + k, + l2, + l3, + row, + cell, + header, + body, + token, + ordered, + start, + loose, + itemBody, + item, + checked, + task, + checkbox, + ret; + + const l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + + // Run any renderer extensions + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'space': { + continue; + } + case 'hr': { + out += this.renderer.hr(); + continue; + } + case 'heading': { + out += this.renderer.heading( + this.parseInline(token.tokens), + token.depth, + unescape(this.parseInline(token.tokens, this.textRenderer)), + this.slugger); + continue; + } + case 'code': { + out += this.renderer.code(token.text, + token.lang, + token.escaped); + continue; + } + case 'table': { + header = ''; + + // header + cell = ''; + l2 = token.header.length; + for (j = 0; j < l2; j++) { + cell += this.renderer.tablecell( + this.parseInline(token.header[j].tokens), + { header: true, align: token.align[j] } + ); + } + header += this.renderer.tablerow(cell); + + body = ''; + l2 = token.rows.length; + for (j = 0; j < l2; j++) { + row = token.rows[j]; + + cell = ''; + l3 = row.length; + for (k = 0; k < l3; k++) { + cell += this.renderer.tablecell( + this.parseInline(row[k].tokens), + { header: false, align: token.align[k] } + ); + } + + body += this.renderer.tablerow(cell); + } + out += this.renderer.table(header, body); + continue; + } + case 'blockquote': { + body = this.parse(token.tokens); + out += this.renderer.blockquote(body); + continue; + } + case 'list': { + ordered = token.ordered; + start = token.start; + loose = token.loose; + l2 = token.items.length; + + body = ''; + for (j = 0; j < l2; j++) { + item = token.items[j]; + checked = item.checked; + task = item.task; + + itemBody = ''; + if (item.task) { + checkbox = this.renderer.checkbox(checked); + if (loose) { + if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text; + } + } else { + item.tokens.unshift({ + type: 'text', + text: checkbox + }); + } + } else { + itemBody += checkbox; + } + } + + itemBody += this.parse(item.tokens, loose); + body += this.renderer.listitem(itemBody, task, checked); + } + + out += this.renderer.list(body, ordered, start); + continue; + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + out += this.renderer.html(token.text); + continue; + } + case 'paragraph': { + out += this.renderer.paragraph(this.parseInline(token.tokens)); + continue; + } + case 'text': { + body = token.tokens ? this.parseInline(token.tokens) : token.text; + while (i + 1 < l && tokens[i + 1].type === 'text') { + token = tokens[++i]; + body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text); + } + out += top ? this.renderer.paragraph(body) : body; + continue; + } + + default: { + const errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + + return out; + } + + /** + * Parse Inline Tokens + */ + parseInline(tokens, renderer) { + renderer = renderer || this.renderer; + let out = '', + i, + token, + ret; + + const l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + + // Run any renderer extensions + if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { + ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) { + out += ret || ''; + continue; + } + } + + switch (token.type) { + case 'escape': { + out += renderer.text(token.text); + break; + } + case 'html': { + out += renderer.html(token.text); + break; + } + case 'link': { + out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)); + break; + } + case 'image': { + out += renderer.image(token.href, token.title, token.text); + break; + } + case 'strong': { + out += renderer.strong(this.parseInline(token.tokens, renderer)); + break; + } + case 'em': { + out += renderer.em(this.parseInline(token.tokens, renderer)); + break; + } + case 'codespan': { + out += renderer.codespan(token.text); + break; + } + case 'br': { + out += renderer.br(); + break; + } + case 'del': { + out += renderer.del(this.parseInline(token.tokens, renderer)); + break; + } + case 'text': { + out += renderer.text(token.text); + break; + } + default: { + const errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } + } + } + } + return out; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Renderer.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Renderer.js new file mode 100644 index 00000000..7c36a755 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Renderer.js @@ -0,0 +1,203 @@ +import { defaults } from './defaults.js'; +import { + cleanUrl, + escape +} from './helpers.js'; + +/** + * Renderer + */ +export class Renderer { + constructor(options) { + this.options = options || defaults; + } + + code(code, infostring, escaped) { + const lang = (infostring || '').match(/\S*/)[0]; + if (this.options.highlight) { + const out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + code = code.replace(/\n$/, '') + '\n'; + + if (!lang) { + return '
    '
    +        + (escaped ? code : escape(code, true))
    +        + '
    \n'; + } + + return '
    '
    +      + (escaped ? code : escape(code, true))
    +      + '
    \n'; + } + + /** + * @param {string} quote + */ + blockquote(quote) { + return `
    \n${quote}
    \n`; + } + + html(html) { + return html; + } + + /** + * @param {string} text + * @param {string} level + * @param {string} raw + * @param {any} slugger + */ + heading(text, level, raw, slugger) { + if (this.options.headerIds) { + const id = this.options.headerPrefix + slugger.slug(raw); + return `${text}\n`; + } + + // ignore IDs + return `${text}\n`; + } + + hr() { + return this.options.xhtml ? '
    \n' : '
    \n'; + } + + list(body, ordered, start) { + const type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + } + + /** + * @param {string} text + */ + listitem(text) { + return `
  • ${text}
  • \n`; + } + + checkbox(checked) { + return ' '; + } + + /** + * @param {string} text + */ + paragraph(text) { + return `

    ${text}

    \n`; + } + + /** + * @param {string} header + * @param {string} body + */ + table(header, body) { + if (body) body = `${body}`; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + } + + /** + * @param {string} content + */ + tablerow(content) { + return `\n${content}\n`; + } + + tablecell(content, flags) { + const type = flags.header ? 'th' : 'td'; + const tag = flags.align + ? `<${type} align="${flags.align}">` + : `<${type}>`; + return tag + content + `\n`; + } + + /** + * span level renderer + * @param {string} text + */ + strong(text) { + return `${text}`; + } + + /** + * @param {string} text + */ + em(text) { + return `${text}`; + } + + /** + * @param {string} text + */ + codespan(text) { + return `${text}`; + } + + br() { + return this.options.xhtml ? '
    ' : '
    '; + } + + /** + * @param {string} text + */ + del(text) { + return `${text}`; + } + + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + link(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + let out = '
    '; + return out; + } + + /** + * @param {string} href + * @param {string} title + * @param {string} text + */ + image(href, title, text) { + href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + + let out = `${text}' : '>'; + return out; + } + + text(text) { + return text; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Slugger.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Slugger.js new file mode 100644 index 00000000..a0b68f51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Slugger.js @@ -0,0 +1,55 @@ +/** + * Slugger generates header id + */ +export class Slugger { + constructor() { + this.seen = {}; + } + + /** + * @param {string} value + */ + serialize(value) { + return value + .toLowerCase() + .trim() + // remove html tags + .replace(/<[!\/a-z].*?>/ig, '') + // remove unwanted chars + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') + .replace(/\s/g, '-'); + } + + /** + * Finds the next safe (unique) slug to use + * @param {string} originalSlug + * @param {boolean} isDryRun + */ + getNextSafeSlug(originalSlug, isDryRun) { + let slug = originalSlug; + let occurenceAccumulator = 0; + if (this.seen.hasOwnProperty(slug)) { + occurenceAccumulator = this.seen[originalSlug]; + do { + occurenceAccumulator++; + slug = originalSlug + '-' + occurenceAccumulator; + } while (this.seen.hasOwnProperty(slug)); + } + if (!isDryRun) { + this.seen[originalSlug] = occurenceAccumulator; + this.seen[slug] = 0; + } + return slug; + } + + /** + * Convert string to unique id + * @param {object} [options] + * @param {boolean} [options.dryrun] Generates the next unique slug without + * updating the internal accumulator. + */ + slug(value, options = {}) { + const slug = this.serialize(value); + return this.getNextSafeSlug(slug, options.dryrun); + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/TextRenderer.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/TextRenderer.js new file mode 100644 index 00000000..4d6e08f5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/TextRenderer.js @@ -0,0 +1,42 @@ +/** + * TextRenderer + * returns only the textual part of the token + */ +export class TextRenderer { + // no need for block level renderers + strong(text) { + return text; + } + + em(text) { + return text; + } + + codespan(text) { + return text; + } + + del(text) { + return text; + } + + html(text) { + return text; + } + + text(text) { + return text; + } + + link(href, title, text) { + return '' + text; + } + + image(href, title, text) { + return '' + text; + } + + br() { + return ''; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Tokenizer.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Tokenizer.js new file mode 100644 index 00000000..214669c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/Tokenizer.js @@ -0,0 +1,785 @@ +import { defaults } from './defaults.js'; +import { + rtrim, + splitCells, + escape, + findClosingBracket +} from './helpers.js'; + +function outputLink(cap, link, raw, lexer) { + const href = link.href; + const title = link.title ? escape(link.title) : null; + const text = cap[1].replace(/\\([\[\]])/g, '$1'); + + if (cap[0].charAt(0) !== '!') { + lexer.state.inLink = true; + const token = { + type: 'link', + raw, + href, + title, + text, + tokens: lexer.inlineTokens(text, []) + }; + lexer.state.inLink = false; + return token; + } + return { + type: 'image', + raw, + href, + title, + text: escape(text) + }; +} + +function indentCodeCompensation(raw, text) { + const matchIndentToCode = raw.match(/^(\s+)(?:```)/); + + if (matchIndentToCode === null) { + return text; + } + + const indentToCode = matchIndentToCode[1]; + + return text + .split('\n') + .map(node => { + const matchIndentInNode = node.match(/^\s+/); + if (matchIndentInNode === null) { + return node; + } + + const [indentInNode] = matchIndentInNode; + + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + + return node; + }) + .join('\n'); +} + +/** + * Tokenizer + */ +export class Tokenizer { + constructor(options) { + this.options = options || defaults; + } + + space(src) { + const cap = this.rules.block.newline.exec(src); + if (cap && cap[0].length > 0) { + return { + type: 'space', + raw: cap[0] + }; + } + } + + code(src) { + const cap = this.rules.block.code.exec(src); + if (cap) { + const text = cap[0].replace(/^ {1,4}/gm, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim(text, '\n') + : text + }; + } + } + + fences(src) { + const cap = this.rules.block.fences.exec(src); + if (cap) { + const raw = cap[0]; + const text = indentCodeCompensation(raw, cap[3] || ''); + + return { + type: 'code', + raw, + lang: cap[2] ? cap[2].trim() : cap[2], + text + }; + } + } + + heading(src) { + const cap = this.rules.block.heading.exec(src); + if (cap) { + let text = cap[2].trim(); + + // remove trailing #s + if (/#$/.test(text)) { + const trimmed = rtrim(text, '#'); + if (this.options.pedantic) { + text = trimmed.trim(); + } else if (!trimmed || / $/.test(trimmed)) { + // CommonMark requires space before trailing #s + text = trimmed.trim(); + } + } + + const token = { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text, + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + hr(src) { + const cap = this.rules.block.hr.exec(src); + if (cap) { + return { + type: 'hr', + raw: cap[0] + }; + } + } + + blockquote(src) { + const cap = this.rules.block.blockquote.exec(src); + if (cap) { + const text = cap[0].replace(/^ *>[ \t]?/gm, ''); + + return { + type: 'blockquote', + raw: cap[0], + tokens: this.lexer.blockTokens(text, []), + text + }; + } + } + + list(src) { + let cap = this.rules.block.list.exec(src); + if (cap) { + let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, + line, nextLine, rawLine, itemContents, endEarly; + + let bull = cap[1].trim(); + const isordered = bull.length > 1; + + const list = { + type: 'list', + raw: '', + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [] + }; + + bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`; + + if (this.options.pedantic) { + bull = isordered ? bull : '[*+-]'; + } + + // Get next list item + const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`); + + // Check if current bullet point can start a new List Item + while (src) { + endEarly = false; + if (!(cap = itemRegex.exec(src))) { + break; + } + + if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?) + break; + } + + raw = cap[0]; + src = src.substring(raw.length); + + line = cap[2].split('\n', 1)[0]; + nextLine = src.split('\n', 1)[0]; + + if (this.options.pedantic) { + indent = 2; + itemContents = line.trimLeft(); + } else { + indent = cap[2].search(/[^ ]/); // Find first non-space char + indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent + itemContents = line.slice(indent); + indent += cap[1].length; + } + + blankLine = false; + + if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line + raw += nextLine + '\n'; + src = src.substring(nextLine.length + 1); + endEarly = true; + } + + if (!endEarly) { + const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))`); + const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`); + const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`); + const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`); + + // Check if following lines should be included in List Item + while (src) { + rawLine = src.split('\n', 1)[0]; + line = rawLine; + + // Re-align to follow commonmark nesting rules + if (this.options.pedantic) { + line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' '); + } + + // End list item if found code fences + if (fencesBeginRegex.test(line)) { + break; + } + + // End list item if found start of new heading + if (headingBeginRegex.test(line)) { + break; + } + + // End list item if found start of new bullet + if (nextBulletRegex.test(line)) { + break; + } + + // Horizontal rule found + if (hrRegex.test(src)) { + break; + } + + if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible + itemContents += '\n' + line.slice(indent); + } else if (!blankLine) { // Until blank line, item doesn't need indentation + itemContents += '\n' + line; + } else { // Otherwise, improper indentation ends this item + break; + } + + if (!blankLine && !line.trim()) { // Check if current line is blank + blankLine = true; + } + + raw += rawLine + '\n'; + src = src.substring(rawLine.length + 1); + } + } + + if (!list.loose) { + // If the previous item ended with a blank line, the list is loose + if (endsWithBlankLine) { + list.loose = true; + } else if (/\n *\n *$/.test(raw)) { + endsWithBlankLine = true; + } + } + + // Check for task list items + if (this.options.gfm) { + istask = /^\[[ xX]\] /.exec(itemContents); + if (istask) { + ischecked = istask[0] !== '[ ] '; + itemContents = itemContents.replace(/^\[[ xX]\] +/, ''); + } + } + + list.items.push({ + type: 'list_item', + raw, + task: !!istask, + checked: ischecked, + loose: false, + text: itemContents + }); + + list.raw += raw; + } + + // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic + list.items[list.items.length - 1].raw = raw.trimRight(); + list.items[list.items.length - 1].text = itemContents.trimRight(); + list.raw = list.raw.trimRight(); + + const l = list.items.length; + + // Item child tokens handled here at end because we needed to have the final item to trim it first + for (i = 0; i < l; i++) { + this.lexer.state.top = false; + list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + const spacers = list.items[i].tokens.filter(t => t.type === 'space'); + const hasMultipleLineBreaks = spacers.every(t => { + const chars = t.raw.split(''); + let lineBreaks = 0; + for (const char of chars) { + if (char === '\n') { + lineBreaks += 1; + } + if (lineBreaks > 1) { + return true; + } + } + + return false; + }); + + if (!list.loose && spacers.length && hasMultipleLineBreaks) { + // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item + list.loose = true; + list.items[i].loose = true; + } + } + + return list; + } + } + + html(src) { + const cap = this.rules.block.html.exec(src); + if (cap) { + const token = { + type: 'html', + raw: cap[0], + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }; + if (this.options.sanitize) { + token.type = 'paragraph'; + token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]); + token.tokens = []; + this.lexer.inline(token.text, token.tokens); + } + return token; + } + } + + def(src) { + const cap = this.rules.block.def.exec(src); + if (cap) { + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + const tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + return { + type: 'def', + tag, + raw: cap[0], + href: cap[2], + title: cap[3] + }; + } + } + + table(src) { + const cap = this.rules.block.table.exec(src); + if (cap) { + const item = { + type: 'table', + header: splitCells(cap[1]).map(c => { return { text: c }; }), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + item.raw = cap[0]; + + let l = item.align.length; + let i, j, k, row; + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.rows.length; + for (i = 0; i < l; i++) { + item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; }); + } + + // parse child tokens inside headers and cells + + // header child tokens + l = item.header.length; + for (j = 0; j < l; j++) { + item.header[j].tokens = []; + this.lexer.inline(item.header[j].text, item.header[j].tokens); + } + + // cell child tokens + l = item.rows.length; + for (j = 0; j < l; j++) { + row = item.rows[j]; + for (k = 0; k < row.length; k++) { + row[k].tokens = []; + this.lexer.inline(row[k].text, row[k].tokens); + } + } + + return item; + } + } + } + + lheading(src) { + const cap = this.rules.block.lheading.exec(src); + if (cap) { + const token = { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + paragraph(src) { + const cap = this.rules.block.paragraph.exec(src); + if (cap) { + const token = { + type: 'paragraph', + raw: cap[0], + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + text(src) { + const cap = this.rules.block.text.exec(src); + if (cap) { + const token = { + type: 'text', + raw: cap[0], + text: cap[0], + tokens: [] + }; + this.lexer.inline(token.text, token.tokens); + return token; + } + } + + escape(src) { + const cap = this.rules.inline.escape.exec(src); + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: escape(cap[1]) + }; + } + } + + tag(src) { + const cap = this.rules.inline.tag.exec(src); + if (cap) { + if (!this.lexer.state.inLink && /^/i.test(cap[0])) { + this.lexer.state.inLink = false; + } + if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = true; + } else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + this.lexer.state.inRawBlock = false; + } + + return { + type: this.options.sanitize + ? 'text' + : 'html', + raw: cap[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + text: this.options.sanitize + ? (this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape(cap[0])) + : cap[0] + }; + } + } + + link(src) { + const cap = this.rules.inline.link.exec(src); + if (cap) { + const trimmedUrl = cap[2].trim(); + if (!this.options.pedantic && /^$/.test(trimmedUrl))) { + return; + } + + // ending angle bracket cannot be escaped + const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\'); + if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) { + return; + } + } else { + // find closing parenthesis + const lastParenIndex = findClosingBracket(cap[2], '()'); + if (lastParenIndex > -1) { + const start = cap[0].indexOf('!') === 0 ? 5 : 4; + const linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + } + let href = cap[2]; + let title = ''; + if (this.options.pedantic) { + // split pedantic href and title + const link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + + href = href.trim(); + if (/^$/.test(trimmedUrl))) { + // pedantic allows starting angle bracket without ending angle bracket + href = href.slice(1); + } else { + href = href.slice(1, -1); + } + } + return outputLink(cap, { + href: href ? href.replace(this.rules.inline._escapes, '$1') : href, + title: title ? title.replace(this.rules.inline._escapes, '$1') : title + }, cap[0], this.lexer); + } + } + + reflink(src, links) { + let cap; + if ((cap = this.rules.inline.reflink.exec(src)) + || (cap = this.rules.inline.nolink.exec(src))) { + let link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = links[link.toLowerCase()]; + if (!link || !link.href) { + const text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text + }; + } + return outputLink(cap, link, cap[0], this.lexer); + } + } + + emStrong(src, maskedSrc, prevChar = '') { + let match = this.rules.inline.emStrong.lDelim.exec(src); + if (!match) return; + + // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well + if (match[3] && prevChar.match(/[\p{L}\p{N}]/u)) return; + + const nextChar = match[1] || match[2] || ''; + + if (!nextChar || (nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) { + const lLength = match[0].length - 1; + let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0; + + const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; + endReg.lastIndex = 0; + + // Clip maskedSrc to same section of string as src (move to lexer?) + maskedSrc = maskedSrc.slice(-1 * src.length + lLength); + + while ((match = endReg.exec(maskedSrc)) != null) { + rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6]; + + if (!rDelim) continue; // skip single * in __abc*abc__ + + rLength = rDelim.length; + + if (match[3] || match[4]) { // found another Left Delim + delimTotal += rLength; + continue; + } else if (match[5] || match[6]) { // either Left or Right Delim + if (lLength % 3 && !((lLength + rLength) % 3)) { + midDelimTotal += rLength; + continue; // CommonMark Emphasis Rules 9-10 + } + } + + delimTotal -= rLength; + + if (delimTotal > 0) continue; // Haven't found enough closing delimiters + + // Remove extra characters. *a*** -> *a* + rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); + + // Create `em` if smallest delimiter has odd char count. *a*** + if (Math.min(lLength, rLength) % 2) { + const text = src.slice(1, lLength + match.index + rLength); + return { + type: 'em', + raw: src.slice(0, lLength + match.index + rLength + 1), + text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + + // Create 'strong' if smallest delimiter has even char count. **a*** + const text = src.slice(2, lLength + match.index + rLength - 1); + return { + type: 'strong', + raw: src.slice(0, lLength + match.index + rLength + 1), + text, + tokens: this.lexer.inlineTokens(text, []) + }; + } + } + } + + codespan(src) { + const cap = this.rules.inline.code.exec(src); + if (cap) { + let text = cap[2].replace(/\n/g, ' '); + const hasNonSpaceChars = /[^ ]/.test(text); + const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text); + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + text = escape(text, true); + return { + type: 'codespan', + raw: cap[0], + text + }; + } + } + + br(src) { + const cap = this.rules.inline.br.exec(src); + if (cap) { + return { + type: 'br', + raw: cap[0] + }; + } + } + + del(src) { + const cap = this.rules.inline.del.exec(src); + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[2], + tokens: this.lexer.inlineTokens(cap[2], []) + }; + } + } + + autolink(src, mangle) { + const cap = this.rules.inline.autolink.exec(src); + if (cap) { + let text, href; + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text + } + ] + }; + } + } + + url(src, mangle) { + let cap; + if (cap = this.rules.inline.url.exec(src)) { + let text, href; + if (cap[2] === '@') { + text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + let prevCapZero; + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + text = escape(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text + } + ] + }; + } + } + + inlineText(src, smartypants) { + const cap = this.rules.inline.text.exec(src); + if (cap) { + let text; + if (this.lexer.state.inRawBlock) { + text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]; + } else { + text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]); + } + return { + type: 'text', + raw: cap[0], + text + }; + } + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/defaults.js new file mode 100644 index 00000000..3a68802c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/defaults.js @@ -0,0 +1,29 @@ +export function getDefaults() { + return { + baseUrl: null, + breaks: false, + extensions: null, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tokenizer: null, + walkTokens: null, + xhtml: false + }; +} + +export let defaults = getDefaults(); + +export function changeDefaults(newDefaults) { + defaults = newDefaults; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/helpers.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/helpers.js new file mode 100644 index 00000000..600c95ee --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/helpers.js @@ -0,0 +1,276 @@ +/** + * Helpers + */ +const escapeTest = /[&<>"']/; +const escapeReplace = /[&<>"']/g; +const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; +const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; +const escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; +const getEscapeReplacement = (ch) => escapeReplacements[ch]; +export function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; +} + +const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + +/** + * @param {string} html + */ +export function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, (_, n) => { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +const caret = /(^|[^\[])\^/g; + +/** + * @param {string | RegExp} regex + * @param {string} opt + */ +export function edit(regex, opt) { + regex = typeof regex === 'string' ? regex : regex.source; + opt = opt || ''; + const obj = { + replace: (name, val) => { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: () => { + return new RegExp(regex, opt); + } + }; + return obj; +} + +const nonWordAndColonTest = /[^\w:]/g; +const originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + +/** + * @param {boolean} sanitize + * @param {string} base + * @param {string} href + */ +export function cleanUrl(sanitize, base, href) { + if (sanitize) { + let prot; + try { + prot = decodeURIComponent(unescape(href)) + .replace(nonWordAndColonTest, '') + .toLowerCase(); + } catch (e) { + return null; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return href; +} + +const baseUrls = {}; +const justDomain = /^[^:]+:\/*[^/]*$/; +const protocol = /^([^:]+:)[\s\S]*$/; +const domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + +/** + * @param {string} base + * @param {string} href + */ +export function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + base = baseUrls[' ' + base]; + const relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + return base.replace(domain, '$1') + href; + } else { + return base + href; + } +} + +export const noopTest = { exec: function noopTest() {} }; + +export function merge(obj) { + let i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + +export function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + const row = tableRow.replace(/\|/g, (match, offset, str) => { + let escaped = false, + curr = offset; + while (--curr >= 0 && str[curr] === '\\') escaped = !escaped; + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + let i = 0; + + // First/last cell in a row cannot be empty if it has no leading/trailing pipe + if (!cells[0].trim()) { cells.shift(); } + if (cells.length > 0 && !cells[cells.length - 1].trim()) { cells.pop(); } + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + return cells; +} + +/** + * Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + * /c*$/ is vulnerable to REDOS. + * + * @param {string} str + * @param {string} c + * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey. + */ +export function rtrim(str, c, invert) { + const l = str.length; + if (l === 0) { + return ''; + } + + // Length of suffix matching the invert condition. + let suffLen = 0; + + // Step left until we fail to match the invert condition. + while (suffLen < l) { + const currChar = str.charAt(l - suffLen - 1); + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.slice(0, l - suffLen); +} + +export function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + const l = str.length; + let level = 0, + i = 0; + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; +} + +export function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } +} + +// copied from https://stackoverflow.com/a/5450113/806777 +/** + * @param {string} pattern + * @param {number} count + */ +export function repeatString(pattern, count) { + if (count < 1) { + return ''; + } + let result = ''; + while (count > 1) { + if (count & 1) { + result += pattern; + } + count >>= 1; + pattern += pattern; + } + return result + pattern; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/marked.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/marked.js new file mode 100644 index 00000000..10f54333 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/marked.js @@ -0,0 +1,351 @@ +import { Lexer } from './Lexer.js'; +import { Parser } from './Parser.js'; +import { Tokenizer } from './Tokenizer.js'; +import { Renderer } from './Renderer.js'; +import { TextRenderer } from './TextRenderer.js'; +import { Slugger } from './Slugger.js'; +import { + merge, + checkSanitizeDeprecation, + escape +} from './helpers.js'; +import { + getDefaults, + changeDefaults, + defaults +} from './defaults.js'; + +/** + * Marked + */ +export function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (typeof opt === 'function') { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + if (callback) { + const highlight = opt.highlight; + let tokens; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + const done = function(err) { + let out; + + if (!err) { + try { + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!tokens.length) return done(); + + let pending = 0; + marked.walkTokens(tokens, function(token) { + if (token.type === 'code') { + pending++; + setTimeout(() => { + highlight(token.text, token.lang, function(err, code) { + if (err) { + return done(err); + } + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + + pending--; + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + + if (pending === 0) { + done(); + } + + return; + } + + try { + const tokens = Lexer.lex(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + return Parser.parse(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (opt.silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge(marked.defaults, opt); + changeDefaults(marked.defaults); + return marked; +}; + +marked.getDefaults = getDefaults; + +marked.defaults = defaults; + +/** + * Use Extension + */ + +marked.use = function(...args) { + const opts = merge({}, ...args); + const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} }; + let hasExtensions; + + args.forEach((pack) => { + // ==-- Parse "addon" extensions --== // + if (pack.extensions) { + hasExtensions = true; + pack.extensions.forEach((ext) => { + if (!ext.name) { + throw new Error('extension name required'); + } + if (ext.renderer) { // Renderer extensions + const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null; + if (prevRenderer) { + // Replace extension with func to run new extension but fall back if false + extensions.renderers[ext.name] = function(...args) { + let ret = ext.renderer.apply(this, args); + if (ret === false) { + ret = prevRenderer.apply(this, args); + } + return ret; + }; + } else { + extensions.renderers[ext.name] = ext.renderer; + } + } + if (ext.tokenizer) { // Tokenizer Extensions + if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) { + throw new Error("extension level must be 'block' or 'inline'"); + } + if (extensions[ext.level]) { + extensions[ext.level].unshift(ext.tokenizer); + } else { + extensions[ext.level] = [ext.tokenizer]; + } + if (ext.start) { // Function to check for start of token + if (ext.level === 'block') { + if (extensions.startBlock) { + extensions.startBlock.push(ext.start); + } else { + extensions.startBlock = [ext.start]; + } + } else if (ext.level === 'inline') { + if (extensions.startInline) { + extensions.startInline.push(ext.start); + } else { + extensions.startInline = [ext.start]; + } + } + } + } + if (ext.childTokens) { // Child tokens to be visited by walkTokens + extensions.childTokens[ext.name] = ext.childTokens; + } + }); + } + + // ==-- Parse "overwrite" extensions --== // + if (pack.renderer) { + const renderer = marked.defaults.renderer || new Renderer(); + for (const prop in pack.renderer) { + const prevRenderer = renderer[prop]; + // Replace renderer with func to run extension, but fall back if false + renderer[prop] = (...args) => { + let ret = pack.renderer[prop].apply(renderer, args); + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + return ret; + }; + } + opts.renderer = renderer; + } + if (pack.tokenizer) { + const tokenizer = marked.defaults.tokenizer || new Tokenizer(); + for (const prop in pack.tokenizer) { + const prevTokenizer = tokenizer[prop]; + // Replace tokenizer with func to run extension, but fall back if false + tokenizer[prop] = (...args) => { + let ret = pack.tokenizer[prop].apply(tokenizer, args); + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + return ret; + }; + } + opts.tokenizer = tokenizer; + } + + // ==-- Parse WalkTokens extensions --== // + if (pack.walkTokens) { + const walkTokens = marked.defaults.walkTokens; + opts.walkTokens = function(token) { + pack.walkTokens.call(this, token); + if (walkTokens) { + walkTokens.call(this, token); + } + }; + } + + if (hasExtensions) { + opts.extensions = extensions; + } + + marked.setOptions(opts); + }); +}; + +/** + * Run callback for every token + */ + +marked.walkTokens = function(tokens, callback) { + for (const token of tokens) { + callback.call(marked, token); + switch (token.type) { + case 'table': { + for (const cell of token.header) { + marked.walkTokens(cell.tokens, callback); + } + for (const row of token.rows) { + for (const cell of row) { + marked.walkTokens(cell.tokens, callback); + } + } + break; + } + case 'list': { + marked.walkTokens(token.items, callback); + break; + } + default: { + if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions + marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) { + marked.walkTokens(token[childTokens], callback); + }); + } else if (token.tokens) { + marked.walkTokens(token.tokens, callback); + } + } + } + } +}; + +/** + * Parse Inline + * @param {string} src + */ +marked.parseInline = function(src, opt) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked.parseInline(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked.parseInline(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + opt = merge({}, marked.defaults, opt || {}); + checkSanitizeDeprecation(opt); + + try { + const tokens = Lexer.lexInline(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + return Parser.parseInline(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (opt.silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +}; + +/** + * Expose + */ +marked.Parser = Parser; +marked.parser = Parser.parse; +marked.Renderer = Renderer; +marked.TextRenderer = TextRenderer; +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; +marked.Tokenizer = Tokenizer; +marked.Slugger = Slugger; +marked.parse = marked; + +export const options = marked.options; +export const setOptions = marked.setOptions; +export const use = marked.use; +export const walkTokens = marked.walkTokens; +export const parseInline = marked.parseInline; +export const parse = marked; +export const parser = Parser.parse; +export const lexer = Lexer.lex; +export { defaults, getDefaults } from './defaults.js'; +export { Lexer } from './Lexer.js'; +export { Parser } from './Parser.js'; +export { Tokenizer } from './Tokenizer.js'; +export { Renderer } from './Renderer.js'; +export { TextRenderer } from './TextRenderer.js'; +export { Slugger } from './Slugger.js'; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/rules.js b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/rules.js new file mode 100644 index 00000000..25d14153 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/marked/src/rules.js @@ -0,0 +1,302 @@ +import { + noopTest, + edit, + merge +} from './helpers.js'; + +/** + * Block-Level Grammar + */ +export const block = { + newline: /^(?: *(?:\n|$))+/, + code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/, + hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + + '|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6) + + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, + table: noopTest, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + // regex template, placeholders will be replaced according to different paragraph + // interruption rules of commonmark and the original markdown spec: + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, + text: /^[^\n]+/ +}; + +block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + +block.bullet = /(?:[*+-]|\d{1,9}[.)])/; +block.listItemStart = edit(/^( *)(bull) */) + .replace('bull', block.bullet) + .getRegex(); + +block.list = edit(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; +block._comment = /|$)/; +block.html = edit(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + +block.paragraph = edit(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + +block.blockquote = edit(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + table: '^ *([^\\n ].*\\|.*)\\n' // Header + + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align + + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells +}); + +block.gfm.table = edit(block.gfm.table) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('blockquote', ' {0,3}>') + .replace('code', ' {4}[^\\n]') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks + .getRegex(); + +block.gfm.paragraph = edit(block._paragraph) + .replace('hr', block.hr) + .replace('heading', ' {0,3}#{1,6} ') + .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs + .replace('table', block.gfm.table) // interrupt paragraphs with table + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ + +block.pedantic = merge({}, block.normal, { + html: edit( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: noopTest, // fences not supported + paragraph: edit(block.normal._paragraph) + .replace('hr', block.hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', block.lheading) + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .getRegex() +}); + +/** + * Inline-Level Grammar + */ +export const inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noopTest, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(ref)\]/, + nolink: /^!?\[(ref)\](?:\[\])?/, + reflinkSearch: 'reflink|nolink(?!\\()', + emStrong: { + lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, + // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right. + // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a + rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/, + rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _ + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: noopTest, + text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~'; +inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); + +// sequences em should skip over [title](link), `code`, +inline.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g; +inline.escapedEmSt = /\\\*|\\_/g; + +inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex(); + +inline.emStrong.lDelim = edit(inline.emStrong.lDelim) + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g') + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g') + .replace(/punct/g, inline._punctuation) + .getRegex(); + +inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; + +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + +inline.tag = edit(inline.tag) + .replace('comment', inline._comment) + .replace('attribute', inline._attribute) + .getRegex(); + +inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + +inline.link = edit(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + +inline.reflink = edit(inline.reflink) + .replace('label', inline._label) + .replace('ref', block._label) + .getRegex(); + +inline.nolink = edit(inline.nolink) + .replace('ref', block._label) + .getRegex(); + +inline.reflinkSearch = edit(inline.reflinkSearch, 'g') + .replace('reflink', inline.reflink) + .replace('nolink', inline.nolink) + .getRegex(); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g + }, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ URL utilities for [markdown-it](https://github.com/markdown-it/markdown-it) parser. + + +## API + +### .encode(str [, exclude, keepEncoded]) -> String + +Percent-encode a string, avoiding double encoding. Don't touch `/a-zA-Z0-9/` + +excluded chars + `/%[a-fA-F0-9]{2}/` (if not disabled). Broken surrorates are +replaced with `U+FFFD`. + +Params: + +- __str__ - input string. +- __exclude__ - optional, `;/?:@&=+$,-_.!~*'()#`. Additional chars to keep intact + (except `/a-zA-Z0-9/`). +- __keepEncoded__ - optional, `true`. By default it skips already encoded sequences + (`/%[a-fA-F0-9]{2}/`). If set to `false`, `%` will be encoded. + + +### encode.defaultChars, encode.componentChars + +You can use these constants as second argument to `encode` function. + + - `encode.defaultChars` is the same exclude set as in the standard `encodeURI()` function + - `encode.componentChars` is the same exclude set as in the `encodeURIComponent()` function + +For example, `encode('something', encode.componentChars, true)` is roughly the equivalent of +the `encodeURIComponent()` function (except `encode()` doesn't throw). + + +### .decode(str [, exclude]) -> String + +Decode percent-encoded string. Invalid percent-encoded sequences (e.g. `%2G`) +are left as is. Invalid UTF-8 characters are replaced with `U+FFFD`. + + +Params: + +- __str__ - input string. +- __exclude__ - set of characters to leave encoded, optional, `;/?:@&=+$,#`. + + +### decode.defaultChars, decode.componentChars + +You can use these constants as second argument to `decode` function. + + - `decode.defaultChars` is the same exclude set as in the standard `decodeURI()` function + - `decode.componentChars` is the same exclude set as in the `decodeURIComponent()` function + +For example, `decode('something', decode.defaultChars)` has the same behavior as +`decodeURI('something')` on a correctly encoded input. + + +### .parse(url, slashesDenoteHost) -> urlObs + +Parse url string. Similar to node's [url.parse](http://nodejs.org/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost), but without any +normalizations and query string parse. + + - __url__ - input url (string) + - __slashesDenoteHost__ - if url starts with `//`, expect a hostname after it. Optional, `false`. + +Result (hash): + +- protocol +- slashes +- auth +- port +- hostname +- hash +- search +- pathname + +Difference with node's `url`: + +1. No leading slash in paths, e.g. in `url.parse('http://foo?bar')` pathname is + ``, not `/` +2. Backslashes are not replaced with slashes, so `http:\\example.org\` is + treated like a relative path +3. Trailing colon is treated like a part of the path, i.e. in + `http://example.org:foo` pathname is `:foo` +4. Nothing is URL-encoded in the resulting object, (in joyent/node some chars + in auth and paths are encoded) +5. `url.parse()` does not have `parseQueryString` argument +6. Removed extraneous result properties: `host`, `path`, `query`, etc., + which can be constructed using other parts of the url. + + +### .format(urlObject) + +Format an object previously obtained with `.parse()` function. Similar to node's +[url.format](http://nodejs.org/api/url.html#url_url_format_urlobj). + + +## License + +[MIT](https://github.com/markdown-it/mdurl/blob/master/LICENSE) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/decode.js b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/decode.js new file mode 100644 index 00000000..189d7b9c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/decode.js @@ -0,0 +1,122 @@ + +'use strict'; + + +/* eslint-disable no-bitwise */ + +var decodeCache = {}; + +function getDecodeCache(exclude) { + var i, ch, cache = decodeCache[exclude]; + if (cache) { return cache; } + + cache = decodeCache[exclude] = []; + + for (i = 0; i < 128; i++) { + ch = String.fromCharCode(i); + cache.push(ch); + } + + for (i = 0; i < exclude.length; i++) { + ch = exclude.charCodeAt(i); + cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2); + } + + return cache; +} + + +// Decode percent-encoded string. +// +function decode(string, exclude) { + var cache; + + if (typeof exclude !== 'string') { + exclude = decode.defaultChars; + } + + cache = getDecodeCache(exclude); + + return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) { + var i, l, b1, b2, b3, b4, chr, + result = ''; + + for (i = 0, l = seq.length; i < l; i += 3) { + b1 = parseInt(seq.slice(i + 1, i + 3), 16); + + if (b1 < 0x80) { + result += cache[b1]; + continue; + } + + if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) { + // 110xxxxx 10xxxxxx + b2 = parseInt(seq.slice(i + 4, i + 6), 16); + + if ((b2 & 0xC0) === 0x80) { + chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F); + + if (chr < 0x80) { + result += '\ufffd\ufffd'; + } else { + result += String.fromCharCode(chr); + } + + i += 3; + continue; + } + } + + if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) { + // 1110xxxx 10xxxxxx 10xxxxxx + b2 = parseInt(seq.slice(i + 4, i + 6), 16); + b3 = parseInt(seq.slice(i + 7, i + 9), 16); + + if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) { + chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F); + + if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) { + result += '\ufffd\ufffd\ufffd'; + } else { + result += String.fromCharCode(chr); + } + + i += 6; + continue; + } + } + + if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) { + // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx + b2 = parseInt(seq.slice(i + 4, i + 6), 16); + b3 = parseInt(seq.slice(i + 7, i + 9), 16); + b4 = parseInt(seq.slice(i + 10, i + 12), 16); + + if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) { + chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F); + + if (chr < 0x10000 || chr > 0x10FFFF) { + result += '\ufffd\ufffd\ufffd\ufffd'; + } else { + chr -= 0x10000; + result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF)); + } + + i += 9; + continue; + } + } + + result += '\ufffd'; + } + + return result; + }); +} + + +decode.defaultChars = ';/?:@&=+$,#'; +decode.componentChars = ''; + + +module.exports = decode; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/encode.js b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/encode.js new file mode 100644 index 00000000..6dff4f96 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/encode.js @@ -0,0 +1,98 @@ + +'use strict'; + + +var encodeCache = {}; + + +// Create a lookup array where anything but characters in `chars` string +// and alphanumeric chars is percent-encoded. +// +function getEncodeCache(exclude) { + var i, ch, cache = encodeCache[exclude]; + if (cache) { return cache; } + + cache = encodeCache[exclude] = []; + + for (i = 0; i < 128; i++) { + ch = String.fromCharCode(i); + + if (/^[0-9a-z]$/i.test(ch)) { + // always allow unencoded alphanumeric characters + cache.push(ch); + } else { + cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2)); + } + } + + for (i = 0; i < exclude.length; i++) { + cache[exclude.charCodeAt(i)] = exclude[i]; + } + + return cache; +} + + +// Encode unsafe characters with percent-encoding, skipping already +// encoded sequences. +// +// - string - string to encode +// - exclude - list of characters to ignore (in addition to a-zA-Z0-9) +// - keepEscaped - don't encode '%' in a correct escape sequence (default: true) +// +function encode(string, exclude, keepEscaped) { + var i, l, code, nextCode, cache, + result = ''; + + if (typeof exclude !== 'string') { + // encode(string, keepEscaped) + keepEscaped = exclude; + exclude = encode.defaultChars; + } + + if (typeof keepEscaped === 'undefined') { + keepEscaped = true; + } + + cache = getEncodeCache(exclude); + + for (i = 0, l = string.length; i < l; i++) { + code = string.charCodeAt(i); + + if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) { + if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) { + result += string.slice(i, i + 3); + i += 2; + continue; + } + } + + if (code < 128) { + result += cache[code]; + continue; + } + + if (code >= 0xD800 && code <= 0xDFFF) { + if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) { + nextCode = string.charCodeAt(i + 1); + if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) { + result += encodeURIComponent(string[i] + string[i + 1]); + i++; + continue; + } + } + result += '%EF%BF%BD'; + continue; + } + + result += encodeURIComponent(string[i]); + } + + return result; +} + +encode.defaultChars = ";/?:@&=+$,-_.!~*'()#"; +encode.componentChars = "-_.!~*'()"; + + +module.exports = encode; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/format.js b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/format.js new file mode 100644 index 00000000..c4eb9f4a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/format.js @@ -0,0 +1,25 @@ + +'use strict'; + + +module.exports = function format(url) { + var result = ''; + + result += url.protocol || ''; + result += url.slashes ? '//' : ''; + result += url.auth ? url.auth + '@' : ''; + + if (url.hostname && url.hostname.indexOf(':') !== -1) { + // ipv6 address + result += '[' + url.hostname + ']'; + } else { + result += url.hostname || ''; + } + + result += url.port ? ':' + url.port : ''; + result += url.pathname || ''; + result += url.search || ''; + result += url.hash || ''; + + return result; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/index.js new file mode 100644 index 00000000..194abff5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/index.js @@ -0,0 +1,7 @@ +'use strict'; + + +module.exports.encode = require('./encode'); +module.exports.decode = require('./decode'); +module.exports.format = require('./format'); +module.exports.parse = require('./parse'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/package.json new file mode 100644 index 00000000..017d740b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/package.json @@ -0,0 +1,16 @@ +{ + "name": "mdurl", + "version": "1.0.1", + "description": "URL utilities for markdown-it", + "repository": "markdown-it/mdurl", + "license": "MIT", + "scripts": { + "test": "make test" + }, + "devDependencies": { + "mocha": "*", + "eslint": "0.13.0", + "eslint-plugin-nodeca": "^1.0.0", + "istanbul": "*" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/parse.js b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/parse.js new file mode 100644 index 00000000..6c33ac12 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mdurl/parse.js @@ -0,0 +1,312 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +'use strict'; + +// +// Changes from joyent/node: +// +// 1. No leading slash in paths, +// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/` +// +// 2. Backslashes are not replaced with slashes, +// so `http:\\example.org\` is treated like a relative path +// +// 3. Trailing colon is treated like a part of the path, +// i.e. in `http://example.org:foo` pathname is `:foo` +// +// 4. Nothing is URL-encoded in the resulting object, +// (in joyent/node some chars in auth and paths are encoded) +// +// 5. `url.parse()` does not have `parseQueryString` argument +// +// 6. Removed extraneous result properties: `host`, `path`, `query`, etc., +// which can be constructed using other parts of the url. +// + + +function Url() { + this.protocol = null; + this.slashes = null; + this.auth = null; + this.port = null; + this.hostname = null; + this.hash = null; + this.search = null; + this.pathname = null; +} + +// Reference: RFC 3986, RFC 1808, RFC 2396 + +// define these here so at least they only have to be +// compiled once on the first module load. +var protocolPattern = /^([a-z0-9.+-]+:)/i, + portPattern = /:[0-9]*$/, + + // Special case for a simple path URL + simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + + // RFC 2396: characters reserved for delimiting URLs. + // We actually just auto-escape these. + delims = [ '<', '>', '"', '`', ' ', '\r', '\n', '\t' ], + + // RFC 2396: characters not allowed for various reasons. + unwise = [ '{', '}', '|', '\\', '^', '`' ].concat(delims), + + // Allowed by RFCs, but cause of XSS attacks. Always escape these. + autoEscape = [ '\'' ].concat(unwise), + // Characters that are never ever allowed in a hostname. + // Note that any invalid chars are also handled, but these + // are the ones that are *expected* to be seen, so we fast-path + // them. + nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape), + hostEndingChars = [ '/', '?', '#' ], + hostnameMaxLen = 255, + hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, + hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + // protocols that can allow "unsafe" and "unwise" chars. + /* eslint-disable no-script-url */ + // protocols that never have a hostname. + hostlessProtocol = { + 'javascript': true, + 'javascript:': true + }, + // protocols that always contain a // bit. + slashedProtocol = { + 'http': true, + 'https': true, + 'ftp': true, + 'gopher': true, + 'file': true, + 'http:': true, + 'https:': true, + 'ftp:': true, + 'gopher:': true, + 'file:': true + }; + /* eslint-enable no-script-url */ + +function urlParse(url, slashesDenoteHost) { + if (url && url instanceof Url) { return url; } + + var u = new Url(); + u.parse(url, slashesDenoteHost); + return u; +} + +Url.prototype.parse = function(url, slashesDenoteHost) { + var i, l, lowerProto, hec, slashes, + rest = url; + + // trim before proceeding. + // This is to support parse stuff like " http://foo.com \n" + rest = rest.trim(); + + if (!slashesDenoteHost && url.split('#').length === 1) { + // Try fast path regexp + var simplePath = simplePathPattern.exec(rest); + if (simplePath) { + this.pathname = simplePath[1]; + if (simplePath[2]) { + this.search = simplePath[2]; + } + return this; + } + } + + var proto = protocolPattern.exec(rest); + if (proto) { + proto = proto[0]; + lowerProto = proto.toLowerCase(); + this.protocol = proto; + rest = rest.substr(proto.length); + } + + // figure out if it's got a host + // user@server is *always* interpreted as a hostname, and url + // resolution will treat //foo/bar as host=foo,path=bar because that's + // how the browser resolves relative URLs. + if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { + slashes = rest.substr(0, 2) === '//'; + if (slashes && !(proto && hostlessProtocol[proto])) { + rest = rest.substr(2); + this.slashes = true; + } + } + + if (!hostlessProtocol[proto] && + (slashes || (proto && !slashedProtocol[proto]))) { + + // there's a hostname. + // the first instance of /, ?, ;, or # ends the host. + // + // If there is an @ in the hostname, then non-host chars *are* allowed + // to the left of the last @ sign, unless some host-ending character + // comes *before* the @-sign. + // URLs are obnoxious. + // + // ex: + // http://a@b@c/ => user:a@b host:c + // http://a@b?@c => user:a host:c path:/?@c + + // v0.12 TODO(isaacs): This is not quite how Chrome does things. + // Review our test case against browsers more comprehensively. + + // find the first instance of any hostEndingChars + var hostEnd = -1; + for (i = 0; i < hostEndingChars.length; i++) { + hec = rest.indexOf(hostEndingChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { + hostEnd = hec; + } + } + + // at this point, either we have an explicit point where the + // auth portion cannot go past, or the last @ char is the decider. + var auth, atSign; + if (hostEnd === -1) { + // atSign can be anywhere. + atSign = rest.lastIndexOf('@'); + } else { + // atSign must be in auth portion. + // http://a@b/c@d => host:b auth:a path:/c@d + atSign = rest.lastIndexOf('@', hostEnd); + } + + // Now we have a portion which is definitely the auth. + // Pull that off. + if (atSign !== -1) { + auth = rest.slice(0, atSign); + rest = rest.slice(atSign + 1); + this.auth = auth; + } + + // the host is the remaining to the left of the first non-host char + hostEnd = -1; + for (i = 0; i < nonHostChars.length; i++) { + hec = rest.indexOf(nonHostChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { + hostEnd = hec; + } + } + // if we still have not hit it, then the entire thing is a host. + if (hostEnd === -1) { + hostEnd = rest.length; + } + + if (rest[hostEnd - 1] === ':') { hostEnd--; } + var host = rest.slice(0, hostEnd); + rest = rest.slice(hostEnd); + + // pull out port. + this.parseHost(host); + + // we've indicated that there is a hostname, + // so even if it's empty, it has to be present. + this.hostname = this.hostname || ''; + + // if hostname begins with [ and ends with ] + // assume that it's an IPv6 address. + var ipv6Hostname = this.hostname[0] === '[' && + this.hostname[this.hostname.length - 1] === ']'; + + // validate a little. + if (!ipv6Hostname) { + var hostparts = this.hostname.split(/\./); + for (i = 0, l = hostparts.length; i < l; i++) { + var part = hostparts[i]; + if (!part) { continue; } + if (!part.match(hostnamePartPattern)) { + var newpart = ''; + for (var j = 0, k = part.length; j < k; j++) { + if (part.charCodeAt(j) > 127) { + // we replace non-ASCII char with a temporary placeholder + // we need this to make sure size of hostname is not + // broken by replacing non-ASCII by nothing + newpart += 'x'; + } else { + newpart += part[j]; + } + } + // we test again with ASCII char only + if (!newpart.match(hostnamePartPattern)) { + var validParts = hostparts.slice(0, i); + var notHost = hostparts.slice(i + 1); + var bit = part.match(hostnamePartStart); + if (bit) { + validParts.push(bit[1]); + notHost.unshift(bit[2]); + } + if (notHost.length) { + rest = notHost.join('.') + rest; + } + this.hostname = validParts.join('.'); + break; + } + } + } + } + + if (this.hostname.length > hostnameMaxLen) { + this.hostname = ''; + } + + // strip [ and ] from the hostname + // the host field still retains them, though + if (ipv6Hostname) { + this.hostname = this.hostname.substr(1, this.hostname.length - 2); + } + } + + // chop off from the tail first. + var hash = rest.indexOf('#'); + if (hash !== -1) { + // got a fragment string. + this.hash = rest.substr(hash); + rest = rest.slice(0, hash); + } + var qm = rest.indexOf('?'); + if (qm !== -1) { + this.search = rest.substr(qm); + rest = rest.slice(0, qm); + } + if (rest) { this.pathname = rest; } + if (slashedProtocol[lowerProto] && + this.hostname && !this.pathname) { + this.pathname = ''; + } + + return this; +}; + +Url.prototype.parseHost = function(host) { + var port = portPattern.exec(host); + if (port) { + port = port[0]; + if (port !== ':') { + this.port = port.substr(1); + } + host = host.substr(0, host.length - port.length); + } + if (host) { this.hostname = host; } +}; + +module.exports = urlParse; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/README.md new file mode 100644 index 00000000..33ede1d6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/README.md @@ -0,0 +1,230 @@ +# minimatch + +A minimal matching utility. + +[![Build Status](https://travis-ci.org/isaacs/minimatch.svg?branch=master)](http://travis-ci.org/isaacs/minimatch) + + +This is the matching library used internally by npm. + +It works by converting glob expressions into JavaScript `RegExp` +objects. + +## Usage + +```javascript +var minimatch = require("minimatch") + +minimatch("bar.foo", "*.foo") // true! +minimatch("bar.foo", "*.bar") // false! +minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy! +``` + +## Features + +Supports these glob features: + +* Brace Expansion +* Extended glob matching +* "Globstar" `**` matching + +See: + +* `man sh` +* `man bash` +* `man 3 fnmatch` +* `man 5 gitignore` + +## Minimatch Class + +Create a minimatch object by instantiating the `minimatch.Minimatch` class. + +```javascript +var Minimatch = require("minimatch").Minimatch +var mm = new Minimatch(pattern, options) +``` + +### Properties + +* `pattern` The original pattern the minimatch object represents. +* `options` The options supplied to the constructor. +* `set` A 2-dimensional array of regexp or string expressions. + Each row in the + array corresponds to a brace-expanded pattern. Each item in the row + corresponds to a single path-part. For example, the pattern + `{a,b/c}/d` would expand to a set of patterns like: + + [ [ a, d ] + , [ b, c, d ] ] + + If a portion of the pattern doesn't have any "magic" in it + (that is, it's something like `"foo"` rather than `fo*o?`), then it + will be left as a string rather than converted to a regular + expression. + +* `regexp` Created by the `makeRe` method. A single regular expression + expressing the entire pattern. This is useful in cases where you wish + to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled. +* `negate` True if the pattern is negated. +* `comment` True if the pattern is a comment. +* `empty` True if the pattern is `""`. + +### Methods + +* `makeRe` Generate the `regexp` member if necessary, and return it. + Will return `false` if the pattern is invalid. +* `match(fname)` Return true if the filename matches the pattern, or + false otherwise. +* `matchOne(fileArray, patternArray, partial)` Take a `/`-split + filename, and match it against a single row in the `regExpSet`. This + method is mainly for internal use, but is exposed so that it can be + used by a glob-walker that needs to avoid excessive filesystem calls. + +All other methods are internal, and will be called as necessary. + +### minimatch(path, pattern, options) + +Main export. Tests a path against the pattern using the options. + +```javascript +var isJS = minimatch(file, "*.js", { matchBase: true }) +``` + +### minimatch.filter(pattern, options) + +Returns a function that tests its +supplied argument, suitable for use with `Array.filter`. Example: + +```javascript +var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true})) +``` + +### minimatch.match(list, pattern, options) + +Match against the list of +files, in the style of fnmatch or glob. If nothing is matched, and +options.nonull is set, then return a list containing the pattern itself. + +```javascript +var javascripts = minimatch.match(fileList, "*.js", {matchBase: true})) +``` + +### minimatch.makeRe(pattern, options) + +Make a regular expression object from the pattern. + +## Options + +All options are `false` by default. + +### debug + +Dump a ton of stuff to stderr. + +### nobrace + +Do not expand `{a,b}` and `{1..3}` brace sets. + +### noglobstar + +Disable `**` matching against multiple folder names. + +### dot + +Allow patterns to match filenames starting with a period, even if +the pattern does not explicitly have a period in that spot. + +Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot` +is set. + +### noext + +Disable "extglob" style patterns like `+(a|b)`. + +### nocase + +Perform a case-insensitive match. + +### nonull + +When a match is not found by `minimatch.match`, return a list containing +the pattern itself if this option is set. When not set, an empty list +is returned if there are no matches. + +### matchBase + +If set, then patterns without slashes will be matched +against the basename of the path if it contains slashes. For example, +`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. + +### nocomment + +Suppress the behavior of treating `#` at the start of a pattern as a +comment. + +### nonegate + +Suppress the behavior of treating a leading `!` character as negation. + +### flipNegate + +Returns from negate expressions the same as if they were not negated. +(Ie, true on a hit, false on a miss.) + +### partial + +Compare a partial path to a pattern. As long as the parts of the path that +are present are not contradicted by the pattern, it will be treated as a +match. This is useful in applications where you're walking through a +folder structure, and don't yet have the full path, but want to ensure that +you do not walk down paths that can never be a match. + +For example, + +```js +minimatch('/a/b', '/a/*/c/d', { partial: true }) // true, might be /a/b/c/d +minimatch('/a/b', '/**/d', { partial: true }) // true, might be /a/b/.../d +minimatch('/x/y/z', '/a/**/z', { partial: true }) // false, because x !== a +``` + +### allowWindowsEscape + +Windows path separator `\` is by default converted to `/`, which +prohibits the usage of `\` as a escape character. This flag skips that +behavior and allows using the escape character. + +## Comparisons to other fnmatch/glob implementations + +While strict compliance with the existing standards is a worthwhile +goal, some discrepancies exist between minimatch and other +implementations, and are intentional. + +If the pattern starts with a `!` character, then it is negated. Set the +`nonegate` flag to suppress this behavior, and treat leading `!` +characters normally. This is perhaps relevant if you wish to start the +pattern with a negative extglob pattern like `!(a|B)`. Multiple `!` +characters at the start of a pattern will negate the pattern multiple +times. + +If a pattern starts with `#`, then it is treated as a comment, and +will not match anything. Use `\#` to match a literal `#` at the +start of a line, or set the `nocomment` flag to suppress this behavior. + +The double-star character `**` is supported by default, unless the +`noglobstar` flag is set. This is supported in the manner of bsdglob +and bash 4.1, where `**` only has special significance if it is the only +thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but +`a/**b` will not. + +If an escaped pattern has no matches, and the `nonull` flag is set, +then minimatch.match returns the pattern as-provided, rather than +interpreting the character escapes. For example, +`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than +`"*a?"`. This is akin to setting the `nullglob` option in bash, except +that it does not resolve escaped pattern characters. + +If brace expansion is not disabled, then it is performed before any +other interpretation of the glob pattern. Thus, a pattern like +`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded +**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are +checked for validity. Since those two are valid, matching proceeds. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/minimatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/minimatch.js new file mode 100644 index 00000000..fda45ade --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/minimatch.js @@ -0,0 +1,947 @@ +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = (function () { try { return require('path') } catch (e) {}}()) || { + sep: '/' +} +minimatch.sep = path.sep + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = require('brace-expansion') + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + b = b || {} + var t = {} + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return minimatch + } + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + m.Minimatch.defaults = function defaults (options) { + return orig.defaults(ext(def, options)).Minimatch + } + + m.filter = function filter (pattern, options) { + return orig.filter(pattern, ext(def, options)) + } + + m.defaults = function defaults (options) { + return orig.defaults(ext(def, options)) + } + + m.makeRe = function makeRe (pattern, options) { + return orig.makeRe(pattern, ext(def, options)) + } + + m.braceExpand = function braceExpand (pattern, options) { + return orig.braceExpand(pattern, ext(def, options)) + } + + m.match = function (list, pattern, options) { + return orig.match(list, pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + assertValidPattern(pattern) + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + assertValidPattern(pattern) + + if (!options) options = {} + + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (!options.allowWindowsEscape && path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + this.partial = !!options.partial + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + assertValidPattern(pattern) + + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +var MAX_PATTERN_LENGTH = 1024 * 64 +var assertValidPattern = function (pattern) { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern') + } + + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long') + } +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + assertValidPattern(pattern) + + var options = this.options + + // shortcuts + if (pattern === '**') { + if (!options.noglobstar) + return GLOBSTAR + else + pattern = '*' + } + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + /* istanbul ignore next */ + case '/': { + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + } + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '[': case '.': case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) /* istanbul ignore next - should be impossible */ { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) /* istanbul ignore next - should be impossible */ { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = function match (f, partial) { + if (typeof partial === 'undefined') partial = this.partial + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + /* istanbul ignore if */ + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + /* istanbul ignore if */ + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + hit = f === p + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else /* istanbul ignore else */ if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + return (fi === fl - 1) && (file[fi] === '') + } + + // should be unreachable. + /* istanbul ignore next */ + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/package.json new file mode 100644 index 00000000..566efdfe --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/minimatch/package.json @@ -0,0 +1,33 @@ +{ + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "name": "minimatch", + "description": "a glob matcher in javascript", + "version": "3.1.2", + "publishConfig": { + "tag": "v3-legacy" + }, + "repository": { + "type": "git", + "url": "git://github.com/isaacs/minimatch.git" + }, + "main": "minimatch.js", + "scripts": { + "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" + }, + "engines": { + "node": "*" + }, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "devDependencies": { + "tap": "^15.1.6" + }, + "license": "ISC", + "files": [ + "minimatch.js" + ] +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/CHANGELOG.md new file mode 100644 index 00000000..81458380 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changers Lorgs! + +## 1.0 + +Full rewrite. Essentially a brand new module. + +- Return a promise instead of taking a callback. +- Use native `fs.mkdir(path, { recursive: true })` when available. +- Drop support for outdated Node.js versions. (Technically still works on + Node.js v8, but only 10 and above are officially supported.) + +## 0.x + +Original and most widely used recursive directory creation implementation +in JavaScript, dating back to 2010. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/LICENSE new file mode 100644 index 00000000..13fcd15f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/LICENSE @@ -0,0 +1,21 @@ +Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me) + +This project is free software released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/bin/cmd.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/bin/cmd.js new file mode 100755 index 00000000..6e0aa8dc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/bin/cmd.js @@ -0,0 +1,68 @@ +#!/usr/bin/env node + +const usage = () => ` +usage: mkdirp [DIR1,DIR2..] {OPTIONS} + + Create each supplied directory including any necessary parent directories + that don't yet exist. + + If the directory already exists, do nothing. + +OPTIONS are: + + -m If a directory needs to be created, set the mode as an octal + --mode= permission string. + + -v --version Print the mkdirp version number + + -h --help Print this helpful banner + + -p --print Print the first directories created for each path provided + + --manual Use manual implementation, even if native is available +` + +const dirs = [] +const opts = {} +let print = false +let dashdash = false +let manual = false +for (const arg of process.argv.slice(2)) { + if (dashdash) + dirs.push(arg) + else if (arg === '--') + dashdash = true + else if (arg === '--manual') + manual = true + else if (/^-h/.test(arg) || /^--help/.test(arg)) { + console.log(usage()) + process.exit(0) + } else if (arg === '-v' || arg === '--version') { + console.log(require('../package.json').version) + process.exit(0) + } else if (arg === '-p' || arg === '--print') { + print = true + } else if (/^-m/.test(arg) || /^--mode=/.test(arg)) { + const mode = parseInt(arg.replace(/^(-m|--mode=)/, ''), 8) + if (isNaN(mode)) { + console.error(`invalid mode argument: ${arg}\nMust be an octal number.`) + process.exit(1) + } + opts.mode = mode + } else + dirs.push(arg) +} + +const mkdirp = require('../') +const impl = manual ? mkdirp.manual : mkdirp +if (dirs.length === 0) + console.error(usage()) + +Promise.all(dirs.map(dir => impl(dir, opts))) + .then(made => print ? made.forEach(m => m && console.log(m)) : null) + .catch(er => { + console.error(er.message) + if (er.code) + console.error(' code: ' + er.code) + process.exit(1) + }) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/index.js new file mode 100644 index 00000000..ad7a16c9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/index.js @@ -0,0 +1,31 @@ +const optsArg = require('./lib/opts-arg.js') +const pathArg = require('./lib/path-arg.js') + +const {mkdirpNative, mkdirpNativeSync} = require('./lib/mkdirp-native.js') +const {mkdirpManual, mkdirpManualSync} = require('./lib/mkdirp-manual.js') +const {useNative, useNativeSync} = require('./lib/use-native.js') + + +const mkdirp = (path, opts) => { + path = pathArg(path) + opts = optsArg(opts) + return useNative(opts) + ? mkdirpNative(path, opts) + : mkdirpManual(path, opts) +} + +const mkdirpSync = (path, opts) => { + path = pathArg(path) + opts = optsArg(opts) + return useNativeSync(opts) + ? mkdirpNativeSync(path, opts) + : mkdirpManualSync(path, opts) +} + +mkdirp.sync = mkdirpSync +mkdirp.native = (path, opts) => mkdirpNative(pathArg(path), optsArg(opts)) +mkdirp.manual = (path, opts) => mkdirpManual(pathArg(path), optsArg(opts)) +mkdirp.nativeSync = (path, opts) => mkdirpNativeSync(pathArg(path), optsArg(opts)) +mkdirp.manualSync = (path, opts) => mkdirpManualSync(pathArg(path), optsArg(opts)) + +module.exports = mkdirp diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/find-made.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/find-made.js new file mode 100644 index 00000000..022e492c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/find-made.js @@ -0,0 +1,29 @@ +const {dirname} = require('path') + +const findMade = (opts, parent, path = undefined) => { + // we never want the 'made' return value to be a root directory + if (path === parent) + return Promise.resolve() + + return opts.statAsync(parent).then( + st => st.isDirectory() ? path : undefined, // will fail later + er => er.code === 'ENOENT' + ? findMade(opts, dirname(parent), parent) + : undefined + ) +} + +const findMadeSync = (opts, parent, path = undefined) => { + if (path === parent) + return undefined + + try { + return opts.statSync(parent).isDirectory() ? path : undefined + } catch (er) { + return er.code === 'ENOENT' + ? findMadeSync(opts, dirname(parent), parent) + : undefined + } +} + +module.exports = {findMade, findMadeSync} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-manual.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-manual.js new file mode 100644 index 00000000..2eb18cd6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-manual.js @@ -0,0 +1,64 @@ +const {dirname} = require('path') + +const mkdirpManual = (path, opts, made) => { + opts.recursive = false + const parent = dirname(path) + if (parent === path) { + return opts.mkdirAsync(path, opts).catch(er => { + // swallowed by recursive implementation on posix systems + // any other error is a failure + if (er.code !== 'EISDIR') + throw er + }) + } + + return opts.mkdirAsync(path, opts).then(() => made || path, er => { + if (er.code === 'ENOENT') + return mkdirpManual(parent, opts) + .then(made => mkdirpManual(path, opts, made)) + if (er.code !== 'EEXIST' && er.code !== 'EROFS') + throw er + return opts.statAsync(path).then(st => { + if (st.isDirectory()) + return made + else + throw er + }, () => { throw er }) + }) +} + +const mkdirpManualSync = (path, opts, made) => { + const parent = dirname(path) + opts.recursive = false + + if (parent === path) { + try { + return opts.mkdirSync(path, opts) + } catch (er) { + // swallowed by recursive implementation on posix systems + // any other error is a failure + if (er.code !== 'EISDIR') + throw er + else + return + } + } + + try { + opts.mkdirSync(path, opts) + return made || path + } catch (er) { + if (er.code === 'ENOENT') + return mkdirpManualSync(path, opts, mkdirpManualSync(parent, opts, made)) + if (er.code !== 'EEXIST' && er.code !== 'EROFS') + throw er + try { + if (!opts.statSync(path).isDirectory()) + throw er + } catch (_) { + throw er + } + } +} + +module.exports = {mkdirpManual, mkdirpManualSync} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-native.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-native.js new file mode 100644 index 00000000..c7a6b698 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/mkdirp-native.js @@ -0,0 +1,39 @@ +const {dirname} = require('path') +const {findMade, findMadeSync} = require('./find-made.js') +const {mkdirpManual, mkdirpManualSync} = require('./mkdirp-manual.js') + +const mkdirpNative = (path, opts) => { + opts.recursive = true + const parent = dirname(path) + if (parent === path) + return opts.mkdirAsync(path, opts) + + return findMade(opts, path).then(made => + opts.mkdirAsync(path, opts).then(() => made) + .catch(er => { + if (er.code === 'ENOENT') + return mkdirpManual(path, opts) + else + throw er + })) +} + +const mkdirpNativeSync = (path, opts) => { + opts.recursive = true + const parent = dirname(path) + if (parent === path) + return opts.mkdirSync(path, opts) + + const made = findMadeSync(opts, path) + try { + opts.mkdirSync(path, opts) + return made + } catch (er) { + if (er.code === 'ENOENT') + return mkdirpManualSync(path, opts) + else + throw er + } +} + +module.exports = {mkdirpNative, mkdirpNativeSync} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/opts-arg.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/opts-arg.js new file mode 100644 index 00000000..2fa4833f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/opts-arg.js @@ -0,0 +1,23 @@ +const { promisify } = require('util') +const fs = require('fs') +const optsArg = opts => { + if (!opts) + opts = { mode: 0o777, fs } + else if (typeof opts === 'object') + opts = { mode: 0o777, fs, ...opts } + else if (typeof opts === 'number') + opts = { mode: opts, fs } + else if (typeof opts === 'string') + opts = { mode: parseInt(opts, 8), fs } + else + throw new TypeError('invalid options argument') + + opts.mkdir = opts.mkdir || opts.fs.mkdir || fs.mkdir + opts.mkdirAsync = promisify(opts.mkdir) + opts.stat = opts.stat || opts.fs.stat || fs.stat + opts.statAsync = promisify(opts.stat) + opts.statSync = opts.statSync || opts.fs.statSync || fs.statSync + opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs.mkdirSync + return opts +} +module.exports = optsArg diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/path-arg.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/path-arg.js new file mode 100644 index 00000000..cc07de5a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/path-arg.js @@ -0,0 +1,29 @@ +const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform +const { resolve, parse } = require('path') +const pathArg = path => { + if (/\0/.test(path)) { + // simulate same failure that node raises + throw Object.assign( + new TypeError('path must be a string without null bytes'), + { + path, + code: 'ERR_INVALID_ARG_VALUE', + } + ) + } + + path = resolve(path) + if (platform === 'win32') { + const badWinChars = /[*|"<>?:]/ + const {root} = parse(path) + if (badWinChars.test(path.substr(root.length))) { + throw Object.assign(new Error('Illegal characters in path.'), { + path, + code: 'EINVAL', + }) + } + } + + return path +} +module.exports = pathArg diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/use-native.js b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/use-native.js new file mode 100644 index 00000000..079361de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/lib/use-native.js @@ -0,0 +1,10 @@ +const fs = require('fs') + +const version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version +const versArr = version.replace(/^v/, '').split('.') +const hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12 + +const useNative = !hasNative ? () => false : opts => opts.mkdir === fs.mkdir +const useNativeSync = !hasNative ? () => false : opts => opts.mkdirSync === fs.mkdirSync + +module.exports = {useNative, useNativeSync} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/package.json new file mode 100644 index 00000000..2913ed09 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/package.json @@ -0,0 +1,44 @@ +{ + "name": "mkdirp", + "description": "Recursively mkdir, like `mkdir -p`", + "version": "1.0.4", + "main": "index.js", + "keywords": [ + "mkdir", + "directory", + "make dir", + "make", + "dir", + "recursive", + "native" + ], + "repository": { + "type": "git", + "url": "https://github.com/isaacs/node-mkdirp.git" + }, + "scripts": { + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags" + }, + "tap": { + "check-coverage": true, + "coverage-map": "map.js" + }, + "devDependencies": { + "require-inject": "^1.4.4", + "tap": "^14.10.7" + }, + "bin": "bin/cmd.js", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "files": [ + "bin", + "lib", + "index.js" + ] +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/readme.markdown b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/readme.markdown new file mode 100644 index 00000000..827de590 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/mkdirp/readme.markdown @@ -0,0 +1,266 @@ +# mkdirp + +Like `mkdir -p`, but in Node.js! + +Now with a modern API and no\* bugs! + +\* may contain some bugs + +# example + +## pow.js + +```js +const mkdirp = require('mkdirp') + +// return value is a Promise resolving to the first directory created +mkdirp('/tmp/foo/bar/baz').then(made => + console.log(`made directories, starting with ${made}`)) +``` + +Output (where `/tmp/foo` already exists) + +``` +made directories, starting with /tmp/foo/bar +``` + +Or, if you don't have time to wait around for promises: + +```js +const mkdirp = require('mkdirp') + +// return value is the first directory created +const made = mkdirp.sync('/tmp/foo/bar/baz') +console.log(`made directories, starting with ${made}`) +``` + +And now /tmp/foo/bar/baz exists, huzzah! + +# methods + +```js +const mkdirp = require('mkdirp') +``` + +## mkdirp(dir, [opts]) -> Promise + +Create a new directory and any necessary subdirectories at `dir` with octal +permission string `opts.mode`. If `opts` is a string or number, it will be +treated as the `opts.mode`. + +If `opts.mode` isn't specified, it defaults to `0o777 & +(~process.umask())`. + +Promise resolves to first directory `made` that had to be created, or +`undefined` if everything already exists. Promise rejects if any errors +are encountered. Note that, in the case of promise rejection, some +directories _may_ have been created, as recursive directory creation is not +an atomic operation. + +You can optionally pass in an alternate `fs` implementation by passing in +`opts.fs`. Your implementation should have `opts.fs.mkdir(path, opts, cb)` +and `opts.fs.stat(path, cb)`. + +You can also override just one or the other of `mkdir` and `stat` by +passing in `opts.stat` or `opts.mkdir`, or providing an `fs` option that +only overrides one of these. + +## mkdirp.sync(dir, opts) -> String|null + +Synchronously create a new directory and any necessary subdirectories at +`dir` with octal permission string `opts.mode`. If `opts` is a string or +number, it will be treated as the `opts.mode`. + +If `opts.mode` isn't specified, it defaults to `0o777 & +(~process.umask())`. + +Returns the first directory that had to be created, or undefined if +everything already exists. + +You can optionally pass in an alternate `fs` implementation by passing in +`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` +and `opts.fs.statSync(path)`. + +You can also override just one or the other of `mkdirSync` and `statSync` +by passing in `opts.statSync` or `opts.mkdirSync`, or providing an `fs` +option that only overrides one of these. + +## mkdirp.manual, mkdirp.manualSync + +Use the manual implementation (not the native one). This is the default +when the native implementation is not available or the stat/mkdir +implementation is overridden. + +## mkdirp.native, mkdirp.nativeSync + +Use the native implementation (not the manual one). This is the default +when the native implementation is available and stat/mkdir are not +overridden. + +# implementation + +On Node.js v10.12.0 and above, use the native `fs.mkdir(p, +{recursive:true})` option, unless `fs.mkdir`/`fs.mkdirSync` has been +overridden by an option. + +## native implementation + +- If the path is a root directory, then pass it to the underlying + implementation and return the result/error. (In this case, it'll either + succeed or fail, but we aren't actually creating any dirs.) +- Walk up the path statting each directory, to find the first path that + will be created, `made`. +- Call `fs.mkdir(path, { recursive: true })` (or `fs.mkdirSync`) +- If error, raise it to the caller. +- Return `made`. + +## manual implementation + +- Call underlying `fs.mkdir` implementation, with `recursive: false` +- If error: + - If path is a root directory, raise to the caller and do not handle it + - If ENOENT, mkdirp parent dir, store result as `made` + - stat(path) + - If error, raise original `mkdir` error + - If directory, return `made` + - Else, raise original `mkdir` error +- else + - return `undefined` if a root dir, or `made` if set, or `path` + +## windows vs unix caveat + +On Windows file systems, attempts to create a root directory (ie, a drive +letter or root UNC path) will fail. If the root directory exists, then it +will fail with `EPERM`. If the root directory does not exist, then it will +fail with `ENOENT`. + +On posix file systems, attempts to create a root directory (in recursive +mode) will succeed silently, as it is treated like just another directory +that already exists. (In non-recursive mode, of course, it fails with +`EEXIST`.) + +In order to preserve this system-specific behavior (and because it's not as +if we can create the parent of a root directory anyway), attempts to create +a root directory are passed directly to the `fs` implementation, and any +errors encountered are not handled. + +## native error caveat + +The native implementation (as of at least Node.js v13.4.0) does not provide +appropriate errors in some cases (see +[nodejs/node#31481](https://github.com/nodejs/node/issues/31481) and +[nodejs/node#28015](https://github.com/nodejs/node/issues/28015)). + +In order to work around this issue, the native implementation will fall +back to the manual implementation if an `ENOENT` error is encountered. + +# choosing a recursive mkdir implementation + +There are a few to choose from! Use the one that suits your needs best :D + +## use `fs.mkdir(path, {recursive: true}, cb)` if: + +- You wish to optimize performance even at the expense of other factors. +- You don't need to know the first dir created. +- You are ok with getting `ENOENT` as the error when some other problem is + the actual cause. +- You can limit your platforms to Node.js v10.12 and above. +- You're ok with using callbacks instead of promises. +- You don't need/want a CLI. +- You don't need to override the `fs` methods in use. + +## use this module (mkdirp 1.x) if: + +- You need to know the first directory that was created. +- You wish to use the native implementation if available, but fall back + when it's not. +- You prefer promise-returning APIs to callback-taking APIs. +- You want more useful error messages than the native recursive mkdir + provides (at least as of Node.js v13.4), and are ok with re-trying on + `ENOENT` to achieve this. +- You need (or at least, are ok with) a CLI. +- You need to override the `fs` methods in use. + +## use [`make-dir`](http://npm.im/make-dir) if: + +- You do not need to know the first dir created (and wish to save a few + `stat` calls when using the native implementation for this reason). +- You wish to use the native implementation if available, but fall back + when it's not. +- You prefer promise-returning APIs to callback-taking APIs. +- You are ok with occasionally getting `ENOENT` errors for failures that + are actually related to something other than a missing file system entry. +- You don't need/want a CLI. +- You need to override the `fs` methods in use. + +## use mkdirp 0.x if: + +- You need to know the first directory that was created. +- You need (or at least, are ok with) a CLI. +- You need to override the `fs` methods in use. +- You're ok with using callbacks instead of promises. +- You are not running on Windows, where the root-level ENOENT errors can + lead to infinite regress. +- You think vinyl just sounds warmer and richer for some weird reason. +- You are supporting truly ancient Node.js versions, before even the advent + of a `Promise` language primitive. (Please don't. You deserve better.) + +# cli + +This package also ships with a `mkdirp` command. + +``` +$ mkdirp -h + +usage: mkdirp [DIR1,DIR2..] {OPTIONS} + + Create each supplied directory including any necessary parent directories + that don't yet exist. + + If the directory already exists, do nothing. + +OPTIONS are: + + -m If a directory needs to be created, set the mode as an octal + --mode= permission string. + + -v --version Print the mkdirp version number + + -h --help Print this helpful banner + + -p --print Print the first directories created for each path provided + + --manual Use manual implementation, even if native is available +``` + +# install + +With [npm](http://npmjs.org) do: + +``` +npm install mkdirp +``` + +to get the library locally, or + +``` +npm install -g mkdirp +``` + +to get the command everywhere, or + +``` +npx mkdirp ... +``` + +to run the command without installing it globally. + +# platform support + +This module works on node v8, but only v10 and above are officially +supported, as Node v8 reached its LTS end of life 2020-01-01, which is in +the past, as of this writing. + +# license + +MIT diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/once/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/once/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/once/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/once/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/once/README.md new file mode 100644 index 00000000..1f1ffca9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/once/README.md @@ -0,0 +1,79 @@ +# once + +Only call a function once. + +## usage + +```javascript +var once = require('once') + +function load (file, cb) { + cb = once(cb) + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Or add to the Function.prototype in a responsible way: + +```javascript +// only has to be done once +require('once').proto() + +function load (file, cb) { + cb = cb.once() + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Ironically, the prototype feature makes this module twice as +complicated as necessary. + +To check whether you function has been called, use `fn.called`. Once the +function is called for the first time the return value of the original +function is saved in `fn.value` and subsequent calls will continue to +return this value. + +```javascript +var once = require('once') + +function load (cb) { + cb = once(cb) + var stream = createStream() + stream.once('data', cb) + stream.once('end', function () { + if (!cb.called) cb(new Error('not found')) + }) +} +``` + +## `once.strict(func)` + +Throw an error if the function is called twice. + +Some functions are expected to be called only once. Using `once` for them would +potentially hide logical errors. + +In the example below, the `greet` function has to call the callback only once: + +```javascript +function greet (name, cb) { + // return is missing from the if statement + // when no name is passed, the callback is called twice + if (!name) cb('Hello anonymous') + cb('Hello ' + name) +} + +function log (msg) { + console.log(msg) +} + +// this will print 'Hello anonymous' but the logical error will be missed +greet(null, once(msg)) + +// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time +greet(null, once.strict(msg)) +``` diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/once/once.js b/ts-client/node_modules/protobufjs/cli/node_modules/once/once.js new file mode 100644 index 00000000..23540673 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/once/once.js @@ -0,0 +1,42 @@ +var wrappy = require('wrappy') +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/once/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/once/package.json new file mode 100644 index 00000000..16815b2f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/once/package.json @@ -0,0 +1,33 @@ +{ + "name": "once", + "version": "1.4.0", + "description": "Run a function exactly one time", + "main": "once.js", + "directories": { + "test": "test" + }, + "dependencies": { + "wrappy": "1" + }, + "devDependencies": { + "tap": "^7.0.1" + }, + "scripts": { + "test": "tap test/*.js" + }, + "files": [ + "once.js" + ], + "repository": { + "type": "git", + "url": "git://github.com/isaacs/once" + }, + "keywords": [ + "once", + "function", + "one", + "single" + ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/index.js new file mode 100644 index 00000000..22aa6c35 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/index.js @@ -0,0 +1,20 @@ +'use strict'; + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/license b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/license new file mode 100644 index 00000000..654d0bfe --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/package.json new file mode 100644 index 00000000..91196d5e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/package.json @@ -0,0 +1,43 @@ +{ + "name": "path-is-absolute", + "version": "1.0.1", + "description": "Node.js 0.12 path.isAbsolute() ponyfill", + "license": "MIT", + "repository": "sindresorhus/path-is-absolute", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "xo && node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "path", + "paths", + "file", + "dir", + "absolute", + "isabsolute", + "is-absolute", + "built-in", + "util", + "utils", + "core", + "ponyfill", + "polyfill", + "shim", + "is", + "detect", + "check" + ], + "devDependencies": { + "xo": "^0.16.0" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/readme.md b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/readme.md new file mode 100644 index 00000000..8dbdf5fc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/path-is-absolute/readme.md @@ -0,0 +1,59 @@ +# path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute) + +> Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) [ponyfill](https://ponyfill.com) + + +## Install + +``` +$ npm install --save path-is-absolute +``` + + +## Usage + +```js +const pathIsAbsolute = require('path-is-absolute'); + +// Running on Linux +pathIsAbsolute('/home/foo'); +//=> true +pathIsAbsolute('C:/Users/foo'); +//=> false + +// Running on Windows +pathIsAbsolute('C:/Users/foo'); +//=> true +pathIsAbsolute('/home/foo'); +//=> false + +// Running on any OS +pathIsAbsolute.posix('/home/foo'); +//=> true +pathIsAbsolute.posix('C:/Users/foo'); +//=> false +pathIsAbsolute.win32('C:/Users/foo'); +//=> true +pathIsAbsolute.win32('/home/foo'); +//=> false +``` + + +## API + +See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isabsolute_path). + +### pathIsAbsolute(path) + +### pathIsAbsolute.posix(path) + +POSIX specific version. + +### pathIsAbsolute.win32(path) + +Windows specific version. + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.editorconfig b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.editorconfig new file mode 100644 index 00000000..c035c9f2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.editorconfig @@ -0,0 +1,12 @@ +[*] +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true + +[package.json] +indent_style = space +indent_size = 2 + +[{**/*.js,**/*.css,**/*.json}] +indent_style = space +indent_size = 4 diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.travis.yml b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.travis.yml new file mode 100644 index 00000000..b0dac3d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/.travis.yml @@ -0,0 +1,8 @@ +language: node_js + +node_js: + - "8" + - "10" + - "12" + +install: npm install -g gulp; npm install diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/LICENSE new file mode 100644 index 00000000..2e55e626 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014 Google Inc. +Copyright (c) 2012-2013 Johannes Ewald + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/README.md new file mode 100644 index 00000000..fecde199 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/README.md @@ -0,0 +1,171 @@ +# Requizzle + +[![Build Status](https://travis-ci.com/hegemonic/requizzle.svg?branch=master)](https://travis-ci.com/hegemonic/requizzle) + +Swizzle a little something into your Node.js modules. + +## What's Requizzle? + +Requizzle provides a drop-in replacement for Node.js's `require()` function. +This replacement enables you to change a module's source code when Node.js loads +the module. + +You can use Requizzle in your test cases, or in production code if you like to +live dangerously. + +## How can I change a module with Requizzle? + +There are several different ways: + +### Look for modules in new places + +With Requizzle, you can add directories to the module lookup path, which forces +Node.js to search those directories for modules. This can be useful if: + ++ You're tired of writing code like `require('../../../../../lib/foo')`. ++ You want to expose your app's modules to external plugins. + +### Add code before or after the module's source code + +Tamper with modules to your heart's delight by adding arbitrary code before or +after the module's own source code. + +### Mess with child modules + +When you use Requizzle to require a module, you can force each child module's +`require` method to inherit your changes to the parent module. (By default, only +the parent module is changed.) + +## Will Requizzle break my dependencies? + +Probably not. It's true that Requizzle gives you plenty of new and exciting ways +to tamper with, and possibly break, your module dependencies. But Requizzle also +tries not to break anything on its own. In particular: + ++ **Requizzle preserves strict-mode declarations**. If a module starts with a +strict-mode declaration, Requizzle keeps it in place. Your changes will appear +after the strict-mode declaration. ++ **Requizzle leaves native modules alone**. If you use Requizzle to load one of +Node.js's built-in modules, such as `fs` or `path`, Requizzle won't mess with +it. + +## Usage + +The Requizzle module exports a single function, which returns a drop-in +replacement for `require()`. + +When you call the function, you must pass in an `options` object, which can +include any of these properties: + ++ `extras`: A pair of functions that return text to insert before or after the +module's source code. Each function accepts two parameters: `targetPath`, the +path to the required module, and `parentModule`, the `Module` object for the +module's parent. Each function must return a string. + + `extras.before`: A function that returns text to insert before the + module's source code. + + `extras.after`: A function that returns text to insert after the module's + source code. ++ `infect`: Determines whether child modules are infected with the same changes +as the parent module. Set to `true` to force child modules to inherit your +changes. Defaults to `false`. ++ `requirePaths`: Additional paths to search for required modules. For example, +if `requirePaths` is set to `['/usr/lib/junk/modules']`, and you save a +JavaScript module at `/usr/lib/junk/modules/mymodule.js`, you can require the +module as `mymodule`. + + You can provide an array of paths, which will be searched before the default + module paths, or an object with the following properties: + + + `requirePaths.before`: An array of paths to search before the default + module paths. + + `requirePaths.after`: An array of paths to search after the default module + paths. Use this property if you want the module to use its own local + dependencies when possible, then fall back to the additional paths if + necessary. + + By default, the require path is not changed. + +## Examples + +```js +const requizzle = require('requizzle'); + +// Say hello and goodbye to each module. +const logRequire = requizzle({ + extras: { + before: function(targetPath, parentModule) { + return 'console.log("Hello %s!", ' + targetPath + ');\n'; + }, + after: function(targetPath, parentModule) { + return 'console.log("Goodbye %s!", ' + targetPath + ');\n'; + } + } +}); +// Prints "Hello /path/to/mymodule.js!" and "Goodbye /path/to/mymodule.js!" +const myModule = logRequire('mymodule'); + +// Look for modules in the current module's `lib` directory, and force child +// modules to do the same. +const path = require('path'); +const extraPathRequire = requizzle({ + infect: true, + requirePaths: [path.join(__dirname, 'lib')] +}); +// If `foo` needs to require a module in `./lib`, it can use `require('bar')` +// instead of `require('./lib/bar')`. +const foo = extraPathRequire('./foo'); +``` + +## Troubleshooting + +Here are some problems you might run into when you use Requizzle, along with +solutions to each problem. If you run into any problems that aren't addressed +here, please file a new issue! + +### Requizzle slowed down my code! A lot! + +Requizzle adds minimal overhead to the module-loading process. However, your +code will run _much_ slower than usual if you do both of the following: + ++ Use Requizzle's `infect` option. ++ Require modules that have a lot of `require()` calls within the scope of +individual functions. + +If Requizzle seems to slow down your app, look for module calls that are within +function scope, then move them to each module's top-level scope. + +### Requizzle made my module do something weird! + +Do you have any +[circular dependencies](https://nodejs.org/api/modules.html#modules_cycles) in +the modules that aren't working? Circular dependencies can cause unusual +behavior with Requizzle, just as they can without Requizzle. Try breaking the +circular dependency. + +### Requizzle violates the [Law of Demeter](https://en.wikipedia.org/wiki/Law_of_Demeter)! It's an unnatural abomination! + +Fair enough. + +## Changelog + ++ 0.2.3 (July 2019): Updated dependencies. ++ 0.2.2 (May 2019): Fixed a compability issue with Node.js 12. ++ 0.2.1 (December 2014): The `requirePaths` option no longer inserts an extra +line break into the source file. ++ 0.2.0 (June 2014): The `requirePaths` option can now contain `before` and +`after` properties. Paths in the `before` property will be searched first; paths +in the `after` property will be searched last. ++ 0.1.1 (June 2014): If the `requirePaths` option is used, the module loader now +searches the extra paths first rather than last. ++ 0.1.0 (June 2014): Initial release. + +## Acknowledgements ## + +Requizzle is very loosely adapted from Johannes Ewald's +[rewire](https://github.com/jhnns/rewire) module, which is designed to modify a +module's behavior for unit testing. If Requizzle doesn't meet your needs, please +take a look at rewire! + +## License + +[MIT license](LICENSE). diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/index.js new file mode 100644 index 00000000..f5b0ca36 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/index.js @@ -0,0 +1,28 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +const _ = require('lodash'); +const Requizzle = require('./lib/requizzle'); + +module.exports = function requizzle(options) { + let instance; + + if (!options || typeof options !== 'object') { + throw new TypeError('Requizzle\'s options parameter must be a non-null object.'); + } + options = _.clone(options); + options.parent = module.parent; + + return filepath => { + instance = instance || new Requizzle(options); + + return instance.requizzle(filepath); + }; +}; +module.exports.Requizzle = Requizzle; + +// force Node.js to reload this module each time it's required, so module.parent is always correct +delete require.cache[__filename]; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/loader.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/loader.js new file mode 100644 index 00000000..40c6c189 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/loader.js @@ -0,0 +1,165 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + Copyright (c) 2012-2013 Johannes Ewald. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +const _ = require('lodash'); +const fs = require('fs'); +const Module = require('module'); + +const originalWrapper = Module.wrapper.slice(0); +const requizzleWrappers = { + extras: require('./wrappers/extras'), + requirePaths: require('./wrappers/requirepaths'), + strict: require('./wrappers/strict') +}; + +function wrap(wrappers, script) { + return wrappers[0] + script + wrappers[1]; +} + +function replaceWrapper(wrapperObj) { + const joiner = '\n'; + const before = wrapperObj.before.join(joiner); + const after = wrapperObj.after.join(joiner); + const wrappers = [ + originalWrapper[0] + before, + after + originalWrapper[1] + ]; + + Module.wrap = wrap.bind(null, wrappers); +} + +function restoreWrapper() { + Module.wrap = wrap.bind(null, originalWrapper); +} + +function createModule(targetPath, parentModule, moduleCache) { + moduleCache[targetPath] = moduleCache[targetPath] || new Module(targetPath, parentModule); + + return moduleCache[targetPath]; +} + +/** + * Wrapper for `require()` to prevent the target module's dependencies from being swizzled. + * + * @param {!Module} targetModule - The module that is being swizzled. + * @param {!function} nodeRequire - The original `require()` method for the target module. + * @param {!string} filepath - The value passed to `require()`. + * @return {!Module} The requested module dependency. + */ +function requireProxy(targetModule, nodeRequire, filepath) { + restoreWrapper(); + targetModule.require = nodeRequire; + + return nodeRequire.call(targetModule, filepath); +} + +/** + * Wrapper for `require()` to swizzle the target module's dependencies, using the same settings as + * the target module. + * + * @param {!Module} targetModule - The module that is being swizzled. + * @param {!Object} opts - The Requizzle options object. + * @param {!string} filepath - The value passed to `require()`. + * @return {!Module} The requested module dependency. + */ +function infectProxy(targetModule, cache, opts, filepath) { + let moduleExports; + // loaded here to avoid circular dependencies + const Requizzle = require('./requizzle'); + let requizzle; + + opts = _.clone(opts); + opts.parent = targetModule; + requizzle = new Requizzle(opts, cache); + + moduleExports = requizzle.requizzle(filepath); + + return moduleExports; +} + +exports.load = function load(targetPath, parentModule, wrapper, cache, options) { + let nodeRequire; + let targetModule; + + // Handle circular requires, and avoid reloading modules unnecessarily + if (cache.module[targetPath]) { + return cache.module[targetPath]; + } + + targetModule = createModule(targetPath, parentModule, cache.module); + nodeRequire = targetModule.require; + + if (options.infect) { + targetModule.require = filepath => infectProxy(targetModule, cache, options, filepath); + } else { + targetModule.require = filepath => requireProxy(targetModule, nodeRequire, filepath); + } + + // update the wrapper before we load the target module + replaceWrapper(wrapper); + + targetModule.load(targetModule.id); + + // make sure the wrapper is restored even if the target module doesn't load any dependencies + restoreWrapper(); + + return targetModule; +}; + +/** + * Check whether the entire module includes a `'use strict'` declaration. + * + * @param {string} src - The source file to check. + * @return {boolean} Set to `true` if the module includes a `use strict` declaration. + */ +function detectStrictMode(src) { + return (/^\s*(?:["']use strict["'])[ \t]*(?:[\r\n]|;)/g).test(src); +} + +function loadSource(targetPath, sourceCache) { + if (sourceCache[targetPath] === undefined) { + sourceCache[targetPath] = fs.readFileSync(targetPath, 'utf8'); + } + + return sourceCache[targetPath]; +} + +exports.createWrapper = function createWrapper(targetPath, parentModule, cache, options) { + let src; + const wrapperObject = { + before: [], + after: [] + }; + + function add(wrapperFunctions, opts) { + const params = [targetPath, parentModule, opts]; + + ['before', 'after'].forEach(item => { + const result = wrapperFunctions[item].apply(null, params); + + if (result) { + wrapperObject[item].push(result); + } + }); + } + + // Preserve the module's `use strict` declaration if present + src = loadSource(targetPath, cache.source); + if (detectStrictMode(src) === true) { + add(requizzleWrappers.strict); + } + + if (options.requirePaths) { + add(requizzleWrappers.requirePaths, options.requirePaths); + } + + if (options.extras) { + add(requizzleWrappers.extras, options.extras); + } + + return wrapperObject; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/requizzle.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/requizzle.js new file mode 100644 index 00000000..71eeacc3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/requizzle.js @@ -0,0 +1,93 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + Copyright (c) 2012-2013 Johannes Ewald. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +/** @module lib/requizzle */ + +const loader = require('./loader'); +const Module = require('module'); + +/** + * Function that returns text to swizzle into the module. + * + * @typedef module:lib/requizzle~wrapperFunction + * @type {function} + * @param {string} targetPath - The path to the target module. + * @param {string} parentModulePath - The path to the module that is requiring the target module. + * @return {string} The text to insert before or after the module's source code. + */ + +/** + * Options for the wrappers that will be swizzled into the target module. + * + * @typedef module:lib/requizzle~options + * @type {Object} + * @property {Object=} options.extras - Functions that generate text to swizzle into the target + * module. + * @property {module:lib/requizzle~wrapperFunction} options.extras.after - Function that returns + * text to insert after the module's source code. + * @property {module:lib/requizzle~wrapperFunction} options.extras.before - Function that returns + * text to insert before the module's source code. + * @property {(Array.|string)} options.requirePaths - Additional paths to search when + * resolving module paths in the target module. + */ + +function isNativeModule(targetPath, parentModule) { + const lookupPaths = Module._resolveLookupPaths(targetPath, parentModule, true); + + /* istanbul ignore next */ + return lookupPaths === null || + (lookupPaths.length === 2 && + lookupPaths[1].length === 0 && + lookupPaths[0] === targetPath); +} + +/** + * Create a `Requizzle` instance. If you provide options, Requizzle will default to those options + * when you call {@link Requizzle#requizzle}. + * + * @class + * @param {!module:lib/requizzle~options} options - Options for the wrappers that will be swizzled + * into the target module. + * @param {Object=} cache - For internal use. + */ +class Requizzle { + constructor(options, cache) { + this._options = options; + this._cache = cache || { + module: {}, + source: {} + }; + } + + /** + * Load the module, swizzling in the requested changes. + * + * @param {!string} targetPath - The path to the module that will be loaded. + * @return {Module} The swizzled module. + */ + requizzle(targetPath) { + const options = this._options; + const parentModule = options.parent; + let targetModule; + let wrapper; + + // Don't interfere with native modules + if (isNativeModule(targetPath, parentModule)) { + return require(targetPath); + } + + // Resolve the filename relative to the parent module + targetPath = Module._resolveFilename(targetPath, parentModule); + + wrapper = loader.createWrapper(targetPath, parentModule, this._cache, this._options); + targetModule = loader.load(targetPath, parentModule, wrapper, this._cache, this._options); + + return targetModule.exports; + } +} + +module.exports = Requizzle; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/extras.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/extras.js new file mode 100644 index 00000000..e1c4eb16 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/extras.js @@ -0,0 +1,21 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +function callFunction(targetPath, parentModule, func) { + if (!func) { + return ''; + } + + return func(targetPath, parentModule); +} + +exports.before = function before(targetPath, parentModule, options) { + return callFunction(targetPath, parentModule, options.before); +}; + +exports.after = function after(targetPath, parentModule, options) { + return callFunction(targetPath, parentModule, options.after); +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/requirepaths.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/requirepaths.js new file mode 100644 index 00000000..fb62a25e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/requirepaths.js @@ -0,0 +1,46 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +const path = require('path'); + +function resolvePaths({filepath}, paths) { + if (!paths) { + return []; + } + + return paths.slice(0).map(p => path.resolve(filepath, p)); +} + +function requirePaths(parentModule, opts) { + const result = { + before: [], + after: [] + }; + + if (!parentModule) { + return result; + } + + if (Array.isArray(opts)) { + result.before = resolvePaths(parentModule, opts); + } else { + result.before = resolvePaths(parentModule, opts.before); + result.after = resolvePaths(parentModule, opts.after); + } + + return result; +} + +exports.before = function before(targetPath, parentModule, opts) { + const resolvedPaths = requirePaths(parentModule, opts); + + return `module.paths = ${JSON.stringify(resolvedPaths.before)}.concat(module.paths)` + + `.concat(${JSON.stringify(resolvedPaths.after)}); `; +}; + +exports.after = function after() { + return ''; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/strict.js b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/strict.js new file mode 100644 index 00000000..9e98117d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/lib/wrappers/strict.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2014 Google Inc. All rights reserved. + + Use of this source code is governed by the MIT License, available in this package's LICENSE file + or at http://opensource.org/licenses/MIT. + */ +exports.before = function before() { + return '"use strict";'; +}; + +exports.after = function after() { + return ''; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/package.json new file mode 100644 index 00000000..685a7915 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/requizzle/package.json @@ -0,0 +1,36 @@ +{ + "name": "requizzle", + "version": "0.2.3", + "description": "Swizzle a little something into your require() calls.", + "main": "index.js", + "scripts": { + "test": "gulp test" + }, + "repository": { + "type": "git", + "url": "git://github.com/hegemonic/requizzle.git" + }, + "keywords": [ + "module", + "modules", + "require", + "inject", + "dependency", + "swizzle" + ], + "author": "Jeff Williams ", + "license": "MIT", + "bugs": { + "url": "https://github.com/hegemonic/requizzle/issues" + }, + "homepage": "https://github.com/hegemonic/requizzle", + "dependencies": { + "lodash": "^4.17.14" + }, + "devDependencies": { + "expectations": "^1.0.0", + "gulp": "^4.0.2", + "gulp-eslint": "^6.0.0", + "gulp-mocha": "^6.0.0" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/CHANGELOG.md new file mode 100644 index 00000000..f116f141 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/CHANGELOG.md @@ -0,0 +1,65 @@ +# v3.0 + +- Add `--preserve-root` option to executable (default true) +- Drop support for Node.js below version 6 + +# v2.7 + +- Make `glob` an optional dependency + +# 2.6 + +- Retry on EBUSY on non-windows platforms as well +- Make `rimraf.sync` 10000% more reliable on Windows + +# 2.5 + +- Handle Windows EPERM when lstat-ing read-only dirs +- Add glob option to pass options to glob + +# 2.4 + +- Add EPERM to delay/retry loop +- Add `disableGlob` option + +# 2.3 + +- Make maxBusyTries and emfileWait configurable +- Handle weird SunOS unlink-dir issue +- Glob the CLI arg for better Windows support + +# 2.2 + +- Handle ENOENT properly on Windows +- Allow overriding fs methods +- Treat EPERM as indicative of non-empty dir +- Remove optional graceful-fs dep +- Consistently return null error instead of undefined on success +- win32: Treat ENOTEMPTY the same as EBUSY +- Add `rimraf` binary + +# 2.1 + +- Fix SunOS error code for a non-empty directory +- Try rmdir before readdir +- Treat EISDIR like EPERM +- Remove chmod +- Remove lstat polyfill, node 0.7 is not supported + +# 2.0 + +- Fix myGid call to check process.getgid +- Simplify the EBUSY backoff logic. +- Use fs.lstat in node >= 0.7.9 +- Remove gently option +- remove fiber implementation +- Delete files that are marked read-only + +# 1.0 + +- Allow ENOENT in sync method +- Throw when no callback is provided +- Make opts.gently an absolute path +- use 'stat' if 'lstat' is not available +- Consistent error naming, and rethrow non-ENOENT stat errors +- add fiber implementation diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/README.md new file mode 100644 index 00000000..423b8cf8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/README.md @@ -0,0 +1,101 @@ +[![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies) + +The [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node. + +Install with `npm install rimraf`, or just drop rimraf.js somewhere. + +## API + +`rimraf(f, [opts], callback)` + +The first parameter will be interpreted as a globbing pattern for files. If you +want to disable globbing you can do so with `opts.disableGlob` (defaults to +`false`). This might be handy, for instance, if you have filenames that contain +globbing wildcard characters. + +The callback will be called with an error if there is one. Certain +errors are handled for you: + +* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of + `opts.maxBusyTries` times before giving up, adding 100ms of wait + between each attempt. The default `maxBusyTries` is 3. +* `ENOENT` - If the file doesn't exist, rimraf will return + successfully, since your desired outcome is already the case. +* `EMFILE` - Since `readdir` requires opening a file descriptor, it's + possible to hit `EMFILE` if too many file descriptors are in use. + In the sync case, there's nothing to be done for this. But in the + async case, rimraf will gradually back off with timeouts up to + `opts.emfileWait` ms, which defaults to 1000. + +## options + +* unlink, chmod, stat, lstat, rmdir, readdir, + unlinkSync, chmodSync, statSync, lstatSync, rmdirSync, readdirSync + + In order to use a custom file system library, you can override + specific fs functions on the options object. + + If any of these functions are present on the options object, then + the supplied function will be used instead of the default fs + method. + + Sync methods are only relevant for `rimraf.sync()`, of course. + + For example: + + ```javascript + var myCustomFS = require('some-custom-fs') + + rimraf('some-thing', myCustomFS, callback) + ``` + +* maxBusyTries + + If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error code is encountered + on Windows systems, then rimraf will retry with a linear backoff + wait of 100ms longer on each try. The default maxBusyTries is 3. + + Only relevant for async usage. + +* emfileWait + + If an `EMFILE` error is encountered, then rimraf will retry + repeatedly with a linear backoff of 1ms longer on each try, until + the timeout counter hits this max. The default limit is 1000. + + If you repeatedly encounter `EMFILE` errors, then consider using + [graceful-fs](http://npm.im/graceful-fs) in your program. + + Only relevant for async usage. + +* glob + + Set to `false` to disable [glob](http://npm.im/glob) pattern + matching. + + Set to an object to pass options to the glob module. The default + glob options are `{ nosort: true, silent: true }`. + + Glob version 6 is used in this module. + + Relevant for both sync and async usage. + +* disableGlob + + Set to any non-falsey value to disable globbing entirely. + (Equivalent to setting `glob: false`.) + +## rimraf.sync + +It can remove stuff synchronously, too. But that's not so good. Use +the async API. It's better. + +## CLI + +If installed with `npm install rimraf -g` it can be used as a global +command `rimraf [ ...]` which is useful for cross platform support. + +## mkdirp + +If you need to create a directory recursively, check out +[mkdirp](https://github.com/substack/node-mkdirp). diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/bin.js b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/bin.js new file mode 100755 index 00000000..023814cc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/bin.js @@ -0,0 +1,68 @@ +#!/usr/bin/env node + +const rimraf = require('./') + +const path = require('path') + +const isRoot = arg => /^(\/|[a-zA-Z]:\\)$/.test(path.resolve(arg)) +const filterOutRoot = arg => { + const ok = preserveRoot === false || !isRoot(arg) + if (!ok) { + console.error(`refusing to remove ${arg}`) + console.error('Set --no-preserve-root to allow this') + } + return ok +} + +let help = false +let dashdash = false +let noglob = false +let preserveRoot = true +const args = process.argv.slice(2).filter(arg => { + if (dashdash) + return !!arg + else if (arg === '--') + dashdash = true + else if (arg === '--no-glob' || arg === '-G') + noglob = true + else if (arg === '--glob' || arg === '-g') + noglob = false + else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/)) + help = true + else if (arg === '--preserve-root') + preserveRoot = true + else if (arg === '--no-preserve-root') + preserveRoot = false + else + return !!arg +}).filter(arg => !preserveRoot || filterOutRoot(arg)) + +const go = n => { + if (n >= args.length) + return + const options = noglob ? { glob: false } : {} + rimraf(args[n], options, er => { + if (er) + throw er + go(n+1) + }) +} + +if (help || args.length === 0) { + // If they didn't ask for help, then this is not a "success" + const log = help ? console.log : console.error + log('Usage: rimraf [ ...]') + log('') + log(' Deletes all files and folders at "path" recursively.') + log('') + log('Options:') + log('') + log(' -h, --help Display this usage info') + log(' -G, --no-glob Do not expand glob patterns in arguments') + log(' -g, --glob Expand glob patterns in arguments (default)') + log(' --preserve-root Do not remove \'/\' (default)') + log(' --no-preserve-root Do not treat \'/\' specially') + log(' -- Stop parsing flags') + process.exit(help ? 0 : 1) +} else + go(0) diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/package.json new file mode 100644 index 00000000..1bf8d5e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/package.json @@ -0,0 +1,32 @@ +{ + "name": "rimraf", + "version": "3.0.2", + "main": "rimraf.js", + "description": "A deep deletion module for node (like `rm -rf`)", + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "repository": "git://github.com/isaacs/rimraf.git", + "scripts": { + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags", + "test": "tap test/*.js" + }, + "bin": "./bin.js", + "dependencies": { + "glob": "^7.1.3" + }, + "files": [ + "LICENSE", + "README.md", + "bin.js", + "rimraf.js" + ], + "devDependencies": { + "mkdirp": "^0.5.1", + "tap": "^12.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/rimraf.js b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/rimraf.js new file mode 100644 index 00000000..34da4171 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/rimraf/rimraf.js @@ -0,0 +1,360 @@ +const assert = require("assert") +const path = require("path") +const fs = require("fs") +let glob = undefined +try { + glob = require("glob") +} catch (_err) { + // treat glob as optional. +} + +const defaultGlobOpts = { + nosort: true, + silent: true +} + +// for EMFILE handling +let timeout = 0 + +const isWindows = (process.platform === "win32") + +const defaults = options => { + const methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(m => { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) + + options.maxBusyTries = options.maxBusyTries || 3 + options.emfileWait = options.emfileWait || 1000 + if (options.glob === false) { + options.disableGlob = true + } + if (options.disableGlob !== true && glob === undefined) { + throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') + } + options.disableGlob = options.disableGlob || false + options.glob = options.glob || defaultGlobOpts +} + +const rimraf = (p, options, cb) => { + if (typeof options === 'function') { + cb = options + options = {} + } + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert.equal(typeof cb, 'function', 'rimraf: callback function required') + assert(options, 'rimraf: invalid options argument provided') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + defaults(options) + + let busyTries = 0 + let errState = null + let n = 0 + + const next = (er) => { + errState = errState || er + if (--n === 0) + cb(errState) + } + + const afterGlob = (er, results) => { + if (er) + return cb(er) + + n = results.length + if (n === 0) + return cb() + + results.forEach(p => { + const CB = (er) => { + if (er) { + if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && + busyTries < options.maxBusyTries) { + busyTries ++ + // try again, with the same exact callback as this one. + return setTimeout(() => rimraf_(p, options, CB), busyTries * 100) + } + + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < options.emfileWait) { + return setTimeout(() => rimraf_(p, options, CB), timeout ++) + } + + // already gone + if (er.code === "ENOENT") er = null + } + + timeout = 0 + next(er) + } + rimraf_(p, options, CB) + }) + } + + if (options.disableGlob || !glob.hasMagic(p)) + return afterGlob(null, [p]) + + options.lstat(p, (er, stat) => { + if (!er) + return afterGlob(null, [p]) + + glob(p, options.glob, afterGlob) + }) + +} + +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +const rimraf_ = (p, options, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, (er, st) => { + if (er && er.code === "ENOENT") + return cb(null) + + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === "EPERM" && isWindows) + fixWinEPERM(p, options, er, cb) + + if (st && st.isDirectory()) + return rmdir(p, options, er, cb) + + options.unlink(p, er => { + if (er) { + if (er.code === "ENOENT") + return cb(null) + if (er.code === "EPERM") + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + if (er.code === "EISDIR") + return rmdir(p, options, er, cb) + } + return cb(er) + }) + }) +} + +const fixWinEPERM = (p, options, er, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.chmod(p, 0o666, er2 => { + if (er2) + cb(er2.code === "ENOENT" ? null : er) + else + options.stat(p, (er3, stats) => { + if (er3) + cb(er3.code === "ENOENT" ? null : er) + else if (stats.isDirectory()) + rmdir(p, options, er, cb) + else + options.unlink(p, cb) + }) + }) +} + +const fixWinEPERMSync = (p, options, er) => { + assert(p) + assert(options) + + try { + options.chmodSync(p, 0o666) + } catch (er2) { + if (er2.code === "ENOENT") + return + else + throw er + } + + let stats + try { + stats = options.statSync(p) + } catch (er3) { + if (er3.code === "ENOENT") + return + else + throw er + } + + if (stats.isDirectory()) + rmdirSync(p, options, er) + else + options.unlinkSync(p) +} + +const rmdir = (p, options, originalEr, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, er => { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) + rmkids(p, options, cb) + else if (er && er.code === "ENOTDIR") + cb(originalEr) + else + cb(er) + }) +} + +const rmkids = (p, options, cb) => { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.readdir(p, (er, files) => { + if (er) + return cb(er) + let n = files.length + if (n === 0) + return options.rmdir(p, cb) + let errState + files.forEach(f => { + rimraf(path.join(p, f), options, er => { + if (errState) + return + if (er) + return cb(errState = er) + if (--n === 0) + options.rmdir(p, cb) + }) + }) + }) +} + +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +const rimrafSync = (p, options) => { + options = options || {} + defaults(options) + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + let results + + if (options.disableGlob || !glob.hasMagic(p)) { + results = [p] + } else { + try { + options.lstatSync(p) + results = [p] + } catch (er) { + results = glob.sync(p, options.glob) + } + } + + if (!results.length) + return + + for (let i = 0; i < results.length; i++) { + const p = results[i] + + let st + try { + st = options.lstatSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + + // Windows can EPERM on stat. Life is suffering. + if (er.code === "EPERM" && isWindows) + fixWinEPERMSync(p, options, er) + } + + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) + rmdirSync(p, options, null) + else + options.unlinkSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "EPERM") + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + if (er.code !== "EISDIR") + throw er + + rmdirSync(p, options, er) + } + } +} + +const rmdirSync = (p, options, originalEr) => { + assert(p) + assert(options) + + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "ENOTDIR") + throw originalEr + if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") + rmkidsSync(p, options) + } +} + +const rmkidsSync = (p, options) => { + assert(p) + assert(options) + options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options)) + + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + const retries = isWindows ? 100 : 1 + let i = 0 + do { + let threw = true + try { + const ret = options.rmdirSync(p, options) + threw = false + return ret + } finally { + if (++i < retries && threw) + continue + } + } while (true) +} + +module.exports = rimraf +rimraf.sync = rimrafSync diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/CHANGELOG.md new file mode 100644 index 00000000..3a8c066c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/CHANGELOG.md @@ -0,0 +1,301 @@ +# Change Log + +## 0.5.6 + +* Fix for regression when people were using numbers as names in source maps. See + #236. + +## 0.5.5 + +* Fix "regression" of unsupported, implementation behavior that half the world + happens to have come to depend on. See #235. + +* Fix regression involving function hoisting in SpiderMonkey. See #233. + +## 0.5.4 + +* Large performance improvements to source-map serialization. See #228 and #229. + +## 0.5.3 + +* Do not include unnecessary distribution files. See + commit ef7006f8d1647e0a83fdc60f04f5a7ca54886f86. + +## 0.5.2 + +* Include browser distributions of the library in package.json's `files`. See + issue #212. + +## 0.5.1 + +* Fix latent bugs in IndexedSourceMapConsumer.prototype._parseMappings. See + ff05274becc9e6e1295ed60f3ea090d31d843379. + +## 0.5.0 + +* Node 0.8 is no longer supported. + +* Use webpack instead of dryice for bundling. + +* Big speedups serializing source maps. See pull request #203. + +* Fix a bug with `SourceMapConsumer.prototype.sourceContentFor` and sources that + explicitly start with the source root. See issue #199. + +## 0.4.4 + +* Fix an issue where using a `SourceMapGenerator` after having created a + `SourceMapConsumer` from it via `SourceMapConsumer.fromSourceMap` failed. See + issue #191. + +* Fix an issue with where `SourceMapGenerator` would mistakenly consider + different mappings as duplicates of each other and avoid generating them. See + issue #192. + +## 0.4.3 + +* A very large number of performance improvements, particularly when parsing + source maps. Collectively about 75% of time shaved off of the source map + parsing benchmark! + +* Fix a bug in `SourceMapConsumer.prototype.allGeneratedPositionsFor` and fuzzy + searching in the presence of a column option. See issue #177. + +* Fix a bug with joining a source and its source root when the source is above + the root. See issue #182. + +* Add the `SourceMapConsumer.prototype.hasContentsOfAllSources` method to + determine when all sources' contents are inlined into the source map. See + issue #190. + +## 0.4.2 + +* Add an `.npmignore` file so that the benchmarks aren't pulled down by + dependent projects. Issue #169. + +* Add an optional `column` argument to + `SourceMapConsumer.prototype.allGeneratedPositionsFor` and better handle lines + with no mappings. Issues #172 and #173. + +## 0.4.1 + +* Fix accidentally defining a global variable. #170. + +## 0.4.0 + +* The default direction for fuzzy searching was changed back to its original + direction. See #164. + +* There is now a `bias` option you can supply to `SourceMapConsumer` to control + the fuzzy searching direction. See #167. + +* About an 8% speed up in parsing source maps. See #159. + +* Added a benchmark for parsing and generating source maps. + +## 0.3.0 + +* Change the default direction that searching for positions fuzzes when there is + not an exact match. See #154. + +* Support for environments using json2.js for JSON serialization. See #156. + +## 0.2.0 + +* Support for consuming "indexed" source maps which do not have any remote + sections. See pull request #127. This introduces a minor backwards + incompatibility if you are monkey patching `SourceMapConsumer.prototype` + methods. + +## 0.1.43 + +* Performance improvements for `SourceMapGenerator` and `SourceNode`. See issue + #148 for some discussion and issues #150, #151, and #152 for implementations. + +## 0.1.42 + +* Fix an issue where `SourceNode`s from different versions of the source-map + library couldn't be used in conjunction with each other. See issue #142. + +## 0.1.41 + +* Fix a bug with getting the source content of relative sources with a "./" + prefix. See issue #145 and [Bug 1090768](bugzil.la/1090768). + +* Add the `SourceMapConsumer.prototype.computeColumnSpans` method to compute the + column span of each mapping. + +* Add the `SourceMapConsumer.prototype.allGeneratedPositionsFor` method to find + all generated positions associated with a given original source and line. + +## 0.1.40 + +* Performance improvements for parsing source maps in SourceMapConsumer. + +## 0.1.39 + +* Fix a bug where setting a source's contents to null before any source content + had been set before threw a TypeError. See issue #131. + +## 0.1.38 + +* Fix a bug where finding relative paths from an empty path were creating + absolute paths. See issue #129. + +## 0.1.37 + +* Fix a bug where if the source root was an empty string, relative source paths + would turn into absolute source paths. Issue #124. + +## 0.1.36 + +* Allow the `names` mapping property to be an empty string. Issue #121. + +## 0.1.35 + +* A third optional parameter was added to `SourceNode.fromStringWithSourceMap` + to specify a path that relative sources in the second parameter should be + relative to. Issue #105. + +* If no file property is given to a `SourceMapGenerator`, then the resulting + source map will no longer have a `null` file property. The property will + simply not exist. Issue #104. + +* Fixed a bug where consecutive newlines were ignored in `SourceNode`s. + Issue #116. + +## 0.1.34 + +* Make `SourceNode` work with windows style ("\r\n") newlines. Issue #103. + +* Fix bug involving source contents and the + `SourceMapGenerator.prototype.applySourceMap`. Issue #100. + +## 0.1.33 + +* Fix some edge cases surrounding path joining and URL resolution. + +* Add a third parameter for relative path to + `SourceMapGenerator.prototype.applySourceMap`. + +* Fix issues with mappings and EOLs. + +## 0.1.32 + +* Fixed a bug where SourceMapConsumer couldn't handle negative relative columns + (issue 92). + +* Fixed test runner to actually report number of failed tests as its process + exit code. + +* Fixed a typo when reporting bad mappings (issue 87). + +## 0.1.31 + +* Delay parsing the mappings in SourceMapConsumer until queried for a source + location. + +* Support Sass source maps (which at the time of writing deviate from the spec + in small ways) in SourceMapConsumer. + +## 0.1.30 + +* Do not join source root with a source, when the source is a data URI. + +* Extend the test runner to allow running single specific test files at a time. + +* Performance improvements in `SourceNode.prototype.walk` and + `SourceMapConsumer.prototype.eachMapping`. + +* Source map browser builds will now work inside Workers. + +* Better error messages when attempting to add an invalid mapping to a + `SourceMapGenerator`. + +## 0.1.29 + +* Allow duplicate entries in the `names` and `sources` arrays of source maps + (usually from TypeScript) we are parsing. Fixes github issue 72. + +## 0.1.28 + +* Skip duplicate mappings when creating source maps from SourceNode; github + issue 75. + +## 0.1.27 + +* Don't throw an error when the `file` property is missing in SourceMapConsumer, + we don't use it anyway. + +## 0.1.26 + +* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70. + +## 0.1.25 + +* Make compatible with browserify + +## 0.1.24 + +* Fix issue with absolute paths and `file://` URIs. See + https://bugzilla.mozilla.org/show_bug.cgi?id=885597 + +## 0.1.23 + +* Fix issue with absolute paths and sourcesContent, github issue 64. + +## 0.1.22 + +* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. + +## 0.1.21 + +* Fixed handling of sources that start with a slash so that they are relative to + the source root's host. + +## 0.1.20 + +* Fixed github issue #43: absolute URLs aren't joined with the source root + anymore. + +## 0.1.19 + +* Using Travis CI to run tests. + +## 0.1.18 + +* Fixed a bug in the handling of sourceRoot. + +## 0.1.17 + +* Added SourceNode.fromStringWithSourceMap. + +## 0.1.16 + +* Added missing documentation. + +* Fixed the generating of empty mappings in SourceNode. + +## 0.1.15 + +* Added SourceMapGenerator.applySourceMap. + +## 0.1.14 + +* The sourceRoot is now handled consistently. + +## 0.1.13 + +* Added SourceMapGenerator.fromSourceMap. + +## 0.1.12 + +* SourceNode now generates empty mappings too. + +## 0.1.11 + +* Added name support to SourceNode. + +## 0.1.10 + +* Added sourcesContent support to the customer and generator. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/LICENSE new file mode 100644 index 00000000..ed1b7cf2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/LICENSE @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2011, Mozilla Foundation and contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/README.md new file mode 100644 index 00000000..fea4beb1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/README.md @@ -0,0 +1,742 @@ +# Source Map + +[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) + +[![NPM](https://nodei.co/npm/source-map.png?downloads=true&downloadRank=true)](https://www.npmjs.com/package/source-map) + +This is a library to generate and consume the source map format +[described here][format]. + +[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit + +## Use with Node + + $ npm install source-map + +## Use on the Web + + + +-------------------------------------------------------------------------------- + + + + + +## Table of Contents + +- [Examples](#examples) + - [Consuming a source map](#consuming-a-source-map) + - [Generating a source map](#generating-a-source-map) + - [With SourceNode (high level API)](#with-sourcenode-high-level-api) + - [With SourceMapGenerator (low level API)](#with-sourcemapgenerator-low-level-api) +- [API](#api) + - [SourceMapConsumer](#sourcemapconsumer) + - [new SourceMapConsumer(rawSourceMap)](#new-sourcemapconsumerrawsourcemap) + - [SourceMapConsumer.prototype.computeColumnSpans()](#sourcemapconsumerprototypecomputecolumnspans) + - [SourceMapConsumer.prototype.originalPositionFor(generatedPosition)](#sourcemapconsumerprototypeoriginalpositionforgeneratedposition) + - [SourceMapConsumer.prototype.generatedPositionFor(originalPosition)](#sourcemapconsumerprototypegeneratedpositionfororiginalposition) + - [SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)](#sourcemapconsumerprototypeallgeneratedpositionsfororiginalposition) + - [SourceMapConsumer.prototype.hasContentsOfAllSources()](#sourcemapconsumerprototypehascontentsofallsources) + - [SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])](#sourcemapconsumerprototypesourcecontentforsource-returnnullonmissing) + - [SourceMapConsumer.prototype.eachMapping(callback, context, order)](#sourcemapconsumerprototypeeachmappingcallback-context-order) + - [SourceMapGenerator](#sourcemapgenerator) + - [new SourceMapGenerator([startOfSourceMap])](#new-sourcemapgeneratorstartofsourcemap) + - [SourceMapGenerator.fromSourceMap(sourceMapConsumer)](#sourcemapgeneratorfromsourcemapsourcemapconsumer) + - [SourceMapGenerator.prototype.addMapping(mapping)](#sourcemapgeneratorprototypeaddmappingmapping) + - [SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)](#sourcemapgeneratorprototypesetsourcecontentsourcefile-sourcecontent) + - [SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])](#sourcemapgeneratorprototypeapplysourcemapsourcemapconsumer-sourcefile-sourcemappath) + - [SourceMapGenerator.prototype.toString()](#sourcemapgeneratorprototypetostring) + - [SourceNode](#sourcenode) + - [new SourceNode([line, column, source[, chunk[, name]]])](#new-sourcenodeline-column-source-chunk-name) + - [SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])](#sourcenodefromstringwithsourcemapcode-sourcemapconsumer-relativepath) + - [SourceNode.prototype.add(chunk)](#sourcenodeprototypeaddchunk) + - [SourceNode.prototype.prepend(chunk)](#sourcenodeprototypeprependchunk) + - [SourceNode.prototype.setSourceContent(sourceFile, sourceContent)](#sourcenodeprototypesetsourcecontentsourcefile-sourcecontent) + - [SourceNode.prototype.walk(fn)](#sourcenodeprototypewalkfn) + - [SourceNode.prototype.walkSourceContents(fn)](#sourcenodeprototypewalksourcecontentsfn) + - [SourceNode.prototype.join(sep)](#sourcenodeprototypejoinsep) + - [SourceNode.prototype.replaceRight(pattern, replacement)](#sourcenodeprototypereplacerightpattern-replacement) + - [SourceNode.prototype.toString()](#sourcenodeprototypetostring) + - [SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])](#sourcenodeprototypetostringwithsourcemapstartofsourcemap) + + + +## Examples + +### Consuming a source map + +```js +var rawSourceMap = { + version: 3, + file: 'min.js', + names: ['bar', 'baz', 'n'], + sources: ['one.js', 'two.js'], + sourceRoot: 'http://example.com/www/js/', + mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' +}; + +var smc = new SourceMapConsumer(rawSourceMap); + +console.log(smc.sources); +// [ 'http://example.com/www/js/one.js', +// 'http://example.com/www/js/two.js' ] + +console.log(smc.originalPositionFor({ + line: 2, + column: 28 +})); +// { source: 'http://example.com/www/js/two.js', +// line: 2, +// column: 10, +// name: 'n' } + +console.log(smc.generatedPositionFor({ + source: 'http://example.com/www/js/two.js', + line: 2, + column: 10 +})); +// { line: 2, column: 28 } + +smc.eachMapping(function (m) { + // ... +}); +``` + +### Generating a source map + +In depth guide: +[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/) + +#### With SourceNode (high level API) + +```js +function compile(ast) { + switch (ast.type) { + case 'BinaryExpression': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + [compile(ast.left), " + ", compile(ast.right)] + ); + case 'Literal': + return new SourceNode( + ast.location.line, + ast.location.column, + ast.location.source, + String(ast.value) + ); + // ... + default: + throw new Error("Bad AST"); + } +} + +var ast = parse("40 + 2", "add.js"); +console.log(compile(ast).toStringWithSourceMap({ + file: 'add.js' +})); +// { code: '40 + 2', +// map: [object SourceMapGenerator] } +``` + +#### With SourceMapGenerator (low level API) + +```js +var map = new SourceMapGenerator({ + file: "source-mapped.js" +}); + +map.addMapping({ + generated: { + line: 10, + column: 35 + }, + source: "foo.js", + original: { + line: 33, + column: 2 + }, + name: "christopher" +}); + +console.log(map.toString()); +// '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}' +``` + +## API + +Get a reference to the module: + +```js +// Node.js +var sourceMap = require('source-map'); + +// Browser builds +var sourceMap = window.sourceMap; + +// Inside Firefox +const sourceMap = require("devtools/toolkit/sourcemap/source-map.js"); +``` + +### SourceMapConsumer + +A SourceMapConsumer instance represents a parsed source map which we can query +for information about the original file positions by giving it a file position +in the generated source. + +#### new SourceMapConsumer(rawSourceMap) + +The only parameter is the raw source map (either as a string which can be +`JSON.parse`'d, or an object). According to the spec, source maps have the +following attributes: + +* `version`: Which version of the source map spec this map is following. + +* `sources`: An array of URLs to the original source files. + +* `names`: An array of identifiers which can be referenced by individual + mappings. + +* `sourceRoot`: Optional. The URL root from which all sources are relative. + +* `sourcesContent`: Optional. An array of contents of the original source files. + +* `mappings`: A string of base64 VLQs which contain the actual mappings. + +* `file`: Optional. The generated filename this source map is associated with. + +```js +var consumer = new sourceMap.SourceMapConsumer(rawSourceMapJsonData); +``` + +#### SourceMapConsumer.prototype.computeColumnSpans() + +Compute the last column for each generated mapping. The last column is +inclusive. + +```js +// Before: +consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" }) +// [ { line: 2, +// column: 1 }, +// { line: 2, +// column: 10 }, +// { line: 2, +// column: 20 } ] + +consumer.computeColumnSpans(); + +// After: +consumer.allGeneratedPositionsFor({ line: 2, source: "foo.coffee" }) +// [ { line: 2, +// column: 1, +// lastColumn: 9 }, +// { line: 2, +// column: 10, +// lastColumn: 19 }, +// { line: 2, +// column: 20, +// lastColumn: Infinity } ] + +``` + +#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) + +Returns the original source, line, and column information for the generated +source's line and column positions provided. The only argument is an object with +the following properties: + +* `line`: The line number in the generated source. Line numbers in + this library are 1-based (note that the underlying source map + specification uses 0-based line numbers -- this library handles the + translation). + +* `column`: The column number in the generated source. Column numbers + in this library are 0-based. + +* `bias`: Either `SourceMapConsumer.GREATEST_LOWER_BOUND` or + `SourceMapConsumer.LEAST_UPPER_BOUND`. Specifies whether to return the closest + element that is smaller than or greater than the one we are searching for, + respectively, if the exact element cannot be found. Defaults to + `SourceMapConsumer.GREATEST_LOWER_BOUND`. + +and an object is returned with the following properties: + +* `source`: The original source file, or null if this information is not + available. + +* `line`: The line number in the original source, or null if this information is + not available. The line number is 1-based. + +* `column`: The column number in the original source, or null if this + information is not available. The column number is 0-based. + +* `name`: The original identifier, or null if this information is not available. + +```js +consumer.originalPositionFor({ line: 2, column: 10 }) +// { source: 'foo.coffee', +// line: 2, +// column: 2, +// name: null } + +consumer.originalPositionFor({ line: 99999999999999999, column: 999999999999999 }) +// { source: null, +// line: null, +// column: null, +// name: null } +``` + +#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) + +Returns the generated line and column information for the original source, +line, and column positions provided. The only argument is an object with +the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. The line number is + 1-based. + +* `column`: The column number in the original source. The column + number is 0-based. + +and an object is returned with the following properties: + +* `line`: The line number in the generated source, or null. The line + number is 1-based. + +* `column`: The column number in the generated source, or null. The + column number is 0-based. + +```js +consumer.generatedPositionFor({ source: "example.js", line: 2, column: 10 }) +// { line: 1, +// column: 56 } +``` + +#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition) + +Returns all generated line and column information for the original source, line, +and column provided. If no column is provided, returns all mappings +corresponding to a either the line we are searching for or the next closest line +that has any mappings. Otherwise, returns all mappings corresponding to the +given line and either the column we are searching for or the next closest column +that has any offsets. + +The only argument is an object with the following properties: + +* `source`: The filename of the original source. + +* `line`: The line number in the original source. The line number is + 1-based. + +* `column`: Optional. The column number in the original source. The + column number is 0-based. + +and an array of objects is returned, each with the following properties: + +* `line`: The line number in the generated source, or null. The line + number is 1-based. + +* `column`: The column number in the generated source, or null. The + column number is 0-based. + +```js +consumer.allGeneratedpositionsfor({ line: 2, source: "foo.coffee" }) +// [ { line: 2, +// column: 1 }, +// { line: 2, +// column: 10 }, +// { line: 2, +// column: 20 } ] +``` + +#### SourceMapConsumer.prototype.hasContentsOfAllSources() + +Return true if we have the embedded source content for every source listed in +the source map, false otherwise. + +In other words, if this method returns `true`, then +`consumer.sourceContentFor(s)` will succeed for every source `s` in +`consumer.sources`. + +```js +// ... +if (consumer.hasContentsOfAllSources()) { + consumerReadyCallback(consumer); +} else { + fetchSources(consumer, consumerReadyCallback); +} +// ... +``` + +#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing]) + +Returns the original source content for the source provided. The only +argument is the URL of the original source file. + +If the source content for the given source is not found, then an error is +thrown. Optionally, pass `true` as the second param to have `null` returned +instead. + +```js +consumer.sources +// [ "my-cool-lib.clj" ] + +consumer.sourceContentFor("my-cool-lib.clj") +// "..." + +consumer.sourceContentFor("this is not in the source map"); +// Error: "this is not in the source map" is not in the source map + +consumer.sourceContentFor("this is not in the source map", true); +// null +``` + +#### SourceMapConsumer.prototype.eachMapping(callback, context, order) + +Iterate over each mapping between an original source/line/column and a +generated line/column in this source map. + +* `callback`: The function that is called with each mapping. Mappings have the + form `{ source, generatedLine, generatedColumn, originalLine, originalColumn, + name }` + +* `context`: Optional. If specified, this object will be the value of `this` + every time that `callback` is called. + +* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or + `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over + the mappings sorted by the generated file's line/column order or the + original's source/line/column order, respectively. Defaults to + `SourceMapConsumer.GENERATED_ORDER`. + +```js +consumer.eachMapping(function (m) { console.log(m); }) +// ... +// { source: 'illmatic.js', +// generatedLine: 1, +// generatedColumn: 0, +// originalLine: 1, +// originalColumn: 0, +// name: null } +// { source: 'illmatic.js', +// generatedLine: 2, +// generatedColumn: 0, +// originalLine: 2, +// originalColumn: 0, +// name: null } +// ... +``` +### SourceMapGenerator + +An instance of the SourceMapGenerator represents a source map which is being +built incrementally. + +#### new SourceMapGenerator([startOfSourceMap]) + +You may pass an object with the following properties: + +* `file`: The filename of the generated source that this source map is + associated with. + +* `sourceRoot`: A root for all relative URLs in this source map. + +* `skipValidation`: Optional. When `true`, disables validation of mappings as + they are added. This can improve performance but should be used with + discretion, as a last resort. Even then, one should avoid using this flag when + running tests, if possible. + +```js +var generator = new sourceMap.SourceMapGenerator({ + file: "my-generated-javascript-file.js", + sourceRoot: "http://example.com/app/js/" +}); +``` + +#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) + +Creates a new `SourceMapGenerator` from an existing `SourceMapConsumer` instance. + +* `sourceMapConsumer` The SourceMap. + +```js +var generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer); +``` + +#### SourceMapGenerator.prototype.addMapping(mapping) + +Add a single mapping from original source line and column to the generated +source's line and column for this source map being created. The mapping object +should have the following properties: + +* `generated`: An object with the generated line and column positions. + +* `original`: An object with the original line and column positions. + +* `source`: The original source file (relative to the sourceRoot). + +* `name`: An optional original token name for this mapping. + +```js +generator.addMapping({ + source: "module-one.scm", + original: { line: 128, column: 0 }, + generated: { line: 3, column: 456 } +}) +``` + +#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for an original source file. + +* `sourceFile` the URL of the original source file. + +* `sourceContent` the content of the source file. + +```js +generator.setSourceContent("module-one.scm", + fs.readFileSync("path/to/module-one.scm")) +``` + +#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]]) + +Applies a SourceMap for a source file to the SourceMap. +Each mapping to the supplied source file is rewritten using the +supplied SourceMap. Note: The resolution for the resulting mappings +is the minimum of this map and the supplied map. + +* `sourceMapConsumer`: The SourceMap to be applied. + +* `sourceFile`: Optional. The filename of the source file. + If omitted, sourceMapConsumer.file will be used, if it exists. + Otherwise an error will be thrown. + +* `sourceMapPath`: Optional. The dirname of the path to the SourceMap + to be applied. If relative, it is relative to the SourceMap. + + This parameter is needed when the two SourceMaps aren't in the same + directory, and the SourceMap to be applied contains relative source + paths. If so, those relative source paths need to be rewritten + relative to the SourceMap. + + If omitted, it is assumed that both SourceMaps are in the same directory, + thus not needing any rewriting. (Supplying `'.'` has the same effect.) + +#### SourceMapGenerator.prototype.toString() + +Renders the source map being generated to a string. + +```js +generator.toString() +// '{"version":3,"sources":["module-one.scm"],"names":[],"mappings":"...snip...","file":"my-generated-javascript-file.js","sourceRoot":"http://example.com/app/js/"}' +``` + +### SourceNode + +SourceNodes provide a way to abstract over interpolating and/or concatenating +snippets of generated JavaScript source code, while maintaining the line and +column information associated between those snippets and the original source +code. This is useful as the final intermediate representation a compiler might +use before outputting the generated JS and source map. + +#### new SourceNode([line, column, source[, chunk[, name]]]) + +* `line`: The original line number associated with this source node, or null if + it isn't associated with an original line. The line number is 1-based. + +* `column`: The original column number associated with this source node, or null + if it isn't associated with an original column. The column number + is 0-based. + +* `source`: The original source's filename; null if no filename is provided. + +* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see + below. + +* `name`: Optional. The original identifier. + +```js +var node = new SourceNode(1, 2, "a.cpp", [ + new SourceNode(3, 4, "b.cpp", "extern int status;\n"), + new SourceNode(5, 6, "c.cpp", "std::string* make_string(size_t n);\n"), + new SourceNode(7, 8, "d.cpp", "int main(int argc, char** argv) {}\n"), +]); +``` + +#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath]) + +Creates a SourceNode from generated code and a SourceMapConsumer. + +* `code`: The generated code + +* `sourceMapConsumer` The SourceMap for the generated code + +* `relativePath` The optional path that relative sources in `sourceMapConsumer` + should be relative to. + +```js +var consumer = new SourceMapConsumer(fs.readFileSync("path/to/my-file.js.map", "utf8")); +var node = SourceNode.fromStringWithSourceMap(fs.readFileSync("path/to/my-file.js"), + consumer); +``` + +#### SourceNode.prototype.add(chunk) + +Add a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +```js +node.add(" + "); +node.add(otherNode); +node.add([leftHandOperandNode, " + ", rightHandOperandNode]); +``` + +#### SourceNode.prototype.prepend(chunk) + +Prepend a chunk of generated JS to this source node. + +* `chunk`: A string snippet of generated JS code, another instance of + `SourceNode`, or an array where each member is one of those things. + +```js +node.prepend("/** Build Id: f783haef86324gf **/\n\n"); +``` + +#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) + +Set the source content for a source file. This will be added to the +`SourceMap` in the `sourcesContent` field. + +* `sourceFile`: The filename of the source file + +* `sourceContent`: The content of the source file + +```js +node.setSourceContent("module-one.scm", + fs.readFileSync("path/to/module-one.scm")) +``` + +#### SourceNode.prototype.walk(fn) + +Walk over the tree of JS snippets in this node and its children. The walking +function is called once for each snippet of JS and is passed that snippet and +the its original associated source's line/column location. + +* `fn`: The traversal function. + +```js +var node = new SourceNode(1, 2, "a.js", [ + new SourceNode(3, 4, "b.js", "uno"), + "dos", + [ + "tres", + new SourceNode(5, 6, "c.js", "quatro") + ] +]); + +node.walk(function (code, loc) { console.log("WALK:", code, loc); }) +// WALK: uno { source: 'b.js', line: 3, column: 4, name: null } +// WALK: dos { source: 'a.js', line: 1, column: 2, name: null } +// WALK: tres { source: 'a.js', line: 1, column: 2, name: null } +// WALK: quatro { source: 'c.js', line: 5, column: 6, name: null } +``` + +#### SourceNode.prototype.walkSourceContents(fn) + +Walk over the tree of SourceNodes. The walking function is called for each +source file content and is passed the filename and source content. + +* `fn`: The traversal function. + +```js +var a = new SourceNode(1, 2, "a.js", "generated from a"); +a.setSourceContent("a.js", "original a"); +var b = new SourceNode(1, 2, "b.js", "generated from b"); +b.setSourceContent("b.js", "original b"); +var c = new SourceNode(1, 2, "c.js", "generated from c"); +c.setSourceContent("c.js", "original c"); + +var node = new SourceNode(null, null, null, [a, b, c]); +node.walkSourceContents(function (source, contents) { console.log("WALK:", source, ":", contents); }) +// WALK: a.js : original a +// WALK: b.js : original b +// WALK: c.js : original c +``` + +#### SourceNode.prototype.join(sep) + +Like `Array.prototype.join` except for SourceNodes. Inserts the separator +between each of this source node's children. + +* `sep`: The separator. + +```js +var lhs = new SourceNode(1, 2, "a.rs", "my_copy"); +var operand = new SourceNode(3, 4, "a.rs", "="); +var rhs = new SourceNode(5, 6, "a.rs", "orig.clone()"); + +var node = new SourceNode(null, null, null, [ lhs, operand, rhs ]); +var joinedNode = node.join(" "); +``` + +#### SourceNode.prototype.replaceRight(pattern, replacement) + +Call `String.prototype.replace` on the very right-most source snippet. Useful +for trimming white space from the end of a source node, etc. + +* `pattern`: The pattern to replace. + +* `replacement`: The thing to replace the pattern with. + +```js +// Trim trailing white space. +node.replaceRight(/\s*$/, ""); +``` + +#### SourceNode.prototype.toString() + +Return the string representation of this source node. Walks over the tree and +concatenates all the various snippets together to one string. + +```js +var node = new SourceNode(1, 2, "a.js", [ + new SourceNode(3, 4, "b.js", "uno"), + "dos", + [ + "tres", + new SourceNode(5, 6, "c.js", "quatro") + ] +]); + +node.toString() +// 'unodostresquatro' +``` + +#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap]) + +Returns the string representation of this tree of source nodes, plus a +SourceMapGenerator which contains all the mappings between the generated and +original sources. + +The arguments are the same as those to `new SourceMapGenerator`. + +```js +var node = new SourceNode(1, 2, "a.js", [ + new SourceNode(3, 4, "b.js", "uno"), + "dos", + [ + "tres", + new SourceNode(5, 6, "c.js", "quatro") + ] +]); + +node.toStringWithSourceMap({ file: "my-output-file.js" }) +// { code: 'unodostresquatro', +// map: [object SourceMapGenerator] } +``` diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.debug.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.debug.js new file mode 100644 index 00000000..aad0620d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.debug.js @@ -0,0 +1,3234 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["sourceMap"] = factory(); + else + root["sourceMap"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + /* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ + exports.SourceMapGenerator = __webpack_require__(1).SourceMapGenerator; + exports.SourceMapConsumer = __webpack_require__(7).SourceMapConsumer; + exports.SourceNode = __webpack_require__(10).SourceNode; + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var base64VLQ = __webpack_require__(2); + var util = __webpack_require__(4); + var ArraySet = __webpack_require__(5).ArraySet; + var MappingList = __webpack_require__(6).MappingList; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + + SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + var base64 = __webpack_require__(3); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ + exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; + }; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); + }; + + /** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ + exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; + }; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; + var dataUrlRegexp = /^data:.+\,.+$/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; + } + exports.urlParse = urlParse; + + function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + + /** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '
    /..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ + function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; + } + exports.normalize = normalize; + + /** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ + function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; + } + exports.join = join; + + exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); + }; + + /** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ + function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + } + exports.relative = relative; + + var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); + }()); + + function identity (s) { + return s; + } + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; + } + exports.toSetString = supportsNullProto ? identity : toSetString; + + function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; + } + exports.fromSetString = supportsNullProto ? identity : fromSetString; + + function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; + } + + /** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByOriginalPositions = compareByOriginalPositions; + + /** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + + function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; + } + + /** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ + function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + + /** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ + function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); + } + exports.parseSourceMapInput = parseSourceMapInput; + + /** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ + function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); + } + exports.computeSourceURL = computeSourceURL; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + var has = Object.prototype.hasOwnProperty; + var hasNativeMap = typeof Map !== "undefined"; + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; + }; + + /** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ + ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + + /** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ + function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; + } + + /** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ + function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; + } + + /** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ + MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + + /** + * Add the given source mapping. + * + * @param Object aMapping + */ + MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } + }; + + /** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ + MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; + }; + + exports.MappingList = MappingList; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + var binarySearch = __webpack_require__(8); + var ArraySet = __webpack_require__(5).ArraySet; + var base64VLQ = __webpack_require__(2); + var quickSort = __webpack_require__(9).quickSort; + + function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); + } + + SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); + } + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + // `__generatedMappings` and `__originalMappings` are arrays that hold the + // parsed mapping coordinates from the source map's "mappings" attribute. They + // are lazily instantiated, accessed via the `_generatedMappings` and + // `_originalMappings` getters respectively, and we only parse the mappings + // and create these arrays once queried for a source location. We jump through + // these hoops because there can be many thousands of mappings, and parsing + // them is expensive, so we only want to do it if we must. + // + // Each object in the arrays is of the form: + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `_generatedMappings` is ordered by the generated positions. + // + // `_originalMappings` is ordered by the original positions. + + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } + }); + + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } + }); + + SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + SourceMapConsumer.GREATEST_LOWER_BOUND = 1; + SourceMapConsumer.LEAST_UPPER_BOUND = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + + /** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + + exports.SourceMapConsumer = SourceMapConsumer; + + /** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; + } + + BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + + /** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ + BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; + }; + + /** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ + BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + + /** + * The version of the source mapping spec that we are consuming. + */ + BasicSourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } + }); + + /** + * Provide the JIT with a nice shape / hidden class. + */ + function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; + } + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + + /** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ + BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + + exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + + /** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ + function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); + } + + IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + + /** + * The version of the source mapping spec that we are consuming. + */ + IndexedSourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } + }); + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + + exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + exports.GREATEST_LOWER_BOUND = 1; + exports.LEAST_UPPER_BOUND = 2; + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } + } + + /** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ + exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; + }; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + // It turns out that some (most?) JavaScript engines don't self-host + // `Array.prototype.sort`. This makes sense because C++ will likely remain + // faster than JS when doing raw CPU-intensive sorting. However, when using a + // custom comparator function, calling back and forth between the VM's C++ and + // JIT'd JS is rather slow *and* loses JIT type information, resulting in + // worse generated code for the comparator function than would be optimal. In + // fact, when sorting with a comparator, these costs outweigh the benefits of + // sorting in C++. By using our own JS-implemented Quick Sort (below), we get + // a ~3500ms mean speed-up in `bench/bench.html`. + + /** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ + function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } + + /** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ + function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); + } + + /** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ + function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } + + /** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); + }; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var SourceMapGenerator = __webpack_require__(1).SourceMapGenerator; + var util = __webpack_require__(4); + + // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other + // operating systems these days (capturing the result). + var REGEX_NEWLINE = /(\r?\n)/; + + // Newline character code for charCodeAt() comparisons + var NEWLINE_CODE = 10; + + // Private symbol for identifying `SourceNode`s when multiple versions of + // the source-map library are loaded. This MUST NOT CHANGE across + // versions! + var isSourceNode = "$$$isSourceNode$$$"; + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + + +/***/ }) +/******/ ]) +}); +; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCAxNjI0YzcyOTliODg3ZjdiZGY2NCIsIndlYnBhY2s6Ly8vLi9zb3VyY2UtbWFwLmpzIiwid2VicGFjazovLy8uL2xpYi9zb3VyY2UtbWFwLWdlbmVyYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmFzZTY0LXZscS5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmFzZTY0LmpzIiwid2VicGFjazovLy8uL2xpYi91dGlsLmpzIiwid2VicGFjazovLy8uL2xpYi9hcnJheS1zZXQuanMiLCJ3ZWJwYWNrOi8vLy4vbGliL21hcHBpbmctbGlzdC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvc291cmNlLW1hcC1jb25zdW1lci5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmluYXJ5LXNlYXJjaC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvcXVpY2stc29ydC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvc291cmNlLW5vZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87QUNWQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDdENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNQQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJDQUEwQyxTQUFTO0FBQ25EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUJBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7OztBQ3hhQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBMkQ7QUFDM0QscUJBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUc7O0FBRUg7QUFDQTtBQUNBOzs7Ozs7O0FDM0lBLGlCQUFnQixvQkFBb0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFnQjtBQUNoQixpQkFBZ0I7O0FBRWhCLG9CQUFtQjtBQUNuQixxQkFBb0I7O0FBRXBCLGlCQUFnQjtBQUNoQixpQkFBZ0I7O0FBRWhCLGlCQUFnQjtBQUNoQixrQkFBaUI7O0FBRWpCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7O0FDbEVBLGlCQUFnQixvQkFBb0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUc7QUFDSDtBQUNBLElBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtDQUE4QyxRQUFRO0FBQ3REO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBLE1BQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0QkFBMkIsUUFBUTtBQUNuQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGNBQWE7QUFDYjs7QUFFQTtBQUNBLGVBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUFzQztBQUN0QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7O0FDdmVBLGlCQUFnQixvQkFBb0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUFzQyxTQUFTO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7QUN4SEEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFnQjtBQUNoQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7QUM5RUEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0Esb0JBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVc7O0FBRVg7QUFDQTtBQUNBLFFBQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTJCLE1BQU07QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWEsa0NBQWtDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVEQUFzRCxZQUFZO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBeUIsY0FBYztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXVCLHdDQUF3QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUErQyxtQkFBbUIsRUFBRTtBQUNwRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBNkIsTUFBTTtBQUNuQztBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQSxJQUFHO0FBQ0g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBbUIsMkJBQTJC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Q0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBVyxPQUFPO0FBQ2xCO0FBQ0EsWUFBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBVyxNQUFNO0FBQ2pCO0FBQ0EsWUFBVyxTQUFTO0FBQ3BCO0FBQ0EsWUFBVyxPQUFPO0FBQ2xCO0FBQ0EsWUFBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBbUIsT0FBTztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBVyxNQUFNO0FBQ2pCO0FBQ0EsWUFBVyxTQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNqSEEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWlDLFFBQVE7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQTZDLFNBQVM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQW9CO0FBQ3BCO0FBQ0E7QUFDQSx1Q0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWUsV0FBVztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQStDLFNBQVM7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBeUMsU0FBUztBQUNsRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxZQUFXO0FBQ1g7QUFDQSxVQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsNkNBQTRDLGNBQWM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxjQUFhO0FBQ2I7QUFDQSxZQUFXO0FBQ1g7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsSUFBRztBQUNIO0FBQ0E7QUFDQSxJQUFHOztBQUVILFdBQVU7QUFDVjs7QUFFQSIsImZpbGUiOiJzb3VyY2UtbWFwLmRlYnVnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wic291cmNlTWFwXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcInNvdXJjZU1hcFwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIFxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0ZXhwb3J0czoge30sXG4gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuIFx0XHRcdGxvYWRlZDogZmFsc2VcbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAxNjI0YzcyOTliODg3ZjdiZGY2NCIsIi8qXG4gKiBDb3B5cmlnaHQgMjAwOS0yMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRS50eHQgb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cbmV4cG9ydHMuU291cmNlTWFwR2VuZXJhdG9yID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW1hcC1nZW5lcmF0b3InKS5Tb3VyY2VNYXBHZW5lcmF0b3I7XG5leHBvcnRzLlNvdXJjZU1hcENvbnN1bWVyID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW1hcC1jb25zdW1lcicpLlNvdXJjZU1hcENvbnN1bWVyO1xuZXhwb3J0cy5Tb3VyY2VOb2RlID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW5vZGUnKS5Tb3VyY2VOb2RlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zb3VyY2UtbWFwLmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIGJhc2U2NFZMUSA9IHJlcXVpcmUoJy4vYmFzZTY0LXZscScpO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBBcnJheVNldCA9IHJlcXVpcmUoJy4vYXJyYXktc2V0JykuQXJyYXlTZXQ7XG52YXIgTWFwcGluZ0xpc3QgPSByZXF1aXJlKCcuL21hcHBpbmctbGlzdCcpLk1hcHBpbmdMaXN0O1xuXG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IgcmVwcmVzZW50cyBhIHNvdXJjZSBtYXAgd2hpY2ggaXNcbiAqIGJlaW5nIGJ1aWx0IGluY3JlbWVudGFsbHkuIFlvdSBtYXkgcGFzcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nXG4gKiBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBmaWxlOiBUaGUgZmlsZW5hbWUgb2YgdGhlIGdlbmVyYXRlZCBzb3VyY2UuXG4gKiAgIC0gc291cmNlUm9vdDogQSByb290IGZvciBhbGwgcmVsYXRpdmUgVVJMcyBpbiB0aGlzIHNvdXJjZSBtYXAuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcihhQXJncykge1xuICBpZiAoIWFBcmdzKSB7XG4gICAgYUFyZ3MgPSB7fTtcbiAgfVxuICB0aGlzLl9maWxlID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdmaWxlJywgbnVsbCk7XG4gIHRoaXMuX3NvdXJjZVJvb3QgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZVJvb3QnLCBudWxsKTtcbiAgdGhpcy5fc2tpcFZhbGlkYXRpb24gPSB1dGlsLmdldEFyZyhhQXJncywgJ3NraXBWYWxpZGF0aW9uJywgZmFsc2UpO1xuICB0aGlzLl9zb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX25hbWVzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX21hcHBpbmdzID0gbmV3IE1hcHBpbmdMaXN0KCk7XG4gIHRoaXMuX3NvdXJjZXNDb250ZW50cyA9IG51bGw7XG59XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgU291cmNlTWFwR2VuZXJhdG9yIGJhc2VkIG9uIGEgU291cmNlTWFwQ29uc3VtZXJcbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBTb3VyY2VNYXAuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX2Zyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyKSB7XG4gICAgdmFyIHNvdXJjZVJvb3QgPSBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlUm9vdDtcbiAgICB2YXIgZ2VuZXJhdG9yID0gbmV3IFNvdXJjZU1hcEdlbmVyYXRvcih7XG4gICAgICBmaWxlOiBhU291cmNlTWFwQ29uc3VtZXIuZmlsZSxcbiAgICAgIHNvdXJjZVJvb3Q6IHNvdXJjZVJvb3RcbiAgICB9KTtcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuZWFjaE1hcHBpbmcoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIHZhciBuZXdNYXBwaW5nID0ge1xuICAgICAgICBnZW5lcmF0ZWQ6IHtcbiAgICAgICAgICBsaW5lOiBtYXBwaW5nLmdlbmVyYXRlZExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLmdlbmVyYXRlZENvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgIT0gbnVsbCkge1xuICAgICAgICBuZXdNYXBwaW5nLnNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBpZiAoc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG5ld01hcHBpbmcuc291cmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ld01hcHBpbmcub3JpZ2luYWwgPSB7XG4gICAgICAgICAgbGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG1hcHBpbmcubmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5uYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGdlbmVyYXRvci5hZGRNYXBwaW5nKG5ld01hcHBpbmcpO1xuICAgIH0pO1xuICAgIGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VzLmZvckVhY2goZnVuY3Rpb24gKHNvdXJjZUZpbGUpIHtcbiAgICAgIHZhciBzb3VyY2VSZWxhdGl2ZSA9IHNvdXJjZUZpbGU7XG4gICAgICBpZiAoc291cmNlUm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzb3VyY2VSZWxhdGl2ZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgc291cmNlRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZ2VuZXJhdG9yLl9zb3VyY2VzLmhhcyhzb3VyY2VSZWxhdGl2ZSkpIHtcbiAgICAgICAgZ2VuZXJhdG9yLl9zb3VyY2VzLmFkZChzb3VyY2VSZWxhdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjb250ZW50ID0gYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlRmlsZSk7XG4gICAgICBpZiAoY29udGVudCAhPSBudWxsKSB7XG4gICAgICAgIGdlbmVyYXRvci5zZXRTb3VyY2VDb250ZW50KHNvdXJjZUZpbGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZW5lcmF0b3I7XG4gIH07XG5cbi8qKlxuICogQWRkIGEgc2luZ2xlIG1hcHBpbmcgZnJvbSBvcmlnaW5hbCBzb3VyY2UgbGluZSBhbmQgY29sdW1uIHRvIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBmb3IgdGhpcyBzb3VyY2UgbWFwIGJlaW5nIGNyZWF0ZWQuIFRoZSBtYXBwaW5nXG4gKiBvYmplY3Qgc2hvdWxkIGhhdmUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBnZW5lcmF0ZWQ6IEFuIG9iamVjdCB3aXRoIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucy5cbiAqICAgLSBvcmlnaW5hbDogQW4gb2JqZWN0IHdpdGggdGhlIG9yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMuXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2VSb290KS5cbiAqICAgLSBuYW1lOiBBbiBvcHRpb25hbCBvcmlnaW5hbCB0b2tlbiBuYW1lIGZvciB0aGlzIG1hcHBpbmcuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYWRkTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9hZGRNYXBwaW5nKGFBcmdzKSB7XG4gICAgdmFyIGdlbmVyYXRlZCA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnZ2VuZXJhdGVkJyk7XG4gICAgdmFyIG9yaWdpbmFsID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdvcmlnaW5hbCcsIG51bGwpO1xuICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScsIG51bGwpO1xuICAgIHZhciBuYW1lID0gdXRpbC5nZXRBcmcoYUFyZ3MsICduYW1lJywgbnVsbCk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZU1hcHBpbmcoZ2VuZXJhdGVkLCBvcmlnaW5hbCwgc291cmNlLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IFN0cmluZyhzb3VyY2UpO1xuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIHRoaXMuX3NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5hbWUgIT0gbnVsbCkge1xuICAgICAgbmFtZSA9IFN0cmluZyhuYW1lKTtcbiAgICAgIGlmICghdGhpcy5fbmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIHRoaXMuX25hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9tYXBwaW5ncy5hZGQoe1xuICAgICAgZ2VuZXJhdGVkTGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgICBvcmlnaW5hbExpbmU6IG9yaWdpbmFsICE9IG51bGwgJiYgb3JpZ2luYWwubGluZSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiBvcmlnaW5hbCAhPSBudWxsICYmIG9yaWdpbmFsLmNvbHVtbixcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgbmFtZTogbmFtZVxuICAgIH0pO1xuICB9O1xuXG4vKipcbiAqIFNldCB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGEgc291cmNlIGZpbGUuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuc2V0U291cmNlQ29udGVudCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHZhciBzb3VyY2UgPSBhU291cmNlRmlsZTtcbiAgICBpZiAodGhpcy5fc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBzb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuX3NvdXJjZVJvb3QsIHNvdXJjZSk7XG4gICAgfVxuXG4gICAgaWYgKGFTb3VyY2VDb250ZW50ICE9IG51bGwpIHtcbiAgICAgIC8vIEFkZCB0aGUgc291cmNlIGNvbnRlbnQgdG8gdGhlIF9zb3VyY2VzQ29udGVudHMgbWFwLlxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IF9zb3VyY2VzQ29udGVudHMgbWFwIGlmIHRoZSBwcm9wZXJ0eSBpcyBudWxsLlxuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgICAgdGhpcy5fc291cmNlc0NvbnRlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3NvdXJjZXNDb250ZW50c1t1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgIC8vIFJlbW92ZSB0aGUgc291cmNlIGZpbGUgZnJvbSB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAuXG4gICAgICAvLyBJZiB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAgaXMgZW1wdHksIHNldCB0aGUgcHJvcGVydHkgdG8gbnVsbC5cbiAgICAgIGRlbGV0ZSB0aGlzLl9zb3VyY2VzQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhzb3VyY2UpXTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9zb3VyY2VzQ29udGVudHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLl9zb3VyY2VzQ29udGVudHMgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBtYXBwaW5ncyBvZiBhIHN1Yi1zb3VyY2UtbWFwIGZvciBhIHNwZWNpZmljIHNvdXJjZSBmaWxlIHRvIHRoZVxuICogc291cmNlIG1hcCBiZWluZyBnZW5lcmF0ZWQuIEVhY2ggbWFwcGluZyB0byB0aGUgc3VwcGxpZWQgc291cmNlIGZpbGUgaXNcbiAqIHJld3JpdHRlbiB1c2luZyB0aGUgc3VwcGxpZWQgc291cmNlIG1hcC4gTm90ZTogVGhlIHJlc29sdXRpb24gZm9yIHRoZVxuICogcmVzdWx0aW5nIG1hcHBpbmdzIGlzIHRoZSBtaW5pbWl1bSBvZiB0aGlzIG1hcCBhbmQgdGhlIHN1cHBsaWVkIG1hcC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBzb3VyY2UgbWFwIHRvIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgT3B0aW9uYWwuIFRoZSBmaWxlbmFtZSBvZiB0aGUgc291cmNlIGZpbGUuXG4gKiAgICAgICAgSWYgb21pdHRlZCwgU291cmNlTWFwQ29uc3VtZXIncyBmaWxlIHByb3BlcnR5IHdpbGwgYmUgdXNlZC5cbiAqIEBwYXJhbSBhU291cmNlTWFwUGF0aCBPcHRpb25hbC4gVGhlIGRpcm5hbWUgb2YgdGhlIHBhdGggdG8gdGhlIHNvdXJjZSBtYXBcbiAqICAgICAgICB0byBiZSBhcHBsaWVkLiBJZiByZWxhdGl2ZSwgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIFNvdXJjZU1hcENvbnN1bWVyLlxuICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGlzIG5lZWRlZCB3aGVuIHRoZSB0d28gc291cmNlIG1hcHMgYXJlbid0IGluIHRoZSBzYW1lXG4gKiAgICAgICAgZGlyZWN0b3J5LCBhbmQgdGhlIHNvdXJjZSBtYXAgdG8gYmUgYXBwbGllZCBjb250YWlucyByZWxhdGl2ZSBzb3VyY2VcbiAqICAgICAgICBwYXRocy4gSWYgc28sIHRob3NlIHJlbGF0aXZlIHNvdXJjZSBwYXRocyBuZWVkIHRvIGJlIHJld3JpdHRlblxuICogICAgICAgIHJlbGF0aXZlIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYXBwbHlTb3VyY2VNYXAgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfYXBwbHlTb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyLCBhU291cmNlRmlsZSwgYVNvdXJjZU1hcFBhdGgpIHtcbiAgICB2YXIgc291cmNlRmlsZSA9IGFTb3VyY2VGaWxlO1xuICAgIC8vIElmIGFTb3VyY2VGaWxlIGlzIG9taXR0ZWQsIHdlIHdpbGwgdXNlIHRoZSBmaWxlIHByb3BlcnR5IG9mIHRoZSBTb3VyY2VNYXBcbiAgICBpZiAoYVNvdXJjZUZpbGUgPT0gbnVsbCkge1xuICAgICAgaWYgKGFTb3VyY2VNYXBDb25zdW1lci5maWxlID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdTb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLmFwcGx5U291cmNlTWFwIHJlcXVpcmVzIGVpdGhlciBhbiBleHBsaWNpdCBzb3VyY2UgZmlsZSwgJyArXG4gICAgICAgICAgJ29yIHRoZSBzb3VyY2UgbWFwXFwncyBcImZpbGVcIiBwcm9wZXJ0eS4gQm90aCB3ZXJlIG9taXR0ZWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc291cmNlRmlsZSA9IGFTb3VyY2VNYXBDb25zdW1lci5maWxlO1xuICAgIH1cbiAgICB2YXIgc291cmNlUm9vdCA9IHRoaXMuX3NvdXJjZVJvb3Q7XG4gICAgLy8gTWFrZSBcInNvdXJjZUZpbGVcIiByZWxhdGl2ZSBpZiBhbiBhYnNvbHV0ZSBVcmwgaXMgcGFzc2VkLlxuICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIHNvdXJjZUZpbGUpO1xuICAgIH1cbiAgICAvLyBBcHBseWluZyB0aGUgU291cmNlTWFwIGNhbiBhZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIHRoZSBzb3VyY2VzIGFuZFxuICAgIC8vIHRoZSBuYW1lcyBhcnJheS5cbiAgICB2YXIgbmV3U291cmNlcyA9IG5ldyBBcnJheVNldCgpO1xuICAgIHZhciBuZXdOYW1lcyA9IG5ldyBBcnJheVNldCgpO1xuXG4gICAgLy8gRmluZCBtYXBwaW5ncyBmb3IgdGhlIFwic291cmNlRmlsZVwiXG4gICAgdGhpcy5fbWFwcGluZ3MudW5zb3J0ZWRGb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IHNvdXJjZUZpbGUgJiYgbWFwcGluZy5vcmlnaW5hbExpbmUgIT0gbnVsbCkge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCBjYW4gYmUgbWFwcGVkIGJ5IHRoZSBzb3VyY2UgbWFwLCB0aGVuIHVwZGF0ZSB0aGUgbWFwcGluZy5cbiAgICAgICAgdmFyIG9yaWdpbmFsID0gYVNvdXJjZU1hcENvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICAgIGNvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG9yaWdpbmFsLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gQ29weSBtYXBwaW5nXG4gICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICAgICAgaWYgKGFTb3VyY2VNYXBQYXRoICE9IG51bGwpIHtcbiAgICAgICAgICAgIG1hcHBpbmcuc291cmNlID0gdXRpbC5qb2luKGFTb3VyY2VNYXBQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgPSBvcmlnaW5hbC5saW5lO1xuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPSBvcmlnaW5hbC5jb2x1bW47XG4gICAgICAgICAgaWYgKG9yaWdpbmFsLm5hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5uYW1lID0gb3JpZ2luYWwubmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgaWYgKHNvdXJjZSAhPSBudWxsICYmICFuZXdTb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIG5ld1NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBuYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgaWYgKG5hbWUgIT0gbnVsbCAmJiAhbmV3TmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG5ld05hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cblxuICAgIH0sIHRoaXMpO1xuICAgIHRoaXMuX3NvdXJjZXMgPSBuZXdTb3VyY2VzO1xuICAgIHRoaXMuX25hbWVzID0gbmV3TmFtZXM7XG5cbiAgICAvLyBDb3B5IHNvdXJjZXNDb250ZW50cyBvZiBhcHBsaWVkIG1hcC5cbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVNvdXJjZU1hcFBhdGggIT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLmpvaW4oYVNvdXJjZU1hcFBhdGgsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2VGaWxlID0gdXRpbC5yZWxhdGl2ZShzb3VyY2VSb290LCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSwgdGhpcyk7XG4gIH07XG5cbi8qKlxuICogQSBtYXBwaW5nIGNhbiBoYXZlIG9uZSBvZiB0aGUgdGhyZWUgbGV2ZWxzIG9mIGRhdGE6XG4gKlxuICogICAxLiBKdXN0IHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uXG4gKiAgIDIuIFRoZSBHZW5lcmF0ZWQgcG9zaXRpb24sIG9yaWdpbmFsIHBvc2l0aW9uLCBhbmQgb3JpZ2luYWwgc291cmNlLlxuICogICAzLiBHZW5lcmF0ZWQgYW5kIG9yaWdpbmFsIHBvc2l0aW9uLCBvcmlnaW5hbCBzb3VyY2UsIGFzIHdlbGwgYXMgYSBuYW1lXG4gKiAgICAgIHRva2VuLlxuICpcbiAqIFRvIG1haW50YWluIGNvbnNpc3RlbmN5LCB3ZSB2YWxpZGF0ZSB0aGF0IGFueSBuZXcgbWFwcGluZyBiZWluZyBhZGRlZCBmYWxsc1xuICogaW4gdG8gb25lIG9mIHRoZXNlIGNhdGVnb3JpZXMuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZhbGlkYXRlTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl92YWxpZGF0ZU1hcHBpbmcoYUdlbmVyYXRlZCwgYU9yaWdpbmFsLCBhU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFOYW1lKSB7XG4gICAgLy8gV2hlbiBhT3JpZ2luYWwgaXMgdHJ1dGh5IGJ1dCBoYXMgZW1wdHkgdmFsdWVzIGZvciAubGluZSBhbmQgLmNvbHVtbixcbiAgICAvLyBpdCBpcyBtb3N0IGxpa2VseSBhIHByb2dyYW1tZXIgZXJyb3IuIEluIHRoaXMgY2FzZSB3ZSB0aHJvdyBhIHZlcnlcbiAgICAvLyBzcGVjaWZpYyBlcnJvciBtZXNzYWdlIHRvIHRyeSB0byBndWlkZSB0aGVtIHRoZSByaWdodCB3YXkuXG4gICAgLy8gRm9yIGV4YW1wbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5bWVyL3BvbHltZXItYnVuZGxlci9wdWxsLzUxOVxuICAgIGlmIChhT3JpZ2luYWwgJiYgdHlwZW9mIGFPcmlnaW5hbC5saW5lICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgYU9yaWdpbmFsLmNvbHVtbiAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ29yaWdpbmFsLmxpbmUgYW5kIG9yaWdpbmFsLmNvbHVtbiBhcmUgbm90IG51bWJlcnMgLS0geW91IHByb2JhYmx5IG1lYW50IHRvIG9taXQgJyArXG4gICAgICAgICAgICAndGhlIG9yaWdpbmFsIG1hcHBpbmcgZW50aXJlbHkgYW5kIG9ubHkgbWFwIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uIElmIHNvLCBwYXNzICcgK1xuICAgICAgICAgICAgJ251bGwgZm9yIHRoZSBvcmlnaW5hbCBtYXBwaW5nIGluc3RlYWQgb2YgYW4gb2JqZWN0IHdpdGggZW1wdHkgb3IgbnVsbCB2YWx1ZXMuJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChhR2VuZXJhdGVkICYmICdsaW5lJyBpbiBhR2VuZXJhdGVkICYmICdjb2x1bW4nIGluIGFHZW5lcmF0ZWRcbiAgICAgICAgJiYgYUdlbmVyYXRlZC5saW5lID4gMCAmJiBhR2VuZXJhdGVkLmNvbHVtbiA+PSAwXG4gICAgICAgICYmICFhT3JpZ2luYWwgJiYgIWFTb3VyY2UgJiYgIWFOYW1lKSB7XG4gICAgICAvLyBDYXNlIDEuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsc2UgaWYgKGFHZW5lcmF0ZWQgJiYgJ2xpbmUnIGluIGFHZW5lcmF0ZWQgJiYgJ2NvbHVtbicgaW4gYUdlbmVyYXRlZFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbCAmJiAnbGluZScgaW4gYU9yaWdpbmFsICYmICdjb2x1bW4nIGluIGFPcmlnaW5hbFxuICAgICAgICAgICAgICYmIGFHZW5lcmF0ZWQubGluZSA+IDAgJiYgYUdlbmVyYXRlZC5jb2x1bW4gPj0gMFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbC5saW5lID4gMCAmJiBhT3JpZ2luYWwuY29sdW1uID49IDBcbiAgICAgICAgICAgICAmJiBhU291cmNlKSB7XG4gICAgICAvLyBDYXNlcyAyIGFuZCAzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXBwaW5nOiAnICsgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBnZW5lcmF0ZWQ6IGFHZW5lcmF0ZWQsXG4gICAgICAgIHNvdXJjZTogYVNvdXJjZSxcbiAgICAgICAgb3JpZ2luYWw6IGFPcmlnaW5hbCxcbiAgICAgICAgbmFtZTogYU5hbWVcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogU2VyaWFsaXplIHRoZSBhY2N1bXVsYXRlZCBtYXBwaW5ncyBpbiB0byB0aGUgc3RyZWFtIG9mIGJhc2UgNjQgVkxRc1xuICogc3BlY2lmaWVkIGJ5IHRoZSBzb3VyY2UgbWFwIGZvcm1hdC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fc2VyaWFsaXplTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3Jfc2VyaWFsaXplTWFwcGluZ3MoKSB7XG4gICAgdmFyIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRMaW5lID0gMTtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gMDtcbiAgICB2YXIgcHJldmlvdXNOYW1lID0gMDtcbiAgICB2YXIgcHJldmlvdXNTb3VyY2UgPSAwO1xuICAgIHZhciByZXN1bHQgPSAnJztcbiAgICB2YXIgbmV4dDtcbiAgICB2YXIgbWFwcGluZztcbiAgICB2YXIgbmFtZUlkeDtcbiAgICB2YXIgc291cmNlSWR4O1xuXG4gICAgdmFyIG1hcHBpbmdzID0gdGhpcy5fbWFwcGluZ3MudG9BcnJheSgpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBtYXBwaW5ncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgbWFwcGluZyA9IG1hcHBpbmdzW2ldO1xuICAgICAgbmV4dCA9ICcnXG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgIHdoaWxlIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIG5leHQgKz0gJzsnO1xuICAgICAgICAgIHByZXZpb3VzR2VuZXJhdGVkTGluZSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmcsIG1hcHBpbmdzW2kgLSAxXSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXh0ICs9ICcsJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgaWYgKG1hcHBpbmcuc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlSWR4ID0gdGhpcy5fc291cmNlcy5pbmRleE9mKG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgbmV4dCArPSBiYXNlNjRWTFEuZW5jb2RlKHNvdXJjZUlkeCAtIHByZXZpb3VzU291cmNlKTtcbiAgICAgICAgcHJldmlvdXNTb3VyY2UgPSBzb3VyY2VJZHg7XG5cbiAgICAgICAgLy8gbGluZXMgYXJlIHN0b3JlZCAwLWJhc2VkIGluIFNvdXJjZU1hcCBzcGVjIHZlcnNpb24gM1xuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbExpbmUgLSAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNPcmlnaW5hbExpbmUpO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lIC0gMTtcblxuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4pO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsQ29sdW1uID0gbWFwcGluZy5vcmlnaW5hbENvbHVtbjtcblxuICAgICAgICBpZiAobWFwcGluZy5uYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBuYW1lSWR4ID0gdGhpcy5fbmFtZXMuaW5kZXhPZihtYXBwaW5nLm5hbWUpO1xuICAgICAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShuYW1lSWR4IC0gcHJldmlvdXNOYW1lKTtcbiAgICAgICAgICBwcmV2aW91c05hbWUgPSBuYW1lSWR4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCArPSBuZXh0O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX2dlbmVyYXRlU291cmNlc0NvbnRlbnQgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfZ2VuZXJhdGVTb3VyY2VzQ29udGVudChhU291cmNlcywgYVNvdXJjZVJvb3QpIHtcbiAgICByZXR1cm4gYVNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIGlmICghdGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKGFTb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlID0gdXRpbC5yZWxhdGl2ZShhU291cmNlUm9vdCwgc291cmNlKTtcbiAgICAgIH1cbiAgICAgIHZhciBrZXkgPSB1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSk7XG4gICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX3NvdXJjZXNDb250ZW50cywga2V5KVxuICAgICAgICA/IHRoaXMuX3NvdXJjZXNDb250ZW50c1trZXldXG4gICAgICAgIDogbnVsbDtcbiAgICB9LCB0aGlzKTtcbiAgfTtcblxuLyoqXG4gKiBFeHRlcm5hbGl6ZSB0aGUgc291cmNlIG1hcC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS50b0pTT04gPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfdG9KU09OKCkge1xuICAgIHZhciBtYXAgPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uLFxuICAgICAgc291cmNlczogdGhpcy5fc291cmNlcy50b0FycmF5KCksXG4gICAgICBuYW1lczogdGhpcy5fbmFtZXMudG9BcnJheSgpLFxuICAgICAgbWFwcGluZ3M6IHRoaXMuX3NlcmlhbGl6ZU1hcHBpbmdzKClcbiAgICB9O1xuICAgIGlmICh0aGlzLl9maWxlICE9IG51bGwpIHtcbiAgICAgIG1hcC5maWxlID0gdGhpcy5fZmlsZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3NvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgbWFwLnNvdXJjZVJvb3QgPSB0aGlzLl9zb3VyY2VSb290O1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICBtYXAuc291cmNlc0NvbnRlbnQgPSB0aGlzLl9nZW5lcmF0ZVNvdXJjZXNDb250ZW50KG1hcC5zb3VyY2VzLCBtYXAuc291cmNlUm9vdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcDtcbiAgfTtcblxuLyoqXG4gKiBSZW5kZXIgdGhlIHNvdXJjZSBtYXAgYmVpbmcgZ2VuZXJhdGVkIHRvIGEgc3RyaW5nLlxuICovXG5Tb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLnRvU3RyaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX3RvU3RyaW5nKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnRvSlNPTigpKTtcbiAgfTtcblxuZXhwb3J0cy5Tb3VyY2VNYXBHZW5lcmF0b3IgPSBTb3VyY2VNYXBHZW5lcmF0b3I7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2xpYi9zb3VyY2UtbWFwLWdlbmVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICpcbiAqIEJhc2VkIG9uIHRoZSBCYXNlIDY0IFZMUSBpbXBsZW1lbnRhdGlvbiBpbiBDbG9zdXJlIENvbXBpbGVyOlxuICogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jbG9zdXJlLWNvbXBpbGVyL3NvdXJjZS9icm93c2UvdHJ1bmsvc3JjL2NvbS9nb29nbGUvZGVidWdnaW5nL3NvdXJjZW1hcC9CYXNlNjRWTFEuamF2YVxuICpcbiAqIENvcHlyaWdodCAyMDExIFRoZSBDbG9zdXJlIENvbXBpbGVyIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmVcbiAqIG1ldDpcbiAqXG4gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodFxuICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZVxuICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmdcbiAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZFxuICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuICogICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0c1xuICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkXG4gKiAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SU1xuICogXCJBUyBJU1wiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVFxuICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SXG4gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVFxuICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsXG4gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UXG4gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSxcbiAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWVxuICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5cbnZhciBiYXNlNjQgPSByZXF1aXJlKCcuL2Jhc2U2NCcpO1xuXG4vLyBBIHNpbmdsZSBiYXNlIDY0IGRpZ2l0IGNhbiBjb250YWluIDYgYml0cyBvZiBkYXRhLiBGb3IgdGhlIGJhc2UgNjQgdmFyaWFibGVcbi8vIGxlbmd0aCBxdWFudGl0aWVzIHdlIHVzZSBpbiB0aGUgc291cmNlIG1hcCBzcGVjLCB0aGUgZmlyc3QgYml0IGlzIHRoZSBzaWduLFxuLy8gdGhlIG5leHQgZm91ciBiaXRzIGFyZSB0aGUgYWN0dWFsIHZhbHVlLCBhbmQgdGhlIDZ0aCBiaXQgaXMgdGhlXG4vLyBjb250aW51YXRpb24gYml0LiBUaGUgY29udGludWF0aW9uIGJpdCB0ZWxscyB1cyB3aGV0aGVyIHRoZXJlIGFyZSBtb3JlXG4vLyBkaWdpdHMgaW4gdGhpcyB2YWx1ZSBmb2xsb3dpbmcgdGhpcyBkaWdpdC5cbi8vXG4vLyAgIENvbnRpbnVhdGlvblxuLy8gICB8ICAgIFNpZ25cbi8vICAgfCAgICB8XG4vLyAgIFYgICAgVlxuLy8gICAxMDEwMTFcblxudmFyIFZMUV9CQVNFX1NISUZUID0gNTtcblxuLy8gYmluYXJ5OiAxMDAwMDBcbnZhciBWTFFfQkFTRSA9IDEgPDwgVkxRX0JBU0VfU0hJRlQ7XG5cbi8vIGJpbmFyeTogMDExMTExXG52YXIgVkxRX0JBU0VfTUFTSyA9IFZMUV9CQVNFIC0gMTtcblxuLy8gYmluYXJ5OiAxMDAwMDBcbnZhciBWTFFfQ09OVElOVUFUSU9OX0JJVCA9IFZMUV9CQVNFO1xuXG4vKipcbiAqIENvbnZlcnRzIGZyb20gYSB0d28tY29tcGxlbWVudCB2YWx1ZSB0byBhIHZhbHVlIHdoZXJlIHRoZSBzaWduIGJpdCBpc1xuICogcGxhY2VkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQuICBGb3IgZXhhbXBsZSwgYXMgZGVjaW1hbHM6XG4gKiAgIDEgYmVjb21lcyAyICgxMCBiaW5hcnkpLCAtMSBiZWNvbWVzIDMgKDExIGJpbmFyeSlcbiAqICAgMiBiZWNvbWVzIDQgKDEwMCBiaW5hcnkpLCAtMiBiZWNvbWVzIDUgKDEwMSBiaW5hcnkpXG4gKi9cbmZ1bmN0aW9uIHRvVkxRU2lnbmVkKGFWYWx1ZSkge1xuICByZXR1cm4gYVZhbHVlIDwgMFxuICAgID8gKCgtYVZhbHVlKSA8PCAxKSArIDFcbiAgICA6IChhVmFsdWUgPDwgMSkgKyAwO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIHRvIGEgdHdvLWNvbXBsZW1lbnQgdmFsdWUgZnJvbSBhIHZhbHVlIHdoZXJlIHRoZSBzaWduIGJpdCBpc1xuICogcGxhY2VkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQuICBGb3IgZXhhbXBsZSwgYXMgZGVjaW1hbHM6XG4gKiAgIDIgKDEwIGJpbmFyeSkgYmVjb21lcyAxLCAzICgxMSBiaW5hcnkpIGJlY29tZXMgLTFcbiAqICAgNCAoMTAwIGJpbmFyeSkgYmVjb21lcyAyLCA1ICgxMDEgYmluYXJ5KSBiZWNvbWVzIC0yXG4gKi9cbmZ1bmN0aW9uIGZyb21WTFFTaWduZWQoYVZhbHVlKSB7XG4gIHZhciBpc05lZ2F0aXZlID0gKGFWYWx1ZSAmIDEpID09PSAxO1xuICB2YXIgc2hpZnRlZCA9IGFWYWx1ZSA+PiAxO1xuICByZXR1cm4gaXNOZWdhdGl2ZVxuICAgID8gLXNoaWZ0ZWRcbiAgICA6IHNoaWZ0ZWQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSA2NCBWTFEgZW5jb2RlZCB2YWx1ZS5cbiAqL1xuZXhwb3J0cy5lbmNvZGUgPSBmdW5jdGlvbiBiYXNlNjRWTFFfZW5jb2RlKGFWYWx1ZSkge1xuICB2YXIgZW5jb2RlZCA9IFwiXCI7XG4gIHZhciBkaWdpdDtcblxuICB2YXIgdmxxID0gdG9WTFFTaWduZWQoYVZhbHVlKTtcblxuICBkbyB7XG4gICAgZGlnaXQgPSB2bHEgJiBWTFFfQkFTRV9NQVNLO1xuICAgIHZscSA+Pj49IFZMUV9CQVNFX1NISUZUO1xuICAgIGlmICh2bHEgPiAwKSB7XG4gICAgICAvLyBUaGVyZSBhcmUgc3RpbGwgbW9yZSBkaWdpdHMgaW4gdGhpcyB2YWx1ZSwgc28gd2UgbXVzdCBtYWtlIHN1cmUgdGhlXG4gICAgICAvLyBjb250aW51YXRpb24gYml0IGlzIG1hcmtlZC5cbiAgICAgIGRpZ2l0IHw9IFZMUV9DT05USU5VQVRJT05fQklUO1xuICAgIH1cbiAgICBlbmNvZGVkICs9IGJhc2U2NC5lbmNvZGUoZGlnaXQpO1xuICB9IHdoaWxlICh2bHEgPiAwKTtcblxuICByZXR1cm4gZW5jb2RlZDtcbn07XG5cbi8qKlxuICogRGVjb2RlcyB0aGUgbmV4dCBiYXNlIDY0IFZMUSB2YWx1ZSBmcm9tIHRoZSBnaXZlbiBzdHJpbmcgYW5kIHJldHVybnMgdGhlXG4gKiB2YWx1ZSBhbmQgdGhlIHJlc3Qgb2YgdGhlIHN0cmluZyB2aWEgdGhlIG91dCBwYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydHMuZGVjb2RlID0gZnVuY3Rpb24gYmFzZTY0VkxRX2RlY29kZShhU3RyLCBhSW5kZXgsIGFPdXRQYXJhbSkge1xuICB2YXIgc3RyTGVuID0gYVN0ci5sZW5ndGg7XG4gIHZhciByZXN1bHQgPSAwO1xuICB2YXIgc2hpZnQgPSAwO1xuICB2YXIgY29udGludWF0aW9uLCBkaWdpdDtcblxuICBkbyB7XG4gICAgaWYgKGFJbmRleCA+PSBzdHJMZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG1vcmUgZGlnaXRzIGluIGJhc2UgNjQgVkxRIHZhbHVlLlwiKTtcbiAgICB9XG5cbiAgICBkaWdpdCA9IGJhc2U2NC5kZWNvZGUoYVN0ci5jaGFyQ29kZUF0KGFJbmRleCsrKSk7XG4gICAgaWYgKGRpZ2l0ID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBiYXNlNjQgZGlnaXQ6IFwiICsgYVN0ci5jaGFyQXQoYUluZGV4IC0gMSkpO1xuICAgIH1cblxuICAgIGNvbnRpbnVhdGlvbiA9ICEhKGRpZ2l0ICYgVkxRX0NPTlRJTlVBVElPTl9CSVQpO1xuICAgIGRpZ2l0ICY9IFZMUV9CQVNFX01BU0s7XG4gICAgcmVzdWx0ID0gcmVzdWx0ICsgKGRpZ2l0IDw8IHNoaWZ0KTtcbiAgICBzaGlmdCArPSBWTFFfQkFTRV9TSElGVDtcbiAgfSB3aGlsZSAoY29udGludWF0aW9uKTtcblxuICBhT3V0UGFyYW0udmFsdWUgPSBmcm9tVkxRU2lnbmVkKHJlc3VsdCk7XG4gIGFPdXRQYXJhbS5yZXN0ID0gYUluZGV4O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL2Jhc2U2NC12bHEuanNcbi8vIG1vZHVsZSBpZCA9IDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgaW50VG9DaGFyTWFwID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nLnNwbGl0KCcnKTtcblxuLyoqXG4gKiBFbmNvZGUgYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2Ugb2YgMCB0byA2MyB0byBhIHNpbmdsZSBiYXNlIDY0IGRpZ2l0LlxuICovXG5leHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uIChudW1iZXIpIHtcbiAgaWYgKDAgPD0gbnVtYmVyICYmIG51bWJlciA8IGludFRvQ2hhck1hcC5sZW5ndGgpIHtcbiAgICByZXR1cm4gaW50VG9DaGFyTWFwW251bWJlcl07XG4gIH1cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk11c3QgYmUgYmV0d2VlbiAwIGFuZCA2MzogXCIgKyBudW1iZXIpO1xufTtcblxuLyoqXG4gKiBEZWNvZGUgYSBzaW5nbGUgYmFzZSA2NCBjaGFyYWN0ZXIgY29kZSBkaWdpdCB0byBhbiBpbnRlZ2VyLiBSZXR1cm5zIC0xIG9uXG4gKiBmYWlsdXJlLlxuICovXG5leHBvcnRzLmRlY29kZSA9IGZ1bmN0aW9uIChjaGFyQ29kZSkge1xuICB2YXIgYmlnQSA9IDY1OyAgICAgLy8gJ0EnXG4gIHZhciBiaWdaID0gOTA7ICAgICAvLyAnWidcblxuICB2YXIgbGl0dGxlQSA9IDk3OyAgLy8gJ2EnXG4gIHZhciBsaXR0bGVaID0gMTIyOyAvLyAneidcblxuICB2YXIgemVybyA9IDQ4OyAgICAgLy8gJzAnXG4gIHZhciBuaW5lID0gNTc7ICAgICAvLyAnOSdcblxuICB2YXIgcGx1cyA9IDQzOyAgICAgLy8gJysnXG4gIHZhciBzbGFzaCA9IDQ3OyAgICAvLyAnLydcblxuICB2YXIgbGl0dGxlT2Zmc2V0ID0gMjY7XG4gIHZhciBudW1iZXJPZmZzZXQgPSA1MjtcblxuICAvLyAwIC0gMjU6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaXG4gIGlmIChiaWdBIDw9IGNoYXJDb2RlICYmIGNoYXJDb2RlIDw9IGJpZ1opIHtcbiAgICByZXR1cm4gKGNoYXJDb2RlIC0gYmlnQSk7XG4gIH1cblxuICAvLyAyNiAtIDUxOiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5elxuICBpZiAobGl0dGxlQSA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSBsaXR0bGVaKSB7XG4gICAgcmV0dXJuIChjaGFyQ29kZSAtIGxpdHRsZUEgKyBsaXR0bGVPZmZzZXQpO1xuICB9XG5cbiAgLy8gNTIgLSA2MTogMDEyMzQ1Njc4OVxuICBpZiAoemVybyA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSBuaW5lKSB7XG4gICAgcmV0dXJuIChjaGFyQ29kZSAtIHplcm8gKyBudW1iZXJPZmZzZXQpO1xuICB9XG5cbiAgLy8gNjI6ICtcbiAgaWYgKGNoYXJDb2RlID09IHBsdXMpIHtcbiAgICByZXR1cm4gNjI7XG4gIH1cblxuICAvLyA2MzogL1xuICBpZiAoY2hhckNvZGUgPT0gc2xhc2gpIHtcbiAgICByZXR1cm4gNjM7XG4gIH1cblxuICAvLyBJbnZhbGlkIGJhc2U2NCBkaWdpdC5cbiAgcmV0dXJuIC0xO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL2Jhc2U2NC5qc1xuLy8gbW9kdWxlIGlkID0gM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbi8qKlxuICogVGhpcyBpcyBhIGhlbHBlciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB2YWx1ZXMgZnJvbSBwYXJhbWV0ZXIvb3B0aW9uc1xuICogb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0gYXJncyBUaGUgb2JqZWN0IHdlIGFyZSBleHRyYWN0aW5nIHZhbHVlcyBmcm9tXG4gKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgd2UgYXJlIGdldHRpbmcuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIEFuIG9wdGlvbmFsIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgaXMgbWlzc2luZ1xuICogZnJvbSB0aGUgb2JqZWN0LiBJZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYW5kIHRoZSBwcm9wZXJ0eSBpcyBtaXNzaW5nLCBhblxuICogZXJyb3Igd2lsbCBiZSB0aHJvd24uXG4gKi9cbmZ1bmN0aW9uIGdldEFyZyhhQXJncywgYU5hbWUsIGFEZWZhdWx0VmFsdWUpIHtcbiAgaWYgKGFOYW1lIGluIGFBcmdzKSB7XG4gICAgcmV0dXJuIGFBcmdzW2FOYW1lXTtcbiAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKSB7XG4gICAgcmV0dXJuIGFEZWZhdWx0VmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhTmFtZSArICdcIiBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LicpO1xuICB9XG59XG5leHBvcnRzLmdldEFyZyA9IGdldEFyZztcblxudmFyIHVybFJlZ2V4cCA9IC9eKD86KFtcXHcrXFwtLl0rKTopP1xcL1xcLyg/OihcXHcrOlxcdyspQCk/KFtcXHcuLV0qKSg/OjooXFxkKykpPyguKikkLztcbnZhciBkYXRhVXJsUmVnZXhwID0gL15kYXRhOi4rXFwsLiskLztcblxuZnVuY3Rpb24gdXJsUGFyc2UoYVVybCkge1xuICB2YXIgbWF0Y2ggPSBhVXJsLm1hdGNoKHVybFJlZ2V4cCk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHNjaGVtZTogbWF0Y2hbMV0sXG4gICAgYXV0aDogbWF0Y2hbMl0sXG4gICAgaG9zdDogbWF0Y2hbM10sXG4gICAgcG9ydDogbWF0Y2hbNF0sXG4gICAgcGF0aDogbWF0Y2hbNV1cbiAgfTtcbn1cbmV4cG9ydHMudXJsUGFyc2UgPSB1cmxQYXJzZTtcblxuZnVuY3Rpb24gdXJsR2VuZXJhdGUoYVBhcnNlZFVybCkge1xuICB2YXIgdXJsID0gJyc7XG4gIGlmIChhUGFyc2VkVXJsLnNjaGVtZSkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLnNjaGVtZSArICc6JztcbiAgfVxuICB1cmwgKz0gJy8vJztcbiAgaWYgKGFQYXJzZWRVcmwuYXV0aCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLmF1dGggKyAnQCc7XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwuaG9zdCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLmhvc3Q7XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwucG9ydCkge1xuICAgIHVybCArPSBcIjpcIiArIGFQYXJzZWRVcmwucG9ydFxuICB9XG4gIGlmIChhUGFyc2VkVXJsLnBhdGgpIHtcbiAgICB1cmwgKz0gYVBhcnNlZFVybC5wYXRoO1xuICB9XG4gIHJldHVybiB1cmw7XG59XG5leHBvcnRzLnVybEdlbmVyYXRlID0gdXJsR2VuZXJhdGU7XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIHBhdGgsIG9yIHRoZSBwYXRoIHBvcnRpb24gb2YgYSBVUkw6XG4gKlxuICogLSBSZXBsYWNlcyBjb25zZWN1dGl2ZSBzbGFzaGVzIHdpdGggb25lIHNsYXNoLlxuICogLSBSZW1vdmVzIHVubmVjZXNzYXJ5ICcuJyBwYXJ0cy5cbiAqIC0gUmVtb3ZlcyB1bm5lY2Vzc2FyeSAnPGRpcj4vLi4nIHBhcnRzLlxuICpcbiAqIEJhc2VkIG9uIGNvZGUgaW4gdGhlIE5vZGUuanMgJ3BhdGgnIGNvcmUgbW9kdWxlLlxuICpcbiAqIEBwYXJhbSBhUGF0aCBUaGUgcGF0aCBvciB1cmwgdG8gbm9ybWFsaXplLlxuICovXG5mdW5jdGlvbiBub3JtYWxpemUoYVBhdGgpIHtcbiAgdmFyIHBhdGggPSBhUGF0aDtcbiAgdmFyIHVybCA9IHVybFBhcnNlKGFQYXRoKTtcbiAgaWYgKHVybCkge1xuICAgIGlmICghdXJsLnBhdGgpIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG4gICAgcGF0aCA9IHVybC5wYXRoO1xuICB9XG4gIHZhciBpc0Fic29sdXRlID0gZXhwb3J0cy5pc0Fic29sdXRlKHBhdGgpO1xuXG4gIHZhciBwYXJ0cyA9IHBhdGguc3BsaXQoL1xcLysvKTtcbiAgZm9yICh2YXIgcGFydCwgdXAgPSAwLCBpID0gcGFydHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBwYXJ0ID0gcGFydHNbaV07XG4gICAgaWYgKHBhcnQgPT09ICcuJykge1xuICAgICAgcGFydHMuc3BsaWNlKGksIDEpO1xuICAgIH0gZWxzZSBpZiAocGFydCA9PT0gJy4uJykge1xuICAgICAgdXArKztcbiAgICB9IGVsc2UgaWYgKHVwID4gMCkge1xuICAgICAgaWYgKHBhcnQgPT09ICcnKSB7XG4gICAgICAgIC8vIFRoZSBmaXJzdCBwYXJ0IGlzIGJsYW5rIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlLiBUcnlpbmcgdG8gZ29cbiAgICAgICAgLy8gYWJvdmUgdGhlIHJvb3QgaXMgYSBuby1vcC4gVGhlcmVmb3JlIHdlIGNhbiByZW1vdmUgYWxsICcuLicgcGFydHNcbiAgICAgICAgLy8gZGlyZWN0bHkgYWZ0ZXIgdGhlIHJvb3QuXG4gICAgICAgIHBhcnRzLnNwbGljZShpICsgMSwgdXApO1xuICAgICAgICB1cCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0cy5zcGxpY2UoaSwgMik7XG4gICAgICAgIHVwLS07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBhdGggPSBwYXJ0cy5qb2luKCcvJyk7XG5cbiAgaWYgKHBhdGggPT09ICcnKSB7XG4gICAgcGF0aCA9IGlzQWJzb2x1dGUgPyAnLycgOiAnLic7XG4gIH1cblxuICBpZiAodXJsKSB7XG4gICAgdXJsLnBhdGggPSBwYXRoO1xuICAgIHJldHVybiB1cmxHZW5lcmF0ZSh1cmwpO1xuICB9XG4gIHJldHVybiBwYXRoO1xufVxuZXhwb3J0cy5ub3JtYWxpemUgPSBub3JtYWxpemU7XG5cbi8qKlxuICogSm9pbnMgdHdvIHBhdGhzL1VSTHMuXG4gKlxuICogQHBhcmFtIGFSb290IFRoZSByb290IHBhdGggb3IgVVJMLlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIFVSTCB0byBiZSBqb2luZWQgd2l0aCB0aGUgcm9vdC5cbiAqXG4gKiAtIElmIGFQYXRoIGlzIGEgVVJMIG9yIGEgZGF0YSBVUkksIGFQYXRoIGlzIHJldHVybmVkLCB1bmxlc3MgYVBhdGggaXMgYVxuICogICBzY2hlbWUtcmVsYXRpdmUgVVJMOiBUaGVuIHRoZSBzY2hlbWUgb2YgYVJvb3QsIGlmIGFueSwgaXMgcHJlcGVuZGVkXG4gKiAgIGZpcnN0LlxuICogLSBPdGhlcndpc2UgYVBhdGggaXMgYSBwYXRoLiBJZiBhUm9vdCBpcyBhIFVSTCwgdGhlbiBpdHMgcGF0aCBwb3J0aW9uXG4gKiAgIGlzIHVwZGF0ZWQgd2l0aCB0aGUgcmVzdWx0IGFuZCBhUm9vdCBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlIHRoZSByZXN1bHRcbiAqICAgaXMgcmV0dXJuZWQuXG4gKiAgIC0gSWYgYVBhdGggaXMgYWJzb2x1dGUsIHRoZSByZXN1bHQgaXMgYVBhdGguXG4gKiAgIC0gT3RoZXJ3aXNlIHRoZSB0d28gcGF0aHMgYXJlIGpvaW5lZCB3aXRoIGEgc2xhc2guXG4gKiAtIEpvaW5pbmcgZm9yIGV4YW1wbGUgJ2h0dHA6Ly8nIGFuZCAnd3d3LmV4YW1wbGUuY29tJyBpcyBhbHNvIHN1cHBvcnRlZC5cbiAqL1xuZnVuY3Rpb24gam9pbihhUm9vdCwgYVBhdGgpIHtcbiAgaWYgKGFSb290ID09PSBcIlwiKSB7XG4gICAgYVJvb3QgPSBcIi5cIjtcbiAgfVxuICBpZiAoYVBhdGggPT09IFwiXCIpIHtcbiAgICBhUGF0aCA9IFwiLlwiO1xuICB9XG4gIHZhciBhUGF0aFVybCA9IHVybFBhcnNlKGFQYXRoKTtcbiAgdmFyIGFSb290VXJsID0gdXJsUGFyc2UoYVJvb3QpO1xuICBpZiAoYVJvb3RVcmwpIHtcbiAgICBhUm9vdCA9IGFSb290VXJsLnBhdGggfHwgJy8nO1xuICB9XG5cbiAgLy8gYGpvaW4oZm9vLCAnLy93d3cuZXhhbXBsZS5vcmcnKWBcbiAgaWYgKGFQYXRoVXJsICYmICFhUGF0aFVybC5zY2hlbWUpIHtcbiAgICBpZiAoYVJvb3RVcmwpIHtcbiAgICAgIGFQYXRoVXJsLnNjaGVtZSA9IGFSb290VXJsLnNjaGVtZTtcbiAgICB9XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFQYXRoVXJsKTtcbiAgfVxuXG4gIGlmIChhUGF0aFVybCB8fCBhUGF0aC5tYXRjaChkYXRhVXJsUmVnZXhwKSkge1xuICAgIHJldHVybiBhUGF0aDtcbiAgfVxuXG4gIC8vIGBqb2luKCdodHRwOi8vJywgJ3d3dy5leGFtcGxlLmNvbScpYFxuICBpZiAoYVJvb3RVcmwgJiYgIWFSb290VXJsLmhvc3QgJiYgIWFSb290VXJsLnBhdGgpIHtcbiAgICBhUm9vdFVybC5ob3N0ID0gYVBhdGg7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFSb290VXJsKTtcbiAgfVxuXG4gIHZhciBqb2luZWQgPSBhUGF0aC5jaGFyQXQoMCkgPT09ICcvJ1xuICAgID8gYVBhdGhcbiAgICA6IG5vcm1hbGl6ZShhUm9vdC5yZXBsYWNlKC9cXC8rJC8sICcnKSArICcvJyArIGFQYXRoKTtcblxuICBpZiAoYVJvb3RVcmwpIHtcbiAgICBhUm9vdFVybC5wYXRoID0gam9pbmVkO1xuICAgIHJldHVybiB1cmxHZW5lcmF0ZShhUm9vdFVybCk7XG4gIH1cbiAgcmV0dXJuIGpvaW5lZDtcbn1cbmV4cG9ydHMuam9pbiA9IGpvaW47XG5cbmV4cG9ydHMuaXNBYnNvbHV0ZSA9IGZ1bmN0aW9uIChhUGF0aCkge1xuICByZXR1cm4gYVBhdGguY2hhckF0KDApID09PSAnLycgfHwgdXJsUmVnZXhwLnRlc3QoYVBhdGgpO1xufTtcblxuLyoqXG4gKiBNYWtlIGEgcGF0aCByZWxhdGl2ZSB0byBhIFVSTCBvciBhbm90aGVyIHBhdGguXG4gKlxuICogQHBhcmFtIGFSb290IFRoZSByb290IHBhdGggb3IgVVJMLlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIFVSTCB0byBiZSBtYWRlIHJlbGF0aXZlIHRvIGFSb290LlxuICovXG5mdW5jdGlvbiByZWxhdGl2ZShhUm9vdCwgYVBhdGgpIHtcbiAgaWYgKGFSb290ID09PSBcIlwiKSB7XG4gICAgYVJvb3QgPSBcIi5cIjtcbiAgfVxuXG4gIGFSb290ID0gYVJvb3QucmVwbGFjZSgvXFwvJC8sICcnKTtcblxuICAvLyBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIHBhdGggdG8gYmUgYWJvdmUgdGhlIHJvb3QuIEluIHRoaXMgY2FzZSwgc2ltcGx5XG4gIC8vIGNoZWNraW5nIHdoZXRoZXIgdGhlIHJvb3QgaXMgYSBwcmVmaXggb2YgdGhlIHBhdGggd29uJ3Qgd29yay4gSW5zdGVhZCwgd2VcbiAgLy8gbmVlZCB0byByZW1vdmUgY29tcG9uZW50cyBmcm9tIHRoZSByb290IG9uZSBieSBvbmUsIHVudGlsIGVpdGhlciB3ZSBmaW5kXG4gIC8vIGEgcHJlZml4IHRoYXQgZml0cywgb3Igd2UgcnVuIG91dCBvZiBjb21wb25lbnRzIHRvIHJlbW92ZS5cbiAgdmFyIGxldmVsID0gMDtcbiAgd2hpbGUgKGFQYXRoLmluZGV4T2YoYVJvb3QgKyAnLycpICE9PSAwKSB7XG4gICAgdmFyIGluZGV4ID0gYVJvb3QubGFzdEluZGV4T2YoXCIvXCIpO1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgb25seSBwYXJ0IG9mIHRoZSByb290IHRoYXQgaXMgbGVmdCBpcyB0aGUgc2NoZW1lIChpLmUuIGh0dHA6Ly8sXG4gICAgLy8gZmlsZTovLy8sIGV0Yy4pLCBvbmUgb3IgbW9yZSBzbGFzaGVzICgvKSwgb3Igc2ltcGx5IG5vdGhpbmcgYXQgYWxsLCB3ZVxuICAgIC8vIGhhdmUgZXhoYXVzdGVkIGFsbCBjb21wb25lbnRzLCBzbyB0aGUgcGF0aCBpcyBub3QgcmVsYXRpdmUgdG8gdGhlIHJvb3QuXG4gICAgYVJvb3QgPSBhUm9vdC5zbGljZSgwLCBpbmRleCk7XG4gICAgaWYgKGFSb290Lm1hdGNoKC9eKFteXFwvXSs6XFwvKT9cXC8qJC8pKSB7XG4gICAgICByZXR1cm4gYVBhdGg7XG4gICAgfVxuXG4gICAgKytsZXZlbDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB3ZSBhZGQgYSBcIi4uL1wiIGZvciBlYWNoIGNvbXBvbmVudCB3ZSByZW1vdmVkIGZyb20gdGhlIHJvb3QuXG4gIHJldHVybiBBcnJheShsZXZlbCArIDEpLmpvaW4oXCIuLi9cIikgKyBhUGF0aC5zdWJzdHIoYVJvb3QubGVuZ3RoICsgMSk7XG59XG5leHBvcnRzLnJlbGF0aXZlID0gcmVsYXRpdmU7XG5cbnZhciBzdXBwb3J0c051bGxQcm90byA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciBvYmogPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gISgnX19wcm90b19fJyBpbiBvYmopO1xufSgpKTtcblxuZnVuY3Rpb24gaWRlbnRpdHkgKHMpIHtcbiAgcmV0dXJuIHM7XG59XG5cbi8qKlxuICogQmVjYXVzZSBiZWhhdmlvciBnb2VzIHdhY2t5IHdoZW4geW91IHNldCBgX19wcm90b19fYCBvbiBvYmplY3RzLCB3ZVxuICogaGF2ZSB0byBwcmVmaXggYWxsIHRoZSBzdHJpbmdzIGluIG91ciBzZXQgd2l0aCBhbiBhcmJpdHJhcnkgY2hhcmFjdGVyLlxuICpcbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL3B1bGwvMzEgYW5kXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL2lzc3Vlcy8zMFxuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5mdW5jdGlvbiB0b1NldFN0cmluZyhhU3RyKSB7XG4gIGlmIChpc1Byb3RvU3RyaW5nKGFTdHIpKSB7XG4gICAgcmV0dXJuICckJyArIGFTdHI7XG4gIH1cblxuICByZXR1cm4gYVN0cjtcbn1cbmV4cG9ydHMudG9TZXRTdHJpbmcgPSBzdXBwb3J0c051bGxQcm90byA/IGlkZW50aXR5IDogdG9TZXRTdHJpbmc7XG5cbmZ1bmN0aW9uIGZyb21TZXRTdHJpbmcoYVN0cikge1xuICBpZiAoaXNQcm90b1N0cmluZyhhU3RyKSkge1xuICAgIHJldHVybiBhU3RyLnNsaWNlKDEpO1xuICB9XG5cbiAgcmV0dXJuIGFTdHI7XG59XG5leHBvcnRzLmZyb21TZXRTdHJpbmcgPSBzdXBwb3J0c051bGxQcm90byA/IGlkZW50aXR5IDogZnJvbVNldFN0cmluZztcblxuZnVuY3Rpb24gaXNQcm90b1N0cmluZyhzKSB7XG4gIGlmICghcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBsZW5ndGggPSBzLmxlbmd0aDtcblxuICBpZiAobGVuZ3RoIDwgOSAvKiBcIl9fcHJvdG9fX1wiLmxlbmd0aCAqLykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChzLmNoYXJDb2RlQXQobGVuZ3RoIC0gMSkgIT09IDk1ICAvKiAnXycgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSAyKSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDMpICE9PSAxMTEgLyogJ28nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNCkgIT09IDExNiAvKiAndCcgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA1KSAhPT0gMTExIC8qICdvJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDYpICE9PSAxMTQgLyogJ3InICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNykgIT09IDExMiAvKiAncCcgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA4KSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDkpICE9PSA5NSAgLyogJ18nICovKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yICh2YXIgaSA9IGxlbmd0aCAtIDEwOyBpID49IDA7IGktLSkge1xuICAgIGlmIChzLmNoYXJDb2RlQXQoaSkgIT09IDM2IC8qICckJyAqLykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIENvbXBhcmF0b3IgYmV0d2VlbiB0d28gbWFwcGluZ3Mgd2hlcmUgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucyBhcmUgY29tcGFyZWQuXG4gKlxuICogT3B0aW9uYWxseSBwYXNzIGluIGB0cnVlYCBhcyBgb25seUNvbXBhcmVHZW5lcmF0ZWRgIHRvIGNvbnNpZGVyIHR3b1xuICogbWFwcGluZ3Mgd2l0aCB0aGUgc2FtZSBvcmlnaW5hbCBzb3VyY2UvbGluZS9jb2x1bW4sIGJ1dCBkaWZmZXJlbnQgZ2VuZXJhdGVkXG4gKiBsaW5lIGFuZCBjb2x1bW4gdGhlIHNhbWUuIFVzZWZ1bCB3aGVuIHNlYXJjaGluZyBmb3IgYSBtYXBwaW5nIHdpdGggYVxuICogc3R1YmJlZCBvdXQgbWFwcGluZy5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMobWFwcGluZ0EsIG1hcHBpbmdCLCBvbmx5Q29tcGFyZU9yaWdpbmFsKSB7XG4gIHZhciBjbXAgPSBzdHJjbXAobWFwcGluZ0Euc291cmNlLCBtYXBwaW5nQi5zb3VyY2UpO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsTGluZSAtIG1hcHBpbmdCLm9yaWdpbmFsTGluZTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5vcmlnaW5hbENvbHVtbiAtIG1hcHBpbmdCLm9yaWdpbmFsQ29sdW1uO1xuICBpZiAoY21wICE9PSAwIHx8IG9ubHlDb21wYXJlT3JpZ2luYWwpIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkQ29sdW1uIC0gbWFwcGluZ0IuZ2VuZXJhdGVkQ29sdW1uO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLmdlbmVyYXRlZExpbmUgLSBtYXBwaW5nQi5nZW5lcmF0ZWRMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHJldHVybiBzdHJjbXAobWFwcGluZ0EubmFtZSwgbWFwcGluZ0IubmFtZSk7XG59XG5leHBvcnRzLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zID0gY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnM7XG5cbi8qKlxuICogQ29tcGFyYXRvciBiZXR3ZWVuIHR3byBtYXBwaW5ncyB3aXRoIGRlZmxhdGVkIHNvdXJjZSBhbmQgbmFtZSBpbmRpY2VzIHdoZXJlXG4gKiB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucyBhcmUgY29tcGFyZWQuXG4gKlxuICogT3B0aW9uYWxseSBwYXNzIGluIGB0cnVlYCBhcyBgb25seUNvbXBhcmVHZW5lcmF0ZWRgIHRvIGNvbnNpZGVyIHR3b1xuICogbWFwcGluZ3Mgd2l0aCB0aGUgc2FtZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uLCBidXQgZGlmZmVyZW50XG4gKiBzb3VyY2UvbmFtZS9vcmlnaW5hbCBsaW5lIGFuZCBjb2x1bW4gdGhlIHNhbWUuIFVzZWZ1bCB3aGVuIHNlYXJjaGluZyBmb3IgYVxuICogbWFwcGluZyB3aXRoIGEgc3R1YmJlZCBvdXQgbWFwcGluZy5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zRGVmbGF0ZWQobWFwcGluZ0EsIG1hcHBpbmdCLCBvbmx5Q29tcGFyZUdlbmVyYXRlZCkge1xuICB2YXIgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkQ29sdW1uIC0gbWFwcGluZ0IuZ2VuZXJhdGVkQ29sdW1uO1xuICBpZiAoY21wICE9PSAwIHx8IG9ubHlDb21wYXJlR2VuZXJhdGVkKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IHN0cmNtcChtYXBwaW5nQS5zb3VyY2UsIG1hcHBpbmdCLnNvdXJjZSk7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIHN0cmNtcChtYXBwaW5nQS5uYW1lLCBtYXBwaW5nQi5uYW1lKTtcbn1cbmV4cG9ydHMuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zRGVmbGF0ZWQgPSBjb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZDtcblxuZnVuY3Rpb24gc3RyY21wKGFTdHIxLCBhU3RyMikge1xuICBpZiAoYVN0cjEgPT09IGFTdHIyKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBpZiAoYVN0cjEgPT09IG51bGwpIHtcbiAgICByZXR1cm4gMTsgLy8gYVN0cjIgIT09IG51bGxcbiAgfVxuXG4gIGlmIChhU3RyMiA9PT0gbnVsbCkge1xuICAgIHJldHVybiAtMTsgLy8gYVN0cjEgIT09IG51bGxcbiAgfVxuXG4gIGlmIChhU3RyMSA+IGFTdHIyKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICByZXR1cm4gLTE7XG59XG5cbi8qKlxuICogQ29tcGFyYXRvciBiZXR3ZWVuIHR3byBtYXBwaW5ncyB3aXRoIGluZmxhdGVkIHNvdXJjZSBhbmQgbmFtZSBzdHJpbmdzIHdoZXJlXG4gKiB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucyBhcmUgY29tcGFyZWQuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmdBLCBtYXBwaW5nQikge1xuICB2YXIgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkQ29sdW1uIC0gbWFwcGluZ0IuZ2VuZXJhdGVkQ29sdW1uO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IHN0cmNtcChtYXBwaW5nQS5zb3VyY2UsIG1hcHBpbmdCLnNvdXJjZSk7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIHN0cmNtcChtYXBwaW5nQS5uYW1lLCBtYXBwaW5nQi5uYW1lKTtcbn1cbmV4cG9ydHMuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQgPSBjb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZDtcblxuLyoqXG4gKiBTdHJpcCBhbnkgSlNPTiBYU1NJIGF2b2lkYW5jZSBwcmVmaXggZnJvbSB0aGUgc3RyaW5nIChhcyBkb2N1bWVudGVkXG4gKiBpbiB0aGUgc291cmNlIG1hcHMgc3BlY2lmaWNhdGlvbiksIGFuZCB0aGVuIHBhcnNlIHRoZSBzdHJpbmcgYXNcbiAqIEpTT04uXG4gKi9cbmZ1bmN0aW9uIHBhcnNlU291cmNlTWFwSW5wdXQoc3RyKSB7XG4gIHJldHVybiBKU09OLnBhcnNlKHN0ci5yZXBsYWNlKC9eXFwpXX0nW15cXG5dKlxcbi8sICcnKSk7XG59XG5leHBvcnRzLnBhcnNlU291cmNlTWFwSW5wdXQgPSBwYXJzZVNvdXJjZU1hcElucHV0O1xuXG4vKipcbiAqIENvbXB1dGUgdGhlIFVSTCBvZiBhIHNvdXJjZSBnaXZlbiB0aGUgdGhlIHNvdXJjZSByb290LCB0aGUgc291cmNlJ3NcbiAqIFVSTCwgYW5kIHRoZSBzb3VyY2UgbWFwJ3MgVVJMLlxuICovXG5mdW5jdGlvbiBjb21wdXRlU291cmNlVVJMKHNvdXJjZVJvb3QsIHNvdXJjZVVSTCwgc291cmNlTWFwVVJMKSB7XG4gIHNvdXJjZVVSTCA9IHNvdXJjZVVSTCB8fCAnJztcblxuICBpZiAoc291cmNlUm9vdCkge1xuICAgIC8vIFRoaXMgZm9sbG93cyB3aGF0IENocm9tZSBkb2VzLlxuICAgIGlmIChzb3VyY2VSb290W3NvdXJjZVJvb3QubGVuZ3RoIC0gMV0gIT09ICcvJyAmJiBzb3VyY2VVUkxbMF0gIT09ICcvJykge1xuICAgICAgc291cmNlUm9vdCArPSAnLyc7XG4gICAgfVxuICAgIC8vIFRoZSBzcGVjIHNheXM6XG4gICAgLy8gICBMaW5lIDQ6IEFuIG9wdGlvbmFsIHNvdXJjZSByb290LCB1c2VmdWwgZm9yIHJlbG9jYXRpbmcgc291cmNlXG4gICAgLy8gICBmaWxlcyBvbiBhIHNlcnZlciBvciByZW1vdmluZyByZXBlYXRlZCB2YWx1ZXMgaW4gdGhlXG4gICAgLy8gICDigJxzb3VyY2Vz4oCdIGVudHJ5LiAgVGhpcyB2YWx1ZSBpcyBwcmVwZW5kZWQgdG8gdGhlIGluZGl2aWR1YWxcbiAgICAvLyAgIGVudHJpZXMgaW4gdGhlIOKAnHNvdXJjZeKAnSBmaWVsZC5cbiAgICBzb3VyY2VVUkwgPSBzb3VyY2VSb290ICsgc291cmNlVVJMO1xuICB9XG5cbiAgLy8gSGlzdG9yaWNhbGx5LCBTb3VyY2VNYXBDb25zdW1lciBkaWQgbm90IHRha2UgdGhlIHNvdXJjZU1hcFVSTCBhc1xuICAvLyBhIHBhcmFtZXRlci4gIFRoaXMgbW9kZSBpcyBzdGlsbCBzb21ld2hhdCBzdXBwb3J0ZWQsIHdoaWNoIGlzIHdoeVxuICAvLyB0aGlzIGNvZGUgYmxvY2sgaXMgY29uZGl0aW9uYWwuICBIb3dldmVyLCBpdCdzIHByZWZlcmFibGUgdG8gcGFzc1xuICAvLyB0aGUgc291cmNlIG1hcCBVUkwgdG8gU291cmNlTWFwQ29uc3VtZXIsIHNvIHRoYXQgdGhpcyBmdW5jdGlvblxuICAvLyBjYW4gaW1wbGVtZW50IHRoZSBzb3VyY2UgVVJMIHJlc29sdXRpb24gYWxnb3JpdGhtIGFzIG91dGxpbmVkIGluXG4gIC8vIHRoZSBzcGVjLiAgVGhpcyBibG9jayBpcyBiYXNpY2FsbHkgdGhlIGVxdWl2YWxlbnQgb2Y6XG4gIC8vICAgIG5ldyBVUkwoc291cmNlVVJMLCBzb3VyY2VNYXBVUkwpLnRvU3RyaW5nKClcbiAgLy8gLi4uIGV4Y2VwdCBpdCBhdm9pZHMgdXNpbmcgVVJMLCB3aGljaCB3YXNuJ3QgYXZhaWxhYmxlIGluIHRoZVxuICAvLyBvbGRlciByZWxlYXNlcyBvZiBub2RlIHN0aWxsIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gIC8vXG4gIC8vIFRoZSBzcGVjIHNheXM6XG4gIC8vICAgSWYgdGhlIHNvdXJjZXMgYXJlIG5vdCBhYnNvbHV0ZSBVUkxzIGFmdGVyIHByZXBlbmRpbmcgb2YgdGhlXG4gIC8vICAg4oCcc291cmNlUm9vdOKAnSwgdGhlIHNvdXJjZXMgYXJlIHJlc29sdmVkIHJlbGF0aXZlIHRvIHRoZVxuICAvLyAgIFNvdXJjZU1hcCAobGlrZSByZXNvbHZpbmcgc2NyaXB0IHNyYyBpbiBhIGh0bWwgZG9jdW1lbnQpLlxuICBpZiAoc291cmNlTWFwVVJMKSB7XG4gICAgdmFyIHBhcnNlZCA9IHVybFBhcnNlKHNvdXJjZU1hcFVSTCk7XG4gICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInNvdXJjZU1hcFVSTCBjb3VsZCBub3QgYmUgcGFyc2VkXCIpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkLnBhdGgpIHtcbiAgICAgIC8vIFN0cmlwIHRoZSBsYXN0IHBhdGggY29tcG9uZW50LCBidXQga2VlcCB0aGUgXCIvXCIuXG4gICAgICB2YXIgaW5kZXggPSBwYXJzZWQucGF0aC5sYXN0SW5kZXhPZignLycpO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgcGFyc2VkLnBhdGggPSBwYXJzZWQucGF0aC5zdWJzdHJpbmcoMCwgaW5kZXggKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc291cmNlVVJMID0gam9pbih1cmxHZW5lcmF0ZShwYXJzZWQpLCBzb3VyY2VVUkwpO1xuICB9XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZShzb3VyY2VVUkwpO1xufVxuZXhwb3J0cy5jb21wdXRlU291cmNlVVJMID0gY29tcHV0ZVNvdXJjZVVSTDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL3V0aWwuanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgaGFzTmF0aXZlTWFwID0gdHlwZW9mIE1hcCAhPT0gXCJ1bmRlZmluZWRcIjtcblxuLyoqXG4gKiBBIGRhdGEgc3RydWN0dXJlIHdoaWNoIGlzIGEgY29tYmluYXRpb24gb2YgYW4gYXJyYXkgYW5kIGEgc2V0LiBBZGRpbmcgYSBuZXdcbiAqIG1lbWJlciBpcyBPKDEpLCB0ZXN0aW5nIGZvciBtZW1iZXJzaGlwIGlzIE8oMSksIGFuZCBmaW5kaW5nIHRoZSBpbmRleCBvZiBhblxuICogZWxlbWVudCBpcyBPKDEpLiBSZW1vdmluZyBlbGVtZW50cyBmcm9tIHRoZSBzZXQgaXMgbm90IHN1cHBvcnRlZC4gT25seVxuICogc3RyaW5ncyBhcmUgc3VwcG9ydGVkIGZvciBtZW1iZXJzaGlwLlxuICovXG5mdW5jdGlvbiBBcnJheVNldCgpIHtcbiAgdGhpcy5fYXJyYXkgPSBbXTtcbiAgdGhpcy5fc2V0ID0gaGFzTmF0aXZlTWFwID8gbmV3IE1hcCgpIDogT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuLyoqXG4gKiBTdGF0aWMgbWV0aG9kIGZvciBjcmVhdGluZyBBcnJheVNldCBpbnN0YW5jZXMgZnJvbSBhbiBleGlzdGluZyBhcnJheS5cbiAqL1xuQXJyYXlTZXQuZnJvbUFycmF5ID0gZnVuY3Rpb24gQXJyYXlTZXRfZnJvbUFycmF5KGFBcnJheSwgYUFsbG93RHVwbGljYXRlcykge1xuICB2YXIgc2V0ID0gbmV3IEFycmF5U2V0KCk7XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzZXQuYWRkKGFBcnJheVtpXSwgYUFsbG93RHVwbGljYXRlcyk7XG4gIH1cbiAgcmV0dXJuIHNldDtcbn07XG5cbi8qKlxuICogUmV0dXJuIGhvdyBtYW55IHVuaXF1ZSBpdGVtcyBhcmUgaW4gdGhpcyBBcnJheVNldC4gSWYgZHVwbGljYXRlcyBoYXZlIGJlZW5cbiAqIGFkZGVkLCB0aGFuIHRob3NlIGRvIG5vdCBjb3VudCB0b3dhcmRzIHRoZSBzaXplLlxuICpcbiAqIEByZXR1cm5zIE51bWJlclxuICovXG5BcnJheVNldC5wcm90b3R5cGUuc2l6ZSA9IGZ1bmN0aW9uIEFycmF5U2V0X3NpemUoKSB7XG4gIHJldHVybiBoYXNOYXRpdmVNYXAgPyB0aGlzLl9zZXQuc2l6ZSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX3NldCkubGVuZ3RoO1xufTtcblxuLyoqXG4gKiBBZGQgdGhlIGdpdmVuIHN0cmluZyB0byB0aGlzIHNldC5cbiAqXG4gKiBAcGFyYW0gU3RyaW5nIGFTdHJcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIEFycmF5U2V0X2FkZChhU3RyLCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gIHZhciBzU3RyID0gaGFzTmF0aXZlTWFwID8gYVN0ciA6IHV0aWwudG9TZXRTdHJpbmcoYVN0cik7XG4gIHZhciBpc0R1cGxpY2F0ZSA9IGhhc05hdGl2ZU1hcCA/IHRoaXMuaGFzKGFTdHIpIDogaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKTtcbiAgdmFyIGlkeCA9IHRoaXMuX2FycmF5Lmxlbmd0aDtcbiAgaWYgKCFpc0R1cGxpY2F0ZSB8fCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhU3RyKTtcbiAgfVxuICBpZiAoIWlzRHVwbGljYXRlKSB7XG4gICAgaWYgKGhhc05hdGl2ZU1hcCkge1xuICAgICAgdGhpcy5fc2V0LnNldChhU3RyLCBpZHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXRbc1N0cl0gPSBpZHg7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIElzIHRoZSBnaXZlbiBzdHJpbmcgYSBtZW1iZXIgb2YgdGhpcyBzZXQ/XG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbkFycmF5U2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBBcnJheVNldF9oYXMoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldC5oYXMoYVN0cik7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHNTdHIgPSB1dGlsLnRvU2V0U3RyaW5nKGFTdHIpO1xuICAgIHJldHVybiBoYXMuY2FsbCh0aGlzLl9zZXQsIHNTdHIpO1xuICB9XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGluZGV4IG9mIHRoZSBnaXZlbiBzdHJpbmcgaW4gdGhlIGFycmF5P1xuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5BcnJheVNldC5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIEFycmF5U2V0X2luZGV4T2YoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgdmFyIGlkeCA9IHRoaXMuX3NldC5nZXQoYVN0cik7XG4gICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBpZHg7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzU3RyID0gdXRpbC50b1NldFN0cmluZyhhU3RyKTtcbiAgICBpZiAoaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NldFtzU3RyXTtcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFTdHIgKyAnXCIgaXMgbm90IGluIHRoZSBzZXQuJyk7XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGVsZW1lbnQgYXQgdGhlIGdpdmVuIGluZGV4P1xuICpcbiAqIEBwYXJhbSBOdW1iZXIgYUlkeFxuICovXG5BcnJheVNldC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiBBcnJheVNldF9hdChhSWR4KSB7XG4gIGlmIChhSWR4ID49IDAgJiYgYUlkeCA8IHRoaXMuX2FycmF5Lmxlbmd0aCkge1xuICAgIHJldHVybiB0aGlzLl9hcnJheVthSWR4XTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgaW5kZXhlZCBieSAnICsgYUlkeCk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc2V0ICh3aGljaCBoYXMgdGhlIHByb3BlciBpbmRpY2VzXG4gKiBpbmRpY2F0ZWQgYnkgaW5kZXhPZikuIE5vdGUgdGhhdCB0aGlzIGlzIGEgY29weSBvZiB0aGUgaW50ZXJuYWwgYXJyYXkgdXNlZFxuICogZm9yIHN0b3JpbmcgdGhlIG1lbWJlcnMgc28gdGhhdCBubyBvbmUgY2FuIG1lc3Mgd2l0aCBpbnRlcm5hbCBzdGF0ZS5cbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiBBcnJheVNldF90b0FycmF5KCkge1xuICByZXR1cm4gdGhpcy5fYXJyYXkuc2xpY2UoKTtcbn07XG5cbmV4cG9ydHMuQXJyYXlTZXQgPSBBcnJheVNldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL2FycmF5LXNldC5qc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTQgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciB1dGlsID0gcmVxdWlyZSgnLi91dGlsJyk7XG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgbWFwcGluZ0IgaXMgYWZ0ZXIgbWFwcGluZ0Egd2l0aCByZXNwZWN0IHRvIGdlbmVyYXRlZFxuICogcG9zaXRpb24uXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlZFBvc2l0aW9uQWZ0ZXIobWFwcGluZ0EsIG1hcHBpbmdCKSB7XG4gIC8vIE9wdGltaXplZCBmb3IgbW9zdCBjb21tb24gY2FzZVxuICB2YXIgbGluZUEgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lO1xuICB2YXIgbGluZUIgPSBtYXBwaW5nQi5nZW5lcmF0ZWRMaW5lO1xuICB2YXIgY29sdW1uQSA9IG1hcHBpbmdBLmdlbmVyYXRlZENvbHVtbjtcbiAgdmFyIGNvbHVtbkIgPSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIHJldHVybiBsaW5lQiA+IGxpbmVBIHx8IGxpbmVCID09IGxpbmVBICYmIGNvbHVtbkIgPj0gY29sdW1uQSB8fFxuICAgICAgICAgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZChtYXBwaW5nQSwgbWFwcGluZ0IpIDw9IDA7XG59XG5cbi8qKlxuICogQSBkYXRhIHN0cnVjdHVyZSB0byBwcm92aWRlIGEgc29ydGVkIHZpZXcgb2YgYWNjdW11bGF0ZWQgbWFwcGluZ3MgaW4gYVxuICogcGVyZm9ybWFuY2UgY29uc2Npb3VzIG1hbm5lci4gSXQgdHJhZGVzIGEgbmVnbGliYWJsZSBvdmVyaGVhZCBpbiBnZW5lcmFsXG4gKiBjYXNlIGZvciBhIGxhcmdlIHNwZWVkdXAgaW4gY2FzZSBvZiBtYXBwaW5ncyBiZWluZyBhZGRlZCBpbiBvcmRlci5cbiAqL1xuZnVuY3Rpb24gTWFwcGluZ0xpc3QoKSB7XG4gIHRoaXMuX2FycmF5ID0gW107XG4gIHRoaXMuX3NvcnRlZCA9IHRydWU7XG4gIC8vIFNlcnZlcyBhcyBpbmZpbXVtXG4gIHRoaXMuX2xhc3QgPSB7Z2VuZXJhdGVkTGluZTogLTEsIGdlbmVyYXRlZENvbHVtbjogMH07XG59XG5cbi8qKlxuICogSXRlcmF0ZSB0aHJvdWdoIGludGVybmFsIGl0ZW1zLiBUaGlzIG1ldGhvZCB0YWtlcyB0aGUgc2FtZSBhcmd1bWVudHMgdGhhdFxuICogYEFycmF5LnByb3RvdHlwZS5mb3JFYWNoYCB0YWtlcy5cbiAqXG4gKiBOT1RFOiBUaGUgb3JkZXIgb2YgdGhlIG1hcHBpbmdzIGlzIE5PVCBndWFyYW50ZWVkLlxuICovXG5NYXBwaW5nTGlzdC5wcm90b3R5cGUudW5zb3J0ZWRGb3JFYWNoID1cbiAgZnVuY3Rpb24gTWFwcGluZ0xpc3RfZm9yRWFjaChhQ2FsbGJhY2ssIGFUaGlzQXJnKSB7XG4gICAgdGhpcy5fYXJyYXkuZm9yRWFjaChhQ2FsbGJhY2ssIGFUaGlzQXJnKTtcbiAgfTtcblxuLyoqXG4gKiBBZGQgdGhlIGdpdmVuIHNvdXJjZSBtYXBwaW5nLlxuICpcbiAqIEBwYXJhbSBPYmplY3QgYU1hcHBpbmdcbiAqL1xuTWFwcGluZ0xpc3QucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIE1hcHBpbmdMaXN0X2FkZChhTWFwcGluZykge1xuICBpZiAoZ2VuZXJhdGVkUG9zaXRpb25BZnRlcih0aGlzLl9sYXN0LCBhTWFwcGluZykpIHtcbiAgICB0aGlzLl9sYXN0ID0gYU1hcHBpbmc7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhTWFwcGluZyk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5fc29ydGVkID0gZmFsc2U7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhTWFwcGluZyk7XG4gIH1cbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmxhdCwgc29ydGVkIGFycmF5IG9mIG1hcHBpbmdzLiBUaGUgbWFwcGluZ3MgYXJlIHNvcnRlZCBieVxuICogZ2VuZXJhdGVkIHBvc2l0aW9uLlxuICpcbiAqIFdBUk5JTkc6IFRoaXMgbWV0aG9kIHJldHVybnMgaW50ZXJuYWwgZGF0YSB3aXRob3V0IGNvcHlpbmcsIGZvclxuICogcGVyZm9ybWFuY2UuIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBOT1QgYmUgbXV0YXRlZCwgYW5kIHNob3VsZCBiZSB0cmVhdGVkIGFzXG4gKiBhbiBpbW11dGFibGUgYm9ycm93LiBJZiB5b3Ugd2FudCB0byB0YWtlIG93bmVyc2hpcCwgeW91IG11c3QgbWFrZSB5b3VyIG93blxuICogY29weS5cbiAqL1xuTWFwcGluZ0xpc3QucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiBNYXBwaW5nTGlzdF90b0FycmF5KCkge1xuICBpZiAoIXRoaXMuX3NvcnRlZCkge1xuICAgIHRoaXMuX2FycmF5LnNvcnQodXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZCk7XG4gICAgdGhpcy5fc29ydGVkID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gdGhpcy5fYXJyYXk7XG59O1xuXG5leHBvcnRzLk1hcHBpbmdMaXN0ID0gTWFwcGluZ0xpc3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2xpYi9tYXBwaW5nLWxpc3QuanNcbi8vIG1vZHVsZSBpZCA9IDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIGJpbmFyeVNlYXJjaCA9IHJlcXVpcmUoJy4vYmluYXJ5LXNlYXJjaCcpO1xudmFyIEFycmF5U2V0ID0gcmVxdWlyZSgnLi9hcnJheS1zZXQnKS5BcnJheVNldDtcbnZhciBiYXNlNjRWTFEgPSByZXF1aXJlKCcuL2Jhc2U2NC12bHEnKTtcbnZhciBxdWlja1NvcnQgPSByZXF1aXJlKCcuL3F1aWNrLXNvcnQnKS5xdWlja1NvcnQ7XG5cbmZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgdmFyIHNvdXJjZU1hcCA9IGFTb3VyY2VNYXA7XG4gIGlmICh0eXBlb2YgYVNvdXJjZU1hcCA9PT0gJ3N0cmluZycpIHtcbiAgICBzb3VyY2VNYXAgPSB1dGlsLnBhcnNlU291cmNlTWFwSW5wdXQoYVNvdXJjZU1hcCk7XG4gIH1cblxuICByZXR1cm4gc291cmNlTWFwLnNlY3Rpb25zICE9IG51bGxcbiAgICA/IG5ldyBJbmRleGVkU291cmNlTWFwQ29uc3VtZXIoc291cmNlTWFwLCBhU291cmNlTWFwVVJMKVxuICAgIDogbmV3IEJhc2ljU291cmNlTWFwQ29uc3VtZXIoc291cmNlTWFwLCBhU291cmNlTWFwVVJMKTtcbn1cblxuU291cmNlTWFwQ29uc3VtZXIuZnJvbVNvdXJjZU1hcCA9IGZ1bmN0aW9uKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgcmV0dXJuIEJhc2ljU291cmNlTWFwQ29uc3VtZXIuZnJvbVNvdXJjZU1hcChhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKTtcbn1cblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcHBpbmcgc3BlYyB0aGF0IHdlIGFyZSBjb25zdW1pbmcuXG4gKi9cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8vIGBfX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmQgYF9fb3JpZ2luYWxNYXBwaW5nc2AgYXJlIGFycmF5cyB0aGF0IGhvbGQgdGhlXG4vLyBwYXJzZWQgbWFwcGluZyBjb29yZGluYXRlcyBmcm9tIHRoZSBzb3VyY2UgbWFwJ3MgXCJtYXBwaW5nc1wiIGF0dHJpYnV0ZS4gVGhleVxuLy8gYXJlIGxhemlseSBpbnN0YW50aWF0ZWQsIGFjY2Vzc2VkIHZpYSB0aGUgYF9nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kXG4vLyBgX29yaWdpbmFsTWFwcGluZ3NgIGdldHRlcnMgcmVzcGVjdGl2ZWx5LCBhbmQgd2Ugb25seSBwYXJzZSB0aGUgbWFwcGluZ3Ncbi8vIGFuZCBjcmVhdGUgdGhlc2UgYXJyYXlzIG9uY2UgcXVlcmllZCBmb3IgYSBzb3VyY2UgbG9jYXRpb24uIFdlIGp1bXAgdGhyb3VnaFxuLy8gdGhlc2UgaG9vcHMgYmVjYXVzZSB0aGVyZSBjYW4gYmUgbWFueSB0aG91c2FuZHMgb2YgbWFwcGluZ3MsIGFuZCBwYXJzaW5nXG4vLyB0aGVtIGlzIGV4cGVuc2l2ZSwgc28gd2Ugb25seSB3YW50IHRvIGRvIGl0IGlmIHdlIG11c3QuXG4vL1xuLy8gRWFjaCBvYmplY3QgaW4gdGhlIGFycmF5cyBpcyBvZiB0aGUgZm9ybTpcbi8vXG4vLyAgICAge1xuLy8gICAgICAgZ2VuZXJhdGVkTGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgY29kZSxcbi8vICAgICAgIGdlbmVyYXRlZENvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBjb2RlLFxuLy8gICAgICAgc291cmNlOiBUaGUgcGF0aCB0byB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGUgdGhhdCBnZW5lcmF0ZWQgdGhpc1xuLy8gICAgICAgICAgICAgICBjaHVuayBvZiBjb2RlLFxuLy8gICAgICAgb3JpZ2luYWxMaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSB0aGF0XG4vLyAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRzIHRvIHRoaXMgY2h1bmsgb2YgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBvcmlnaW5hbENvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSB0aGF0XG4vLyAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZHMgdG8gdGhpcyBjaHVuayBvZiBnZW5lcmF0ZWQgY29kZSxcbi8vICAgICAgIG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBvcmlnaW5hbCBzeW1ib2wgd2hpY2ggZ2VuZXJhdGVkIHRoaXMgY2h1bmsgb2Zcbi8vICAgICAgICAgICAgIGNvZGUuXG4vLyAgICAgfVxuLy9cbi8vIEFsbCBwcm9wZXJ0aWVzIGV4Y2VwdCBmb3IgYGdlbmVyYXRlZExpbmVgIGFuZCBgZ2VuZXJhdGVkQ29sdW1uYCBjYW4gYmVcbi8vIGBudWxsYC5cbi8vXG4vLyBgX2dlbmVyYXRlZE1hcHBpbmdzYCBpcyBvcmRlcmVkIGJ5IHRoZSBnZW5lcmF0ZWQgcG9zaXRpb25zLlxuLy9cbi8vIGBfb3JpZ2luYWxNYXBwaW5nc2AgaXMgb3JkZXJlZCBieSB0aGUgb3JpZ2luYWwgcG9zaXRpb25zLlxuXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX19nZW5lcmF0ZWRNYXBwaW5ncyA9IG51bGw7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnX2dlbmVyYXRlZE1hcHBpbmdzJywge1xuICBjb25maWd1cmFibGU6IHRydWUsXG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICghdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzKSB7XG4gICAgICB0aGlzLl9wYXJzZU1hcHBpbmdzKHRoaXMuX21hcHBpbmdzLCB0aGlzLnNvdXJjZVJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3M7XG4gIH1cbn0pO1xuXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX19vcmlnaW5hbE1hcHBpbmdzID0gbnVsbDtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUsICdfb3JpZ2luYWxNYXBwaW5ncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuX19vcmlnaW5hbE1hcHBpbmdzKSB7XG4gICAgICB0aGlzLl9wYXJzZU1hcHBpbmdzKHRoaXMuX21hcHBpbmdzLCB0aGlzLnNvdXJjZVJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncztcbiAgfVxufSk7XG5cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fY2hhcklzTWFwcGluZ1NlcGFyYXRvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2NoYXJJc01hcHBpbmdTZXBhcmF0b3IoYVN0ciwgaW5kZXgpIHtcbiAgICB2YXIgYyA9IGFTdHIuY2hhckF0KGluZGV4KTtcbiAgICByZXR1cm4gYyA9PT0gXCI7XCIgfHwgYyA9PT0gXCIsXCI7XG4gIH07XG5cbi8qKlxuICogUGFyc2UgdGhlIG1hcHBpbmdzIGluIGEgc3RyaW5nIGluIHRvIGEgZGF0YSBzdHJ1Y3R1cmUgd2hpY2ggd2UgY2FuIGVhc2lseVxuICogcXVlcnkgKHRoZSBvcmRlcmVkIGFycmF5cyBpbiB0aGUgYHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kXG4gKiBgdGhpcy5fX29yaWdpbmFsTWFwcGluZ3NgIHByb3BlcnRpZXMpLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9wYXJzZU1hcHBpbmdzKGFTdHIsIGFTb3VyY2VSb290KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBfcGFyc2VNYXBwaW5nc1wiKTtcbiAgfTtcblxuU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSID0gMTtcblNvdXJjZU1hcENvbnN1bWVyLk9SSUdJTkFMX09SREVSID0gMjtcblxuU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuU291cmNlTWFwQ29uc3VtZXIuTEVBU1RfVVBQRVJfQk9VTkQgPSAyO1xuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciBlYWNoIG1hcHBpbmcgYmV0d2VlbiBhbiBvcmlnaW5hbCBzb3VyY2UvbGluZS9jb2x1bW4gYW5kIGFcbiAqIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiBpbiB0aGlzIHNvdXJjZSBtYXAuXG4gKlxuICogQHBhcmFtIEZ1bmN0aW9uIGFDYWxsYmFja1xuICogICAgICAgIFRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aXRoIGVhY2ggbWFwcGluZy5cbiAqIEBwYXJhbSBPYmplY3QgYUNvbnRleHRcbiAqICAgICAgICBPcHRpb25hbC4gSWYgc3BlY2lmaWVkLCB0aGlzIG9iamVjdCB3aWxsIGJlIHRoZSB2YWx1ZSBvZiBgdGhpc2AgZXZlcnlcbiAqICAgICAgICB0aW1lIHRoYXQgYGFDYWxsYmFja2AgaXMgY2FsbGVkLlxuICogQHBhcmFtIGFPcmRlclxuICogICAgICAgIEVpdGhlciBgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSYCBvclxuICogICAgICAgIGBTb3VyY2VNYXBDb25zdW1lci5PUklHSU5BTF9PUkRFUmAuIFNwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvXG4gKiAgICAgICAgaXRlcmF0ZSBvdmVyIHRoZSBtYXBwaW5ncyBzb3J0ZWQgYnkgdGhlIGdlbmVyYXRlZCBmaWxlJ3MgbGluZS9jb2x1bW5cbiAqICAgICAgICBvcmRlciBvciB0aGUgb3JpZ2luYWwncyBzb3VyY2UvbGluZS9jb2x1bW4gb3JkZXIsIHJlc3BlY3RpdmVseS4gRGVmYXVsdHMgdG9cbiAqICAgICAgICBgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSYC5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmVhY2hNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZWFjaE1hcHBpbmcoYUNhbGxiYWNrLCBhQ29udGV4dCwgYU9yZGVyKSB7XG4gICAgdmFyIGNvbnRleHQgPSBhQ29udGV4dCB8fCBudWxsO1xuICAgIHZhciBvcmRlciA9IGFPcmRlciB8fCBTb3VyY2VNYXBDb25zdW1lci5HRU5FUkFURURfT1JERVI7XG5cbiAgICB2YXIgbWFwcGluZ3M7XG4gICAgc3dpdGNoIChvcmRlcikge1xuICAgIGNhc2UgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSOlxuICAgICAgbWFwcGluZ3MgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5ncztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgU291cmNlTWFwQ29uc3VtZXIuT1JJR0lOQUxfT1JERVI6XG4gICAgICBtYXBwaW5ncyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3M7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBvcmRlciBvZiBpdGVyYXRpb24uXCIpO1xuICAgIH1cblxuICAgIHZhciBzb3VyY2VSb290ID0gdGhpcy5zb3VyY2VSb290O1xuICAgIG1hcHBpbmdzLm1hcChmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgdmFyIHNvdXJjZSA9IG1hcHBpbmcuc291cmNlID09PSBudWxsID8gbnVsbCA6IHRoaXMuX3NvdXJjZXMuYXQobWFwcGluZy5zb3VyY2UpO1xuICAgICAgc291cmNlID0gdXRpbC5jb21wdXRlU291cmNlVVJMKHNvdXJjZVJvb3QsIHNvdXJjZSwgdGhpcy5fc291cmNlTWFwVVJMKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICBnZW5lcmF0ZWRMaW5lOiBtYXBwaW5nLmdlbmVyYXRlZExpbmUsXG4gICAgICAgIGdlbmVyYXRlZENvbHVtbjogbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4sXG4gICAgICAgIG9yaWdpbmFsTGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgIG9yaWdpbmFsQ29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uLFxuICAgICAgICBuYW1lOiBtYXBwaW5nLm5hbWUgPT09IG51bGwgPyBudWxsIDogdGhpcy5fbmFtZXMuYXQobWFwcGluZy5uYW1lKVxuICAgICAgfTtcbiAgICB9LCB0aGlzKS5mb3JFYWNoKGFDYWxsYmFjaywgY29udGV4dCk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyBhbGwgZ2VuZXJhdGVkIGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbiBmb3IgdGhlIG9yaWdpbmFsIHNvdXJjZSxcbiAqIGxpbmUsIGFuZCBjb2x1bW4gcHJvdmlkZWQuIElmIG5vIGNvbHVtbiBpcyBwcm92aWRlZCwgcmV0dXJucyBhbGwgbWFwcGluZ3NcbiAqIGNvcnJlc3BvbmRpbmcgdG8gYSBlaXRoZXIgdGhlIGxpbmUgd2UgYXJlIHNlYXJjaGluZyBmb3Igb3IgdGhlIG5leHRcbiAqIGNsb3Nlc3QgbGluZSB0aGF0IGhhcyBhbnkgbWFwcGluZ3MuIE90aGVyd2lzZSwgcmV0dXJucyBhbGwgbWFwcGluZ3NcbiAqIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIGxpbmUgYW5kIGVpdGhlciB0aGUgY29sdW1uIHdlIGFyZSBzZWFyY2hpbmcgZm9yXG4gKiBvciB0aGUgbmV4dCBjbG9zZXN0IGNvbHVtbiB0aGF0IGhhcyBhbnkgb2Zmc2V0cy5cbiAqXG4gKiBUaGUgb25seSBhcmd1bWVudCBpcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXIgaXMgMS1iYXNlZC5cbiAqICAgLSBjb2x1bW46IE9wdGlvbmFsLiB0aGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLlxuICogICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqXG4gKiBhbmQgYW4gYXJyYXkgb2Ygb2JqZWN0cyBpcyByZXR1cm5lZCwgZWFjaCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLiAgVGhlXG4gKiAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuXG4gKiAgICBUaGUgY29sdW1uIG51bWJlciBpcyAwLWJhc2VkLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuYWxsR2VuZXJhdGVkUG9zaXRpb25zRm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfYWxsR2VuZXJhdGVkUG9zaXRpb25zRm9yKGFBcmdzKSB7XG4gICAgdmFyIGxpbmUgPSB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKTtcblxuICAgIC8vIFdoZW4gdGhlcmUgaXMgbm8gZXhhY3QgbWF0Y2gsIEJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9maW5kTWFwcGluZ1xuICAgIC8vIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBjbG9zZXN0IG1hcHBpbmcgbGVzcyB0aGFuIHRoZSBuZWVkbGUuIEJ5XG4gICAgLy8gc2V0dGluZyBuZWVkbGUub3JpZ2luYWxDb2x1bW4gdG8gMCwgd2UgdGh1cyBmaW5kIHRoZSBsYXN0IG1hcHBpbmcgZm9yXG4gICAgLy8gdGhlIGdpdmVuIGxpbmUsIHByb3ZpZGVkIHN1Y2ggYSBtYXBwaW5nIGV4aXN0cy5cbiAgICB2YXIgbmVlZGxlID0ge1xuICAgICAgc291cmNlOiB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScpLFxuICAgICAgb3JpZ2luYWxMaW5lOiBsaW5lLFxuICAgICAgb3JpZ2luYWxDb2x1bW46IHV0aWwuZ2V0QXJnKGFBcmdzLCAnY29sdW1uJywgMClcbiAgICB9O1xuXG4gICAgbmVlZGxlLnNvdXJjZSA9IHRoaXMuX2ZpbmRTb3VyY2VJbmRleChuZWVkbGUuc291cmNlKTtcbiAgICBpZiAobmVlZGxlLnNvdXJjZSA8IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICB2YXIgbWFwcGluZ3MgPSBbXTtcblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRNYXBwaW5nKG5lZWRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib3JpZ2luYWxMaW5lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvcmlnaW5hbENvbHVtblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5U2VhcmNoLkxFQVNUX1VQUEVSX0JPVU5EKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzW2luZGV4XTtcblxuICAgICAgaWYgKGFBcmdzLmNvbHVtbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhciBvcmlnaW5hbExpbmUgPSBtYXBwaW5nLm9yaWdpbmFsTGluZTtcblxuICAgICAgICAvLyBJdGVyYXRlIHVudGlsIGVpdGhlciB3ZSBydW4gb3V0IG9mIG1hcHBpbmdzLCBvciB3ZSBydW4gaW50b1xuICAgICAgICAvLyBhIG1hcHBpbmcgZm9yIGEgZGlmZmVyZW50IGxpbmUgdGhhbiB0aGUgb25lIHdlIGZvdW5kLiBTaW5jZVxuICAgICAgICAvLyBtYXBwaW5ncyBhcmUgc29ydGVkLCB0aGlzIGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgbWFwcGluZ3MgZm9yXG4gICAgICAgIC8vIHRoZSBsaW5lIHdlIGZvdW5kLlxuICAgICAgICB3aGlsZSAobWFwcGluZyAmJiBtYXBwaW5nLm9yaWdpbmFsTGluZSA9PT0gb3JpZ2luYWxMaW5lKSB7XG4gICAgICAgICAgbWFwcGluZ3MucHVzaCh7XG4gICAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkTGluZScsIG51bGwpLFxuICAgICAgICAgICAgY29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkQ29sdW1uJywgbnVsbCksXG4gICAgICAgICAgICBsYXN0Q29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnbGFzdEdlbmVyYXRlZENvbHVtbicsIG51bGwpXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBtYXBwaW5nID0gdGhpcy5fb3JpZ2luYWxNYXBwaW5nc1srK2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIG9yaWdpbmFsQ29sdW1uID0gbWFwcGluZy5vcmlnaW5hbENvbHVtbjtcblxuICAgICAgICAvLyBJdGVyYXRlIHVudGlsIGVpdGhlciB3ZSBydW4gb3V0IG9mIG1hcHBpbmdzLCBvciB3ZSBydW4gaW50b1xuICAgICAgICAvLyBhIG1hcHBpbmcgZm9yIGEgZGlmZmVyZW50IGxpbmUgdGhhbiB0aGUgb25lIHdlIHdlcmUgc2VhcmNoaW5nIGZvci5cbiAgICAgICAgLy8gU2luY2UgbWFwcGluZ3MgYXJlIHNvcnRlZCwgdGhpcyBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG1hcHBpbmdzIGZvclxuICAgICAgICAvLyB0aGUgbGluZSB3ZSBhcmUgc2VhcmNoaW5nIGZvci5cbiAgICAgICAgd2hpbGUgKG1hcHBpbmcgJiZcbiAgICAgICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxMaW5lID09PSBsaW5lICYmXG4gICAgICAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uID09IG9yaWdpbmFsQ29sdW1uKSB7XG4gICAgICAgICAgbWFwcGluZ3MucHVzaCh7XG4gICAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkTGluZScsIG51bGwpLFxuICAgICAgICAgICAgY29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkQ29sdW1uJywgbnVsbCksXG4gICAgICAgICAgICBsYXN0Q29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnbGFzdEdlbmVyYXRlZENvbHVtbicsIG51bGwpXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBtYXBwaW5nID0gdGhpcy5fb3JpZ2luYWxNYXBwaW5nc1srK2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXBwaW5ncztcbiAgfTtcblxuZXhwb3J0cy5Tb3VyY2VNYXBDb25zdW1lciA9IFNvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIEEgQmFzaWNTb3VyY2VNYXBDb25zdW1lciBpbnN0YW5jZSByZXByZXNlbnRzIGEgcGFyc2VkIHNvdXJjZSBtYXAgd2hpY2ggd2UgY2FuXG4gKiBxdWVyeSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIGZpbGUgcG9zaXRpb25zIGJ5IGdpdmluZyBpdCBhIGZpbGVcbiAqIHBvc2l0aW9uIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLlxuICpcbiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgdGhlIHJhdyBzb3VyY2UgbWFwIChlaXRoZXIgYXMgYSBKU09OIHN0cmluZywgb3JcbiAqIGFscmVhZHkgcGFyc2VkIHRvIGFuIG9iamVjdCkuIEFjY29yZGluZyB0byB0aGUgc3BlYywgc291cmNlIG1hcHMgaGF2ZSB0aGVcbiAqIGZvbGxvd2luZyBhdHRyaWJ1dGVzOlxuICpcbiAqICAgLSB2ZXJzaW9uOiBXaGljaCB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwIHNwZWMgdGhpcyBtYXAgaXMgZm9sbG93aW5nLlxuICogICAtIHNvdXJjZXM6IEFuIGFycmF5IG9mIFVSTHMgdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlcy5cbiAqICAgLSBuYW1lczogQW4gYXJyYXkgb2YgaWRlbnRpZmllcnMgd2hpY2ggY2FuIGJlIHJlZmVycmVuY2VkIGJ5IGluZGl2aWR1YWwgbWFwcGluZ3MuXG4gKiAgIC0gc291cmNlUm9vdDogT3B0aW9uYWwuIFRoZSBVUkwgcm9vdCBmcm9tIHdoaWNoIGFsbCBzb3VyY2VzIGFyZSByZWxhdGl2ZS5cbiAqICAgLSBzb3VyY2VzQ29udGVudDogT3B0aW9uYWwuIEFuIGFycmF5IG9mIGNvbnRlbnRzIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMuXG4gKiAgIC0gbWFwcGluZ3M6IEEgc3RyaW5nIG9mIGJhc2U2NCBWTFFzIHdoaWNoIGNvbnRhaW4gdGhlIGFjdHVhbCBtYXBwaW5ncy5cbiAqICAgLSBmaWxlOiBPcHRpb25hbC4gVGhlIGdlbmVyYXRlZCBmaWxlIHRoaXMgc291cmNlIG1hcCBpcyBhc3NvY2lhdGVkIHdpdGguXG4gKlxuICogSGVyZSBpcyBhbiBleGFtcGxlIHNvdXJjZSBtYXAsIHRha2VuIGZyb20gdGhlIHNvdXJjZSBtYXAgc3BlY1swXTpcbiAqXG4gKiAgICAge1xuICogICAgICAgdmVyc2lvbiA6IDMsXG4gKiAgICAgICBmaWxlOiBcIm91dC5qc1wiLFxuICogICAgICAgc291cmNlUm9vdCA6IFwiXCIsXG4gKiAgICAgICBzb3VyY2VzOiBbXCJmb28uanNcIiwgXCJiYXIuanNcIl0sXG4gKiAgICAgICBuYW1lczogW1wic3JjXCIsIFwibWFwc1wiLCBcImFyZVwiLCBcImZ1blwiXSxcbiAqICAgICAgIG1hcHBpbmdzOiBcIkFBLEFCOztBQkNERTtcIlxuICogICAgIH1cbiAqXG4gKiBUaGUgc2Vjb25kIHBhcmFtZXRlciwgaWYgZ2l2ZW4sIGlzIGEgc3RyaW5nIHdob3NlIHZhbHVlIGlzIHRoZSBVUkxcbiAqIGF0IHdoaWNoIHRoZSBzb3VyY2UgbWFwIHdhcyBmb3VuZC4gIFRoaXMgVVJMIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGVcbiAqIHNvdXJjZXMgYXJyYXkuXG4gKlxuICogWzBdOiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFVMVJHQWVoUXdSeXBVVG92RjFLUmxwaU9GemUwYi1fMmdjNmZBSDBLWTBrL2VkaXQ/cGxpPTEjXG4gKi9cbmZ1bmN0aW9uIEJhc2ljU291cmNlTWFwQ29uc3VtZXIoYVNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTCkge1xuICB2YXIgc291cmNlTWFwID0gYVNvdXJjZU1hcDtcbiAgaWYgKHR5cGVvZiBhU291cmNlTWFwID09PSAnc3RyaW5nJykge1xuICAgIHNvdXJjZU1hcCA9IHV0aWwucGFyc2VTb3VyY2VNYXBJbnB1dChhU291cmNlTWFwKTtcbiAgfVxuXG4gIHZhciB2ZXJzaW9uID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAndmVyc2lvbicpO1xuICB2YXIgc291cmNlcyA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3NvdXJjZXMnKTtcbiAgLy8gU2FzcyAzLjMgbGVhdmVzIG91dCB0aGUgJ25hbWVzJyBhcnJheSwgc28gd2UgZGV2aWF0ZSBmcm9tIHRoZSBzcGVjICh3aGljaFxuICAvLyByZXF1aXJlcyB0aGUgYXJyYXkpIHRvIHBsYXkgbmljZSBoZXJlLlxuICB2YXIgbmFtZXMgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICduYW1lcycsIFtdKTtcbiAgdmFyIHNvdXJjZVJvb3QgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VSb290JywgbnVsbCk7XG4gIHZhciBzb3VyY2VzQ29udGVudCA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3NvdXJjZXNDb250ZW50JywgbnVsbCk7XG4gIHZhciBtYXBwaW5ncyA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ21hcHBpbmdzJyk7XG4gIHZhciBmaWxlID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnZmlsZScsIG51bGwpO1xuXG4gIC8vIE9uY2UgYWdhaW4sIFNhc3MgZGV2aWF0ZXMgZnJvbSB0aGUgc3BlYyBhbmQgc3VwcGxpZXMgdGhlIHZlcnNpb24gYXMgYVxuICAvLyBzdHJpbmcgcmF0aGVyIHRoYW4gYSBudW1iZXIsIHNvIHdlIHVzZSBsb29zZSBlcXVhbGl0eSBjaGVja2luZyBoZXJlLlxuICBpZiAodmVyc2lvbiAhPSB0aGlzLl92ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB2ZXJzaW9uOiAnICsgdmVyc2lvbik7XG4gIH1cblxuICBpZiAoc291cmNlUm9vdCkge1xuICAgIHNvdXJjZVJvb3QgPSB1dGlsLm5vcm1hbGl6ZShzb3VyY2VSb290KTtcbiAgfVxuXG4gIHNvdXJjZXMgPSBzb3VyY2VzXG4gICAgLm1hcChTdHJpbmcpXG4gICAgLy8gU29tZSBzb3VyY2UgbWFwcyBwcm9kdWNlIHJlbGF0aXZlIHNvdXJjZSBwYXRocyBsaWtlIFwiLi9mb28uanNcIiBpbnN0ZWFkIG9mXG4gICAgLy8gXCJmb28uanNcIi4gIE5vcm1hbGl6ZSB0aGVzZSBmaXJzdCBzbyB0aGF0IGZ1dHVyZSBjb21wYXJpc29ucyB3aWxsIHN1Y2NlZWQuXG4gICAgLy8gU2VlIGJ1Z3ppbC5sYS8xMDkwNzY4LlxuICAgIC5tYXAodXRpbC5ub3JtYWxpemUpXG4gICAgLy8gQWx3YXlzIGVuc3VyZSB0aGF0IGFic29sdXRlIHNvdXJjZXMgYXJlIGludGVybmFsbHkgc3RvcmVkIHJlbGF0aXZlIHRvXG4gICAgLy8gdGhlIHNvdXJjZSByb290LCBpZiB0aGUgc291cmNlIHJvb3QgaXMgYWJzb2x1dGUuIE5vdCBkb2luZyB0aGlzIHdvdWxkXG4gICAgLy8gYmUgcGFydGljdWxhcmx5IHByb2JsZW1hdGljIHdoZW4gdGhlIHNvdXJjZSByb290IGlzIGEgcHJlZml4IG9mIHRoZVxuICAgIC8vIHNvdXJjZSAodmFsaWQsIGJ1dCB3aHk/PykuIFNlZSBnaXRodWIgaXNzdWUgIzE5OSBhbmQgYnVnemlsLmxhLzExODg5ODIuXG4gICAgLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gc291cmNlUm9vdCAmJiB1dGlsLmlzQWJzb2x1dGUoc291cmNlUm9vdCkgJiYgdXRpbC5pc0Fic29sdXRlKHNvdXJjZSlcbiAgICAgICAgPyB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIHNvdXJjZSlcbiAgICAgICAgOiBzb3VyY2U7XG4gICAgfSk7XG5cbiAgLy8gUGFzcyBgdHJ1ZWAgYmVsb3cgdG8gYWxsb3cgZHVwbGljYXRlIG5hbWVzIGFuZCBzb3VyY2VzLiBXaGlsZSBzb3VyY2UgbWFwc1xuICAvLyBhcmUgaW50ZW5kZWQgdG8gYmUgY29tcHJlc3NlZCBhbmQgZGVkdXBsaWNhdGVkLCB0aGUgVHlwZVNjcmlwdCBjb21waWxlclxuICAvLyBzb21ldGltZXMgZ2VuZXJhdGVzIHNvdXJjZSBtYXBzIHdpdGggZHVwbGljYXRlcyBpbiB0aGVtLiBTZWUgR2l0aHViIGlzc3VlXG4gIC8vICM3MiBhbmQgYnVnemlsLmxhLzg4OTQ5Mi5cbiAgdGhpcy5fbmFtZXMgPSBBcnJheVNldC5mcm9tQXJyYXkobmFtZXMubWFwKFN0cmluZyksIHRydWUpO1xuICB0aGlzLl9zb3VyY2VzID0gQXJyYXlTZXQuZnJvbUFycmF5KHNvdXJjZXMsIHRydWUpO1xuXG4gIHRoaXMuX2Fic29sdXRlU291cmNlcyA9IHRoaXMuX3NvdXJjZXMudG9BcnJheSgpLm1hcChmdW5jdGlvbiAocykge1xuICAgIHJldHVybiB1dGlsLmNvbXB1dGVTb3VyY2VVUkwoc291cmNlUm9vdCwgcywgYVNvdXJjZU1hcFVSTCk7XG4gIH0pO1xuXG4gIHRoaXMuc291cmNlUm9vdCA9IHNvdXJjZVJvb3Q7XG4gIHRoaXMuc291cmNlc0NvbnRlbnQgPSBzb3VyY2VzQ29udGVudDtcbiAgdGhpcy5fbWFwcGluZ3MgPSBtYXBwaW5ncztcbiAgdGhpcy5fc291cmNlTWFwVVJMID0gYVNvdXJjZU1hcFVSTDtcbiAgdGhpcy5maWxlID0gZmlsZTtcbn1cblxuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSk7XG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5jb25zdW1lciA9IFNvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gZmluZCB0aGUgaW5kZXggb2YgYSBzb3VyY2UuICBSZXR1cm5zIC0xIGlmIG5vdFxuICogZm91bmQuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9maW5kU291cmNlSW5kZXggPSBmdW5jdGlvbihhU291cmNlKSB7XG4gIHZhciByZWxhdGl2ZVNvdXJjZSA9IGFTb3VyY2U7XG4gIGlmICh0aGlzLnNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgIHJlbGF0aXZlU291cmNlID0gdXRpbC5yZWxhdGl2ZSh0aGlzLnNvdXJjZVJvb3QsIHJlbGF0aXZlU291cmNlKTtcbiAgfVxuXG4gIGlmICh0aGlzLl9zb3VyY2VzLmhhcyhyZWxhdGl2ZVNvdXJjZSkpIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlcy5pbmRleE9mKHJlbGF0aXZlU291cmNlKTtcbiAgfVxuXG4gIC8vIE1heWJlIGFTb3VyY2UgaXMgYW4gYWJzb2x1dGUgVVJMIGFzIHJldHVybmVkIGJ5IHxzb3VyY2VzfC4gIEluXG4gIC8vIHRoaXMgY2FzZSB3ZSBjYW4ndCBzaW1wbHkgdW5kbyB0aGUgdHJhbnNmb3JtLlxuICB2YXIgaTtcbiAgZm9yIChpID0gMDsgaSA8IHRoaXMuX2Fic29sdXRlU291cmNlcy5sZW5ndGg7ICsraSkge1xuICAgIGlmICh0aGlzLl9hYnNvbHV0ZVNvdXJjZXNbaV0gPT0gYVNvdXJjZSkge1xuICAgICAgcmV0dXJuIGk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufTtcblxuLyoqXG4gKiBDcmVhdGUgYSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyIGZyb20gYSBTb3VyY2VNYXBHZW5lcmF0b3IuXG4gKlxuICogQHBhcmFtIFNvdXJjZU1hcEdlbmVyYXRvciBhU291cmNlTWFwXG4gKiAgICAgICAgVGhlIHNvdXJjZSBtYXAgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuICogQHBhcmFtIFN0cmluZyBhU291cmNlTWFwVVJMXG4gKiAgICAgICAgVGhlIFVSTCBhdCB3aGljaCB0aGUgc291cmNlIG1hcCBjYW4gYmUgZm91bmQgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQmFzaWNTb3VyY2VNYXBDb25zdW1lclxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9mcm9tU291cmNlTWFwKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgICB2YXIgc21jID0gT2JqZWN0LmNyZWF0ZShCYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSk7XG5cbiAgICB2YXIgbmFtZXMgPSBzbWMuX25hbWVzID0gQXJyYXlTZXQuZnJvbUFycmF5KGFTb3VyY2VNYXAuX25hbWVzLnRvQXJyYXkoKSwgdHJ1ZSk7XG4gICAgdmFyIHNvdXJjZXMgPSBzbWMuX3NvdXJjZXMgPSBBcnJheVNldC5mcm9tQXJyYXkoYVNvdXJjZU1hcC5fc291cmNlcy50b0FycmF5KCksIHRydWUpO1xuICAgIHNtYy5zb3VyY2VSb290ID0gYVNvdXJjZU1hcC5fc291cmNlUm9vdDtcbiAgICBzbWMuc291cmNlc0NvbnRlbnQgPSBhU291cmNlTWFwLl9nZW5lcmF0ZVNvdXJjZXNDb250ZW50KHNtYy5fc291cmNlcy50b0FycmF5KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbWMuc291cmNlUm9vdCk7XG4gICAgc21jLmZpbGUgPSBhU291cmNlTWFwLl9maWxlO1xuICAgIHNtYy5fc291cmNlTWFwVVJMID0gYVNvdXJjZU1hcFVSTDtcbiAgICBzbWMuX2Fic29sdXRlU291cmNlcyA9IHNtYy5fc291cmNlcy50b0FycmF5KCkubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgICByZXR1cm4gdXRpbC5jb21wdXRlU291cmNlVVJMKHNtYy5zb3VyY2VSb290LCBzLCBhU291cmNlTWFwVVJMKTtcbiAgICB9KTtcblxuICAgIC8vIEJlY2F1c2Ugd2UgYXJlIG1vZGlmeWluZyB0aGUgZW50cmllcyAoYnkgY29udmVydGluZyBzdHJpbmcgc291cmNlcyBhbmRcbiAgICAvLyBuYW1lcyB0byBpbmRpY2VzIGludG8gdGhlIHNvdXJjZXMgYW5kIG5hbWVzIEFycmF5U2V0cyksIHdlIGhhdmUgdG8gbWFrZVxuICAgIC8vIGEgY29weSBvZiB0aGUgZW50cnkgb3IgZWxzZSBiYWQgdGhpbmdzIGhhcHBlbi4gU2hhcmVkIG11dGFibGUgc3RhdGVcbiAgICAvLyBzdHJpa2VzIGFnYWluISBTZWUgZ2l0aHViIGlzc3VlICMxOTEuXG5cbiAgICB2YXIgZ2VuZXJhdGVkTWFwcGluZ3MgPSBhU291cmNlTWFwLl9tYXBwaW5ncy50b0FycmF5KCkuc2xpY2UoKTtcbiAgICB2YXIgZGVzdEdlbmVyYXRlZE1hcHBpbmdzID0gc21jLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBbXTtcbiAgICB2YXIgZGVzdE9yaWdpbmFsTWFwcGluZ3MgPSBzbWMuX19vcmlnaW5hbE1hcHBpbmdzID0gW107XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzcmNNYXBwaW5nID0gZ2VuZXJhdGVkTWFwcGluZ3NbaV07XG4gICAgICB2YXIgZGVzdE1hcHBpbmcgPSBuZXcgTWFwcGluZztcbiAgICAgIGRlc3RNYXBwaW5nLmdlbmVyYXRlZExpbmUgPSBzcmNNYXBwaW5nLmdlbmVyYXRlZExpbmU7XG4gICAgICBkZXN0TWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gPSBzcmNNYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgaWYgKHNyY01hcHBpbmcuc291cmNlKSB7XG4gICAgICAgIGRlc3RNYXBwaW5nLnNvdXJjZSA9IHNvdXJjZXMuaW5kZXhPZihzcmNNYXBwaW5nLnNvdXJjZSk7XG4gICAgICAgIGRlc3RNYXBwaW5nLm9yaWdpbmFsTGluZSA9IHNyY01hcHBpbmcub3JpZ2luYWxMaW5lO1xuICAgICAgICBkZXN0TWFwcGluZy5vcmlnaW5hbENvbHVtbiA9IHNyY01hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgaWYgKHNyY01hcHBpbmcubmFtZSkge1xuICAgICAgICAgIGRlc3RNYXBwaW5nLm5hbWUgPSBuYW1lcy5pbmRleE9mKHNyY01hcHBpbmcubmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZXN0T3JpZ2luYWxNYXBwaW5ncy5wdXNoKGRlc3RNYXBwaW5nKTtcbiAgICAgIH1cblxuICAgICAgZGVzdEdlbmVyYXRlZE1hcHBpbmdzLnB1c2goZGVzdE1hcHBpbmcpO1xuICAgIH1cblxuICAgIHF1aWNrU29ydChzbWMuX19vcmlnaW5hbE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zKTtcblxuICAgIHJldHVybiBzbWM7XG4gIH07XG5cbi8qKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXBwaW5nIHNwZWMgdGhhdCB3ZSBhcmUgY29uc3VtaW5nLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8qKlxuICogVGhlIGxpc3Qgb2Ygb3JpZ2luYWwgc291cmNlcy5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KEJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnc291cmNlcycsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Fic29sdXRlU291cmNlcy5zbGljZSgpO1xuICB9XG59KTtcblxuLyoqXG4gKiBQcm92aWRlIHRoZSBKSVQgd2l0aCBhIG5pY2Ugc2hhcGUgLyBoaWRkZW4gY2xhc3MuXG4gKi9cbmZ1bmN0aW9uIE1hcHBpbmcoKSB7XG4gIHRoaXMuZ2VuZXJhdGVkTGluZSA9IDA7XG4gIHRoaXMuZ2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICB0aGlzLm9yaWdpbmFsTGluZSA9IG51bGw7XG4gIHRoaXMub3JpZ2luYWxDb2x1bW4gPSBudWxsO1xuICB0aGlzLm5hbWUgPSBudWxsO1xufVxuXG4vKipcbiAqIFBhcnNlIHRoZSBtYXBwaW5ncyBpbiBhIHN0cmluZyBpbiB0byBhIGRhdGEgc3RydWN0dXJlIHdoaWNoIHdlIGNhbiBlYXNpbHlcbiAqIHF1ZXJ5ICh0aGUgb3JkZXJlZCBhcnJheXMgaW4gdGhlIGB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuICogYHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzYCBwcm9wZXJ0aWVzKS5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9wYXJzZU1hcHBpbmdzKGFTdHIsIGFTb3VyY2VSb290KSB7XG4gICAgdmFyIGdlbmVyYXRlZExpbmUgPSAxO1xuICAgIHZhciBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gMDtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzU291cmNlID0gMDtcbiAgICB2YXIgcHJldmlvdXNOYW1lID0gMDtcbiAgICB2YXIgbGVuZ3RoID0gYVN0ci5sZW5ndGg7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgY2FjaGVkU2VnbWVudHMgPSB7fTtcbiAgICB2YXIgdGVtcCA9IHt9O1xuICAgIHZhciBvcmlnaW5hbE1hcHBpbmdzID0gW107XG4gICAgdmFyIGdlbmVyYXRlZE1hcHBpbmdzID0gW107XG4gICAgdmFyIG1hcHBpbmcsIHN0ciwgc2VnbWVudCwgZW5kLCB2YWx1ZTtcblxuICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGFTdHIuY2hhckF0KGluZGV4KSA9PT0gJzsnKSB7XG4gICAgICAgIGdlbmVyYXRlZExpbmUrKztcbiAgICAgICAgaW5kZXgrKztcbiAgICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoYVN0ci5jaGFyQXQoaW5kZXgpID09PSAnLCcpIHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBtYXBwaW5nID0gbmV3IE1hcHBpbmcoKTtcbiAgICAgICAgbWFwcGluZy5nZW5lcmF0ZWRMaW5lID0gZ2VuZXJhdGVkTGluZTtcblxuICAgICAgICAvLyBCZWNhdXNlIGVhY2ggb2Zmc2V0IGlzIGVuY29kZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIG9uZSxcbiAgICAgICAgLy8gbWFueSBzZWdtZW50cyBvZnRlbiBoYXZlIHRoZSBzYW1lIGVuY29kaW5nLiBXZSBjYW4gZXhwbG9pdCB0aGlzXG4gICAgICAgIC8vIGZhY3QgYnkgY2FjaGluZyB0aGUgcGFyc2VkIHZhcmlhYmxlIGxlbmd0aCBmaWVsZHMgb2YgZWFjaCBzZWdtZW50LFxuICAgICAgICAvLyBhbGxvd2luZyB1cyB0byBhdm9pZCBhIHNlY29uZCBwYXJzZSBpZiB3ZSBlbmNvdW50ZXIgdGhlIHNhbWVcbiAgICAgICAgLy8gc2VnbWVudCBhZ2Fpbi5cbiAgICAgICAgZm9yIChlbmQgPSBpbmRleDsgZW5kIDwgbGVuZ3RoOyBlbmQrKykge1xuICAgICAgICAgIGlmICh0aGlzLl9jaGFySXNNYXBwaW5nU2VwYXJhdG9yKGFTdHIsIGVuZCkpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdHIgPSBhU3RyLnNsaWNlKGluZGV4LCBlbmQpO1xuXG4gICAgICAgIHNlZ21lbnQgPSBjYWNoZWRTZWdtZW50c1tzdHJdO1xuICAgICAgICBpZiAoc2VnbWVudCkge1xuICAgICAgICAgIGluZGV4ICs9IHN0ci5sZW5ndGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VnbWVudCA9IFtdO1xuICAgICAgICAgIHdoaWxlIChpbmRleCA8IGVuZCkge1xuICAgICAgICAgICAgYmFzZTY0VkxRLmRlY29kZShhU3RyLCBpbmRleCwgdGVtcCk7XG4gICAgICAgICAgICB2YWx1ZSA9IHRlbXAudmFsdWU7XG4gICAgICAgICAgICBpbmRleCA9IHRlbXAucmVzdDtcbiAgICAgICAgICAgIHNlZ21lbnQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvdW5kIGEgc291cmNlLCBidXQgbm8gbGluZSBhbmQgY29sdW1uJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvdW5kIGEgc291cmNlIGFuZCBsaW5lLCBidXQgbm8gY29sdW1uJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FjaGVkU2VnbWVudHNbc3RyXSA9IHNlZ21lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZW5lcmF0ZWQgY29sdW1uLlxuICAgICAgICBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbiA9IHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uICsgc2VnbWVudFswXTtcbiAgICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgICBpZiAoc2VnbWVudC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gT3JpZ2luYWwgc291cmNlLlxuICAgICAgICAgIG1hcHBpbmcuc291cmNlID0gcHJldmlvdXNTb3VyY2UgKyBzZWdtZW50WzFdO1xuICAgICAgICAgIHByZXZpb3VzU291cmNlICs9IHNlZ21lbnRbMV07XG5cbiAgICAgICAgICAvLyBPcmlnaW5hbCBsaW5lLlxuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxMaW5lID0gcHJldmlvdXNPcmlnaW5hbExpbmUgKyBzZWdtZW50WzJdO1xuICAgICAgICAgIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmU7XG4gICAgICAgICAgLy8gTGluZXMgYXJlIHN0b3JlZCAwLWJhc2VkXG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgKz0gMTtcblxuICAgICAgICAgIC8vIE9yaWdpbmFsIGNvbHVtbi5cbiAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uID0gcHJldmlvdXNPcmlnaW5hbENvbHVtbiArIHNlZ21lbnRbM107XG4gICAgICAgICAgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IG1hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgICBpZiAoc2VnbWVudC5sZW5ndGggPiA0KSB7XG4gICAgICAgICAgICAvLyBPcmlnaW5hbCBuYW1lLlxuICAgICAgICAgICAgbWFwcGluZy5uYW1lID0gcHJldmlvdXNOYW1lICsgc2VnbWVudFs0XTtcbiAgICAgICAgICAgIHByZXZpb3VzTmFtZSArPSBzZWdtZW50WzRdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGdlbmVyYXRlZE1hcHBpbmdzLnB1c2gobWFwcGluZyk7XG4gICAgICAgIGlmICh0eXBlb2YgbWFwcGluZy5vcmlnaW5hbExpbmUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgb3JpZ2luYWxNYXBwaW5ncy5wdXNoKG1hcHBpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcXVpY2tTb3J0KGdlbmVyYXRlZE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkKTtcbiAgICB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBnZW5lcmF0ZWRNYXBwaW5ncztcblxuICAgIHF1aWNrU29ydChvcmlnaW5hbE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zKTtcbiAgICB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncyA9IG9yaWdpbmFsTWFwcGluZ3M7XG4gIH07XG5cbi8qKlxuICogRmluZCB0aGUgbWFwcGluZyB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUgaHlwb3RoZXRpY2FsIFwibmVlZGxlXCIgbWFwcGluZyB0aGF0XG4gKiB3ZSBhcmUgc2VhcmNoaW5nIGZvciBpbiB0aGUgZ2l2ZW4gXCJoYXlzdGFja1wiIG9mIG1hcHBpbmdzLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZE1hcHBpbmcgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9maW5kTWFwcGluZyhhTmVlZGxlLCBhTWFwcGluZ3MsIGFMaW5lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYUNvbHVtbk5hbWUsIGFDb21wYXJhdG9yLCBhQmlhcykge1xuICAgIC8vIFRvIHJldHVybiB0aGUgcG9zaXRpb24gd2UgYXJlIHNlYXJjaGluZyBmb3IsIHdlIG11c3QgZmlyc3QgZmluZCB0aGVcbiAgICAvLyBtYXBwaW5nIGZvciB0aGUgZ2l2ZW4gcG9zaXRpb24gYW5kIHRoZW4gcmV0dXJuIHRoZSBvcHBvc2l0ZSBwb3NpdGlvbiBpdFxuICAgIC8vIHBvaW50cyB0by4gQmVjYXVzZSB0aGUgbWFwcGluZ3MgYXJlIHNvcnRlZCwgd2UgY2FuIHVzZSBiaW5hcnkgc2VhcmNoIHRvXG4gICAgLy8gZmluZCB0aGUgYmVzdCBtYXBwaW5nLlxuXG4gICAgaWYgKGFOZWVkbGVbYUxpbmVOYW1lXSA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdMaW5lIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEsIGdvdCAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICsgYU5lZWRsZVthTGluZU5hbWVdKTtcbiAgICB9XG4gICAgaWYgKGFOZWVkbGVbYUNvbHVtbk5hbWVdIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ29sdW1uIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDAsIGdvdCAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICsgYU5lZWRsZVthQ29sdW1uTmFtZV0pO1xuICAgIH1cblxuICAgIHJldHVybiBiaW5hcnlTZWFyY2guc2VhcmNoKGFOZWVkbGUsIGFNYXBwaW5ncywgYUNvbXBhcmF0b3IsIGFCaWFzKTtcbiAgfTtcblxuLyoqXG4gKiBDb21wdXRlIHRoZSBsYXN0IGNvbHVtbiBmb3IgZWFjaCBnZW5lcmF0ZWQgbWFwcGluZy4gVGhlIGxhc3QgY29sdW1uIGlzXG4gKiBpbmNsdXNpdmUuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmNvbXB1dGVDb2x1bW5TcGFucyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2NvbXB1dGVDb2x1bW5TcGFucygpIHtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzW2luZGV4XTtcblxuICAgICAgLy8gTWFwcGluZ3MgZG8gbm90IGNvbnRhaW4gYSBmaWVsZCBmb3IgdGhlIGxhc3QgZ2VuZXJhdGVkIGNvbHVtbnQuIFdlXG4gICAgICAvLyBjYW4gY29tZSB1cCB3aXRoIGFuIG9wdGltaXN0aWMgZXN0aW1hdGUsIGhvd2V2ZXIsIGJ5IGFzc3VtaW5nIHRoYXRcbiAgICAgIC8vIG1hcHBpbmdzIGFyZSBjb250aWd1b3VzIChpLmUuIGdpdmVuIHR3byBjb25zZWN1dGl2ZSBtYXBwaW5ncywgdGhlXG4gICAgICAvLyBmaXJzdCBtYXBwaW5nIGVuZHMgd2hlcmUgdGhlIHNlY29uZCBvbmUgc3RhcnRzKS5cbiAgICAgIGlmIChpbmRleCArIDEgPCB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIG5leHRNYXBwaW5nID0gdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3NbaW5kZXggKyAxXTtcblxuICAgICAgICBpZiAobWFwcGluZy5nZW5lcmF0ZWRMaW5lID09PSBuZXh0TWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgICAgbWFwcGluZy5sYXN0R2VuZXJhdGVkQ29sdW1uID0gbmV4dE1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uIC0gMTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgbGFzdCBtYXBwaW5nIGZvciBlYWNoIGxpbmUgc3BhbnMgdGhlIGVudGlyZSBsaW5lLlxuICAgICAgbWFwcGluZy5sYXN0R2VuZXJhdGVkQ29sdW1uID0gSW5maW5pdHk7XG4gICAgfVxuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIG9yaWdpbmFsIHNvdXJjZSwgbGluZSwgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGdlbmVyYXRlZFxuICogc291cmNlJ3MgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucyBwcm92aWRlZC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0XG4gKiB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLiAgVGhlIGxpbmUgbnVtYmVyXG4gKiAgICAgaXMgMS1iYXNlZC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLiAgVGhlIGNvbHVtblxuICogICAgIG51bWJlciBpcyAwLWJhc2VkLlxuICogICAtIGJpYXM6IEVpdGhlciAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnIG9yXG4gKiAgICAgJ1NvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlLCBvciBudWxsLlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLiAgVGhlXG4gKiAgICAgbGluZSBudW1iZXIgaXMgMS1iYXNlZC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBjb2x1bW4gbnVtYmVyIGlzIDAtYmFzZWQuXG4gKiAgIC0gbmFtZTogVGhlIG9yaWdpbmFsIGlkZW50aWZpZXIsIG9yIG51bGwuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLm9yaWdpbmFsUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9vcmlnaW5hbFBvc2l0aW9uRm9yKGFBcmdzKSB7XG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIGdlbmVyYXRlZExpbmU6IHV0aWwuZ2V0QXJnKGFBcmdzLCAnbGluZScpLFxuICAgICAgZ2VuZXJhdGVkQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicpXG4gICAgfTtcblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRNYXBwaW5nKFxuICAgICAgbmVlZGxlLFxuICAgICAgdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3MsXG4gICAgICBcImdlbmVyYXRlZExpbmVcIixcbiAgICAgIFwiZ2VuZXJhdGVkQ29sdW1uXCIsXG4gICAgICB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkLFxuICAgICAgdXRpbC5nZXRBcmcoYUFyZ3MsICdiaWFzJywgU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQpXG4gICAgKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzW2luZGV4XTtcblxuICAgICAgaWYgKG1hcHBpbmcuZ2VuZXJhdGVkTGluZSA9PT0gbmVlZGxlLmdlbmVyYXRlZExpbmUpIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdzb3VyY2UnLCBudWxsKTtcbiAgICAgICAgaWYgKHNvdXJjZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZSA9IHRoaXMuX3NvdXJjZXMuYXQoc291cmNlKTtcbiAgICAgICAgICBzb3VyY2UgPSB1dGlsLmNvbXB1dGVTb3VyY2VVUkwodGhpcy5zb3VyY2VSb290LCBzb3VyY2UsIHRoaXMuX3NvdXJjZU1hcFVSTCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG5hbWUgPSB1dGlsLmdldEFyZyhtYXBwaW5nLCAnbmFtZScsIG51bGwpO1xuICAgICAgICBpZiAobmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgIG5hbWUgPSB0aGlzLl9uYW1lcy5hdChuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICAgIGxpbmU6IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdvcmlnaW5hbExpbmUnLCBudWxsKSxcbiAgICAgICAgICBjb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdvcmlnaW5hbENvbHVtbicsIG51bGwpLFxuICAgICAgICAgIG5hbWU6IG5hbWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiBudWxsLFxuICAgICAgbGluZTogbnVsbCxcbiAgICAgIGNvbHVtbjogbnVsbCxcbiAgICAgIG5hbWU6IG51bGxcbiAgICB9O1xuICB9O1xuXG4vKipcbiAqIFJldHVybiB0cnVlIGlmIHdlIGhhdmUgdGhlIHNvdXJjZSBjb250ZW50IGZvciBldmVyeSBzb3VyY2UgaW4gdGhlIHNvdXJjZVxuICogbWFwLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmhhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzID1cbiAgZnVuY3Rpb24gQmFzaWNTb3VyY2VNYXBDb25zdW1lcl9oYXNDb250ZW50c09mQWxsU291cmNlcygpIHtcbiAgICBpZiAoIXRoaXMuc291cmNlc0NvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc291cmNlc0NvbnRlbnQubGVuZ3RoID49IHRoaXMuX3NvdXJjZXMuc2l6ZSgpICYmXG4gICAgICAhdGhpcy5zb3VyY2VzQ29udGVudC5zb21lKGZ1bmN0aW9uIChzYykgeyByZXR1cm4gc2MgPT0gbnVsbDsgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlIGNvbnRlbnQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIHRoZSB1cmwgb2YgdGhlXG4gKiBvcmlnaW5hbCBzb3VyY2UgZmlsZS4gUmV0dXJucyBudWxsIGlmIG5vIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50IGlzXG4gKiBhdmFpbGFibGUuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLnNvdXJjZUNvbnRlbnRGb3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9zb3VyY2VDb250ZW50Rm9yKGFTb3VyY2UsIG51bGxPbk1pc3NpbmcpIHtcbiAgICBpZiAoIXRoaXMuc291cmNlc0NvbnRlbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRTb3VyY2VJbmRleChhU291cmNlKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuc291cmNlc0NvbnRlbnRbaW5kZXhdO1xuICAgIH1cblxuICAgIHZhciByZWxhdGl2ZVNvdXJjZSA9IGFTb3VyY2U7XG4gICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICByZWxhdGl2ZVNvdXJjZSA9IHV0aWwucmVsYXRpdmUodGhpcy5zb3VyY2VSb290LCByZWxhdGl2ZVNvdXJjZSk7XG4gICAgfVxuXG4gICAgdmFyIHVybDtcbiAgICBpZiAodGhpcy5zb3VyY2VSb290ICE9IG51bGxcbiAgICAgICAgJiYgKHVybCA9IHV0aWwudXJsUGFyc2UodGhpcy5zb3VyY2VSb290KSkpIHtcbiAgICAgIC8vIFhYWDogZmlsZTovLyBVUklzIGFuZCBhYnNvbHV0ZSBwYXRocyBsZWFkIHRvIHVuZXhwZWN0ZWQgYmVoYXZpb3IgZm9yXG4gICAgICAvLyBtYW55IHVzZXJzLiBXZSBjYW4gaGVscCB0aGVtIG91dCB3aGVuIHRoZXkgZXhwZWN0IGZpbGU6Ly8gVVJJcyB0b1xuICAgICAgLy8gYmVoYXZlIGxpa2UgaXQgd291bGQgaWYgdGhleSB3ZXJlIHJ1bm5pbmcgYSBsb2NhbCBIVFRQIHNlcnZlci4gU2VlXG4gICAgICAvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD04ODU1OTcuXG4gICAgICB2YXIgZmlsZVVyaUFic1BhdGggPSByZWxhdGl2ZVNvdXJjZS5yZXBsYWNlKC9eZmlsZTpcXC9cXC8vLCBcIlwiKTtcbiAgICAgIGlmICh1cmwuc2NoZW1lID09IFwiZmlsZVwiXG4gICAgICAgICAgJiYgdGhpcy5fc291cmNlcy5oYXMoZmlsZVVyaUFic1BhdGgpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50W3RoaXMuX3NvdXJjZXMuaW5kZXhPZihmaWxlVXJpQWJzUGF0aCldXG4gICAgICB9XG5cbiAgICAgIGlmICgoIXVybC5wYXRoIHx8IHVybC5wYXRoID09IFwiL1wiKVxuICAgICAgICAgICYmIHRoaXMuX3NvdXJjZXMuaGFzKFwiL1wiICsgcmVsYXRpdmVTb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50W3RoaXMuX3NvdXJjZXMuaW5kZXhPZihcIi9cIiArIHJlbGF0aXZlU291cmNlKV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHJlY3Vyc2l2ZWx5IGZyb21cbiAgICAvLyBJbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLnNvdXJjZUNvbnRlbnRGb3IuIEluIHRoYXQgY2FzZSwgd2VcbiAgICAvLyBkb24ndCB3YW50IHRvIHRocm93IGlmIHdlIGNhbid0IGZpbmQgdGhlIHNvdXJjZSAtIHdlIGp1c3Qgd2FudCB0b1xuICAgIC8vIHJldHVybiBudWxsLCBzbyB3ZSBwcm92aWRlIGEgZmxhZyB0byBleGl0IGdyYWNlZnVsbHkuXG4gICAgaWYgKG51bGxPbk1pc3NpbmcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignXCInICsgcmVsYXRpdmVTb3VyY2UgKyAnXCIgaXMgbm90IGluIHRoZSBTb3VyY2VNYXAuJyk7XG4gICAgfVxuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBvcmlnaW5hbCBzb3VyY2UsXG4gKiBsaW5lLCBhbmQgY29sdW1uIHBvc2l0aW9ucyBwcm92aWRlZC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0IHdpdGhcbiAqIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gc291cmNlOiBUaGUgZmlsZW5hbWUgb2YgdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBsaW5lIG51bWJlclxuICogICAgIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLiAgVGhlIGNvbHVtblxuICogICAgIG51bWJlciBpcyAwLWJhc2VkLlxuICogICAtIGJpYXM6IEVpdGhlciAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnIG9yXG4gKiAgICAgJ1NvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC5cbiAqICAgICBUaGUgY29sdW1uIG51bWJlciBpcyAwLWJhc2VkLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5nZW5lcmF0ZWRQb3NpdGlvbkZvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2dlbmVyYXRlZFBvc2l0aW9uRm9yKGFBcmdzKSB7XG4gICAgdmFyIHNvdXJjZSA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJyk7XG4gICAgc291cmNlID0gdGhpcy5fZmluZFNvdXJjZUluZGV4KHNvdXJjZSk7XG4gICAgaWYgKHNvdXJjZSA8IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxpbmU6IG51bGwsXG4gICAgICAgIGNvbHVtbjogbnVsbCxcbiAgICAgICAgbGFzdENvbHVtbjogbnVsbFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB2YXIgbmVlZGxlID0ge1xuICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICBvcmlnaW5hbExpbmU6IHV0aWwuZ2V0QXJnKGFBcmdzLCAnbGluZScpLFxuICAgICAgb3JpZ2luYWxDb2x1bW46IHV0aWwuZ2V0QXJnKGFBcmdzLCAnY29sdW1uJylcbiAgICB9O1xuXG4gICAgdmFyIGluZGV4ID0gdGhpcy5fZmluZE1hcHBpbmcoXG4gICAgICBuZWVkbGUsXG4gICAgICB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzLFxuICAgICAgXCJvcmlnaW5hbExpbmVcIixcbiAgICAgIFwib3JpZ2luYWxDb2x1bW5cIixcbiAgICAgIHV0aWwuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMsXG4gICAgICB1dGlsLmdldEFyZyhhQXJncywgJ2JpYXMnLCBTb3VyY2VNYXBDb25zdW1lci5HUkVBVEVTVF9MT1dFUl9CT1VORClcbiAgICApO1xuXG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHZhciBtYXBwaW5nID0gdGhpcy5fb3JpZ2luYWxNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChtYXBwaW5nLnNvdXJjZSA9PT0gbmVlZGxlLnNvdXJjZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpbmU6IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdnZW5lcmF0ZWRMaW5lJywgbnVsbCksXG4gICAgICAgICAgY29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkQ29sdW1uJywgbnVsbCksXG4gICAgICAgICAgbGFzdENvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2xhc3RHZW5lcmF0ZWRDb2x1bW4nLCBudWxsKVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBudWxsLFxuICAgICAgY29sdW1uOiBudWxsLFxuICAgICAgbGFzdENvbHVtbjogbnVsbFxuICAgIH07XG4gIH07XG5cbmV4cG9ydHMuQmFzaWNTb3VyY2VNYXBDb25zdW1lciA9IEJhc2ljU291cmNlTWFwQ29uc3VtZXI7XG5cbi8qKlxuICogQW4gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyIGluc3RhbmNlIHJlcHJlc2VudHMgYSBwYXJzZWQgc291cmNlIG1hcCB3aGljaFxuICogd2UgY2FuIHF1ZXJ5IGZvciBpbmZvcm1hdGlvbi4gSXQgZGlmZmVycyBmcm9tIEJhc2ljU291cmNlTWFwQ29uc3VtZXIgaW5cbiAqIHRoYXQgaXQgdGFrZXMgXCJpbmRleGVkXCIgc291cmNlIG1hcHMgKGkuZS4gb25lcyB3aXRoIGEgXCJzZWN0aW9uc1wiIGZpZWxkKSBhc1xuICogaW5wdXQuXG4gKlxuICogVGhlIGZpcnN0IHBhcmFtZXRlciBpcyBhIHJhdyBzb3VyY2UgbWFwIChlaXRoZXIgYXMgYSBKU09OIHN0cmluZywgb3IgYWxyZWFkeVxuICogcGFyc2VkIHRvIGFuIG9iamVjdCkuIEFjY29yZGluZyB0byB0aGUgc3BlYyBmb3IgaW5kZXhlZCBzb3VyY2UgbWFwcywgdGhleVxuICogaGF2ZSB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6XG4gKlxuICogICAtIHZlcnNpb246IFdoaWNoIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXAgc3BlYyB0aGlzIG1hcCBpcyBmb2xsb3dpbmcuXG4gKiAgIC0gZmlsZTogT3B0aW9uYWwuIFRoZSBnZW5lcmF0ZWQgZmlsZSB0aGlzIHNvdXJjZSBtYXAgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICogICAtIHNlY3Rpb25zOiBBIGxpc3Qgb2Ygc2VjdGlvbiBkZWZpbml0aW9ucy5cbiAqXG4gKiBFYWNoIHZhbHVlIHVuZGVyIHRoZSBcInNlY3Rpb25zXCIgZmllbGQgaGFzIHR3byBmaWVsZHM6XG4gKiAgIC0gb2Zmc2V0OiBUaGUgb2Zmc2V0IGludG8gdGhlIG9yaWdpbmFsIHNwZWNpZmllZCBhdCB3aGljaCB0aGlzIHNlY3Rpb25cbiAqICAgICAgIGJlZ2lucyB0byBhcHBseSwgZGVmaW5lZCBhcyBhbiBvYmplY3Qgd2l0aCBhIFwibGluZVwiIGFuZCBcImNvbHVtblwiXG4gKiAgICAgICBmaWVsZC5cbiAqICAgLSBtYXA6IEEgc291cmNlIG1hcCBkZWZpbml0aW9uLiBUaGlzIHNvdXJjZSBtYXAgY291bGQgYWxzbyBiZSBpbmRleGVkLFxuICogICAgICAgYnV0IGRvZXNuJ3QgaGF2ZSB0byBiZS5cbiAqXG4gKiBJbnN0ZWFkIG9mIHRoZSBcIm1hcFwiIGZpZWxkLCBpdCdzIGFsc28gcG9zc2libGUgdG8gaGF2ZSBhIFwidXJsXCIgZmllbGRcbiAqIHNwZWNpZnlpbmcgYSBVUkwgdG8gcmV0cmlldmUgYSBzb3VyY2UgbWFwIGZyb20sIGJ1dCB0aGF0J3MgY3VycmVudGx5XG4gKiB1bnN1cHBvcnRlZC5cbiAqXG4gKiBIZXJlJ3MgYW4gZXhhbXBsZSBzb3VyY2UgbWFwLCB0YWtlbiBmcm9tIHRoZSBzb3VyY2UgbWFwIHNwZWNbMF0sIGJ1dFxuICogbW9kaWZpZWQgdG8gb21pdCBhIHNlY3Rpb24gd2hpY2ggdXNlcyB0aGUgXCJ1cmxcIiBmaWVsZC5cbiAqXG4gKiAge1xuICogICAgdmVyc2lvbiA6IDMsXG4gKiAgICBmaWxlOiBcImFwcC5qc1wiLFxuICogICAgc2VjdGlvbnM6IFt7XG4gKiAgICAgIG9mZnNldDoge2xpbmU6MTAwLCBjb2x1bW46MTB9LFxuICogICAgICBtYXA6IHtcbiAqICAgICAgICB2ZXJzaW9uIDogMyxcbiAqICAgICAgICBmaWxlOiBcInNlY3Rpb24uanNcIixcbiAqICAgICAgICBzb3VyY2VzOiBbXCJmb28uanNcIiwgXCJiYXIuanNcIl0sXG4gKiAgICAgICAgbmFtZXM6IFtcInNyY1wiLCBcIm1hcHNcIiwgXCJhcmVcIiwgXCJmdW5cIl0sXG4gKiAgICAgICAgbWFwcGluZ3M6IFwiQUFBQSxFOztBQkNERTtcIlxuICogICAgICB9XG4gKiAgICB9XSxcbiAqICB9XG4gKlxuICogVGhlIHNlY29uZCBwYXJhbWV0ZXIsIGlmIGdpdmVuLCBpcyBhIHN0cmluZyB3aG9zZSB2YWx1ZSBpcyB0aGUgVVJMXG4gKiBhdCB3aGljaCB0aGUgc291cmNlIG1hcCB3YXMgZm91bmQuICBUaGlzIFVSTCBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlXG4gKiBzb3VyY2VzIGFycmF5LlxuICpcbiAqIFswXTogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xVTFSR0FlaFF3UnlwVVRvdkYxS1JscGlPRnplMGItXzJnYzZmQUgwS1kway9lZGl0I2hlYWRpbmc9aC41MzVlczN4ZXByZ3RcbiAqL1xuZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgdmFyIHNvdXJjZU1hcCA9IGFTb3VyY2VNYXA7XG4gIGlmICh0eXBlb2YgYVNvdXJjZU1hcCA9PT0gJ3N0cmluZycpIHtcbiAgICBzb3VyY2VNYXAgPSB1dGlsLnBhcnNlU291cmNlTWFwSW5wdXQoYVNvdXJjZU1hcCk7XG4gIH1cblxuICB2YXIgdmVyc2lvbiA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3ZlcnNpb24nKTtcbiAgdmFyIHNlY3Rpb25zID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnc2VjdGlvbnMnKTtcblxuICBpZiAodmVyc2lvbiAhPSB0aGlzLl92ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB2ZXJzaW9uOiAnICsgdmVyc2lvbik7XG4gIH1cblxuICB0aGlzLl9zb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX25hbWVzID0gbmV3IEFycmF5U2V0KCk7XG5cbiAgdmFyIGxhc3RPZmZzZXQgPSB7XG4gICAgbGluZTogLTEsXG4gICAgY29sdW1uOiAwXG4gIH07XG4gIHRoaXMuX3NlY3Rpb25zID0gc2VjdGlvbnMubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgaWYgKHMudXJsKSB7XG4gICAgICAvLyBUaGUgdXJsIGZpZWxkIHdpbGwgcmVxdWlyZSBzdXBwb3J0IGZvciBhc3luY2hyb25pY2l0eS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL2lzc3Vlcy8xNlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciB1cmwgZmllbGQgaW4gc2VjdGlvbnMgbm90IGltcGxlbWVudGVkLicpO1xuICAgIH1cbiAgICB2YXIgb2Zmc2V0ID0gdXRpbC5nZXRBcmcocywgJ29mZnNldCcpO1xuICAgIHZhciBvZmZzZXRMaW5lID0gdXRpbC5nZXRBcmcob2Zmc2V0LCAnbGluZScpO1xuICAgIHZhciBvZmZzZXRDb2x1bW4gPSB1dGlsLmdldEFyZyhvZmZzZXQsICdjb2x1bW4nKTtcblxuICAgIGlmIChvZmZzZXRMaW5lIDwgbGFzdE9mZnNldC5saW5lIHx8XG4gICAgICAgIChvZmZzZXRMaW5lID09PSBsYXN0T2Zmc2V0LmxpbmUgJiYgb2Zmc2V0Q29sdW1uIDwgbGFzdE9mZnNldC5jb2x1bW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3Rpb24gb2Zmc2V0cyBtdXN0IGJlIG9yZGVyZWQgYW5kIG5vbi1vdmVybGFwcGluZy4nKTtcbiAgICB9XG4gICAgbGFzdE9mZnNldCA9IG9mZnNldDtcblxuICAgIHJldHVybiB7XG4gICAgICBnZW5lcmF0ZWRPZmZzZXQ6IHtcbiAgICAgICAgLy8gVGhlIG9mZnNldCBmaWVsZHMgYXJlIDAtYmFzZWQsIGJ1dCB3ZSB1c2UgMS1iYXNlZCBpbmRpY2VzIHdoZW5cbiAgICAgICAgLy8gZW5jb2RpbmcvZGVjb2RpbmcgZnJvbSBWTFEuXG4gICAgICAgIGdlbmVyYXRlZExpbmU6IG9mZnNldExpbmUgKyAxLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW46IG9mZnNldENvbHVtbiArIDFcbiAgICAgIH0sXG4gICAgICBjb25zdW1lcjogbmV3IFNvdXJjZU1hcENvbnN1bWVyKHV0aWwuZ2V0QXJnKHMsICdtYXAnKSwgYVNvdXJjZU1hcFVSTClcbiAgICB9XG4gIH0pO1xufVxuXG5JbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFNvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwcGluZyBzcGVjIHRoYXQgd2UgYXJlIGNvbnN1bWluZy5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8qKlxuICogVGhlIGxpc3Qgb2Ygb3JpZ2luYWwgc291cmNlcy5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUsICdzb3VyY2VzJywge1xuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc291cmNlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5fc2VjdGlvbnNbaV0uY29uc3VtZXIuc291cmNlcy5sZW5ndGg7IGorKykge1xuICAgICAgICBzb3VyY2VzLnB1c2godGhpcy5fc2VjdGlvbnNbaV0uY29uc3VtZXIuc291cmNlc1tqXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG59KTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UsIGxpbmUsIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdFxuICogd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBsaW5lIG51bWJlclxuICogICAgIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBzb3VyY2U6IFRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZSwgb3IgbnVsbC5cbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLiAgVGhlXG4gKiAgICAgY29sdW1uIG51bWJlciBpcyAwLWJhc2VkLlxuICogICAtIG5hbWU6IFRoZSBvcmlnaW5hbCBpZGVudGlmaWVyLCBvciBudWxsLlxuICovXG5JbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLm9yaWdpbmFsUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfb3JpZ2luYWxQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBuZWVkbGUgPSB7XG4gICAgICBnZW5lcmF0ZWRMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIGdlbmVyYXRlZENvbHVtbjogdXRpbC5nZXRBcmcoYUFyZ3MsICdjb2x1bW4nKVxuICAgIH07XG5cbiAgICAvLyBGaW5kIHRoZSBzZWN0aW9uIGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBwb3NpdGlvbiB3ZSdyZSB0cnlpbmcgdG8gbWFwXG4gICAgLy8gdG8gYW4gb3JpZ2luYWwgcG9zaXRpb24uXG4gICAgdmFyIHNlY3Rpb25JbmRleCA9IGJpbmFyeVNlYXJjaC5zZWFyY2gobmVlZGxlLCB0aGlzLl9zZWN0aW9ucyxcbiAgICAgIGZ1bmN0aW9uKG5lZWRsZSwgc2VjdGlvbikge1xuICAgICAgICB2YXIgY21wID0gbmVlZGxlLmdlbmVyYXRlZExpbmUgLSBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lO1xuICAgICAgICBpZiAoY21wKSB7XG4gICAgICAgICAgcmV0dXJuIGNtcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAobmVlZGxlLmdlbmVyYXRlZENvbHVtbiAtXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkQ29sdW1uKTtcbiAgICAgIH0pO1xuICAgIHZhciBzZWN0aW9uID0gdGhpcy5fc2VjdGlvbnNbc2VjdGlvbkluZGV4XTtcblxuICAgIGlmICghc2VjdGlvbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc291cmNlOiBudWxsLFxuICAgICAgICBsaW5lOiBudWxsLFxuICAgICAgICBjb2x1bW46IG51bGwsXG4gICAgICAgIG5hbWU6IG51bGxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlY3Rpb24uY29uc3VtZXIub3JpZ2luYWxQb3NpdGlvbkZvcih7XG4gICAgICBsaW5lOiBuZWVkbGUuZ2VuZXJhdGVkTGluZSAtXG4gICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lIC0gMSksXG4gICAgICBjb2x1bW46IG5lZWRsZS5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSA9PT0gbmVlZGxlLmdlbmVyYXRlZExpbmVcbiAgICAgICAgID8gc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkQ29sdW1uIC0gMVxuICAgICAgICAgOiAwKSxcbiAgICAgIGJpYXM6IGFBcmdzLmJpYXNcbiAgICB9KTtcbiAgfTtcblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB3ZSBoYXZlIHRoZSBzb3VyY2UgY29udGVudCBmb3IgZXZlcnkgc291cmNlIGluIHRoZSBzb3VyY2VcbiAqIG1hcCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5JbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmhhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX2hhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWN0aW9ucy5ldmVyeShmdW5jdGlvbiAocykge1xuICAgICAgcmV0dXJuIHMuY29uc3VtZXIuaGFzQ29udGVudHNPZkFsbFNvdXJjZXMoKTtcbiAgICB9KTtcbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UgY29udGVudC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgdGhlIHVybCBvZiB0aGVcbiAqIG9yaWdpbmFsIHNvdXJjZSBmaWxlLiBSZXR1cm5zIG51bGwgaWYgbm8gb3JpZ2luYWwgc291cmNlIGNvbnRlbnQgaXNcbiAqIGF2YWlsYWJsZS5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5zb3VyY2VDb250ZW50Rm9yID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX3NvdXJjZUNvbnRlbnRGb3IoYVNvdXJjZSwgbnVsbE9uTWlzc2luZykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzZWN0aW9uID0gdGhpcy5fc2VjdGlvbnNbaV07XG5cbiAgICAgIHZhciBjb250ZW50ID0gc2VjdGlvbi5jb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKGFTb3VyY2UsIHRydWUpO1xuICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChudWxsT25NaXNzaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFTb3VyY2UgKyAnXCIgaXMgbm90IGluIHRoZSBTb3VyY2VNYXAuJyk7XG4gICAgfVxuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBvcmlnaW5hbCBzb3VyY2UsXG4gKiBsaW5lLCBhbmQgY29sdW1uIHBvc2l0aW9ucyBwcm92aWRlZC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0IHdpdGhcbiAqIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gc291cmNlOiBUaGUgZmlsZW5hbWUgb2YgdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBsaW5lIG51bWJlclxuICogICAgIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLiAgVGhlIGNvbHVtblxuICogICAgIG51bWJlciBpcyAwLWJhc2VkLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuIFxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuXG4gKiAgICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5nZW5lcmF0ZWRQb3NpdGlvbkZvciA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9nZW5lcmF0ZWRQb3NpdGlvbkZvcihhQXJncykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzZWN0aW9uID0gdGhpcy5fc2VjdGlvbnNbaV07XG5cbiAgICAgIC8vIE9ubHkgY29uc2lkZXIgdGhpcyBzZWN0aW9uIGlmIHRoZSByZXF1ZXN0ZWQgc291cmNlIGlzIGluIHRoZSBsaXN0IG9mXG4gICAgICAvLyBzb3VyY2VzIG9mIHRoZSBjb25zdW1lci5cbiAgICAgIGlmIChzZWN0aW9uLmNvbnN1bWVyLl9maW5kU291cmNlSW5kZXgodXRpbC5nZXRBcmcoYUFyZ3MsICdzb3VyY2UnKSkgPT09IC0xKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgdmFyIGdlbmVyYXRlZFBvc2l0aW9uID0gc2VjdGlvbi5jb25zdW1lci5nZW5lcmF0ZWRQb3NpdGlvbkZvcihhQXJncyk7XG4gICAgICBpZiAoZ2VuZXJhdGVkUG9zaXRpb24pIHtcbiAgICAgICAgdmFyIHJldCA9IHtcbiAgICAgICAgICBsaW5lOiBnZW5lcmF0ZWRQb3NpdGlvbi5saW5lICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lIC0gMSksXG4gICAgICAgICAgY29sdW1uOiBnZW5lcmF0ZWRQb3NpdGlvbi5jb2x1bW4gK1xuICAgICAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IGdlbmVyYXRlZFBvc2l0aW9uLmxpbmVcbiAgICAgICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgICAgICA6IDApXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmU6IG51bGwsXG4gICAgICBjb2x1bW46IG51bGxcbiAgICB9O1xuICB9O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBtYXBwaW5ncyBpbiBhIHN0cmluZyBpbiB0byBhIGRhdGEgc3RydWN0dXJlIHdoaWNoIHdlIGNhbiBlYXNpbHlcbiAqIHF1ZXJ5ICh0aGUgb3JkZXJlZCBhcnJheXMgaW4gdGhlIGB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuICogYHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzYCBwcm9wZXJ0aWVzKS5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fcGFyc2VNYXBwaW5ncyA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9wYXJzZU1hcHBpbmdzKGFTdHIsIGFTb3VyY2VSb290KSB7XG4gICAgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzID0gW107XG4gICAgdGhpcy5fX29yaWdpbmFsTWFwcGluZ3MgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuICAgICAgdmFyIHNlY3Rpb25NYXBwaW5ncyA9IHNlY3Rpb24uY29uc3VtZXIuX2dlbmVyYXRlZE1hcHBpbmdzO1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzZWN0aW9uTWFwcGluZ3MubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgdmFyIG1hcHBpbmcgPSBzZWN0aW9uTWFwcGluZ3Nbal07XG5cbiAgICAgICAgdmFyIHNvdXJjZSA9IHNlY3Rpb24uY29uc3VtZXIuX3NvdXJjZXMuYXQobWFwcGluZy5zb3VyY2UpO1xuICAgICAgICBzb3VyY2UgPSB1dGlsLmNvbXB1dGVTb3VyY2VVUkwoc2VjdGlvbi5jb25zdW1lci5zb3VyY2VSb290LCBzb3VyY2UsIHRoaXMuX3NvdXJjZU1hcFVSTCk7XG4gICAgICAgIHRoaXMuX3NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICAgIHNvdXJjZSA9IHRoaXMuX3NvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuXG4gICAgICAgIHZhciBuYW1lID0gbnVsbDtcbiAgICAgICAgaWYgKG1hcHBpbmcubmFtZSkge1xuICAgICAgICAgIG5hbWUgPSBzZWN0aW9uLmNvbnN1bWVyLl9uYW1lcy5hdChtYXBwaW5nLm5hbWUpO1xuICAgICAgICAgIHRoaXMuX25hbWVzLmFkZChuYW1lKTtcbiAgICAgICAgICBuYW1lID0gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBtYXBwaW5ncyBjb21pbmcgZnJvbSB0aGUgY29uc3VtZXIgZm9yIHRoZSBzZWN0aW9uIGhhdmVcbiAgICAgICAgLy8gZ2VuZXJhdGVkIHBvc2l0aW9ucyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHNlY3Rpb24sIHNvIHdlXG4gICAgICAgIC8vIG5lZWQgdG8gb2Zmc2V0IHRoZW0gdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb25jYXRlbmF0ZWRcbiAgICAgICAgLy8gZ2VuZXJhdGVkIGZpbGUuXG4gICAgICAgIHZhciBhZGp1c3RlZE1hcHBpbmcgPSB7XG4gICAgICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICAgICAgZ2VuZXJhdGVkTGluZTogbWFwcGluZy5nZW5lcmF0ZWRMaW5lICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lIC0gMSksXG4gICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uOiBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbiArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSA9PT0gbWFwcGluZy5nZW5lcmF0ZWRMaW5lXG4gICAgICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgICAgIDogMCksXG4gICAgICAgICAgb3JpZ2luYWxMaW5lOiBtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICBvcmlnaW5hbENvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzLnB1c2goYWRqdXN0ZWRNYXBwaW5nKTtcbiAgICAgICAgaWYgKHR5cGVvZiBhZGp1c3RlZE1hcHBpbmcub3JpZ2luYWxMaW5lID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzLnB1c2goYWRqdXN0ZWRNYXBwaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHF1aWNrU29ydCh0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3MsIHV0aWwuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zRGVmbGF0ZWQpO1xuICAgIHF1aWNrU29ydCh0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG4gIH07XG5cbmV4cG9ydHMuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyID0gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvc291cmNlLW1hcC1jb25zdW1lci5qc1xuLy8gbW9kdWxlIGlkID0gN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbmV4cG9ydHMuR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCA9IDI7XG5cbi8qKlxuICogUmVjdXJzaXZlIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFyY2guXG4gKlxuICogQHBhcmFtIGFMb3cgSW5kaWNlcyBoZXJlIGFuZCBsb3dlciBkbyBub3QgY29udGFpbiB0aGUgbmVlZGxlLlxuICogQHBhcmFtIGFIaWdoIEluZGljZXMgaGVyZSBhbmQgaGlnaGVyIGRvIG5vdCBjb250YWluIHRoZSBuZWVkbGUuXG4gKiBAcGFyYW0gYU5lZWRsZSBUaGUgZWxlbWVudCBiZWluZyBzZWFyY2hlZCBmb3IuXG4gKiBAcGFyYW0gYUhheXN0YWNrIFRoZSBub24tZW1wdHkgYXJyYXkgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgRnVuY3Rpb24gd2hpY2ggdGFrZXMgdHdvIGVsZW1lbnRzIGFuZCByZXR1cm5zIC0xLCAwLCBvciAxLlxuICogQHBhcmFtIGFCaWFzIEVpdGhlciAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdiaW5hcnlTZWFyY2guTEVBU1RfVVBQRVJfQk9VTkQnLiBTcGVjaWZpZXMgd2hldGhlciB0byByZXR1cm4gdGhlXG4gKiAgICAgY2xvc2VzdCBlbGVtZW50IHRoYXQgaXMgc21hbGxlciB0aGFuIG9yIGdyZWF0ZXIgdGhhbiB0aGUgb25lIHdlIGFyZVxuICogICAgIHNlYXJjaGluZyBmb3IsIHJlc3BlY3RpdmVseSwgaWYgdGhlIGV4YWN0IGVsZW1lbnQgY2Fubm90IGJlIGZvdW5kLlxuICovXG5mdW5jdGlvbiByZWN1cnNpdmVTZWFyY2goYUxvdywgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gdGVybWluYXRlcyB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6XG4gIC8vXG4gIC8vICAgMS4gV2UgZmluZCB0aGUgZXhhY3QgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gIC8vXG4gIC8vICAgMi4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBidXQgd2UgY2FuIHJldHVybiB0aGUgaW5kZXggb2ZcbiAgLy8gICAgICB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQuXG4gIC8vXG4gIC8vICAgMy4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBhbmQgdGhlcmUgaXMgbm8gbmV4dC1jbG9zZXN0XG4gIC8vICAgICAgZWxlbWVudCB0aGFuIHRoZSBvbmUgd2UgYXJlIHNlYXJjaGluZyBmb3IsIHNvIHdlIHJldHVybiAtMS5cbiAgdmFyIG1pZCA9IE1hdGguZmxvb3IoKGFIaWdoIC0gYUxvdykgLyAyKSArIGFMb3c7XG4gIHZhciBjbXAgPSBhQ29tcGFyZShhTmVlZGxlLCBhSGF5c3RhY2tbbWlkXSwgdHJ1ZSk7XG4gIGlmIChjbXAgPT09IDApIHtcbiAgICAvLyBGb3VuZCB0aGUgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gICAgcmV0dXJuIG1pZDtcbiAgfVxuICBlbHNlIGlmIChjbXAgPiAwKSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBncmVhdGVyIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKGFIaWdoIC0gbWlkID4gMSkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgaW4gdGhlIHVwcGVyIGhhbGYuXG4gICAgICByZXR1cm4gcmVjdXJzaXZlU2VhcmNoKG1pZCwgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZXhhY3QgbmVlZGxlIGVsZW1lbnQgd2FzIG5vdCBmb3VuZCBpbiB0aGlzIGhheXN0YWNrLiBEZXRlcm1pbmUgaWZcbiAgICAvLyB3ZSBhcmUgaW4gdGVybWluYXRpb24gY2FzZSAoMykgb3IgKDIpIGFuZCByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHRoaW5nLlxuICAgIGlmIChhQmlhcyA9PSBleHBvcnRzLkxFQVNUX1VQUEVSX0JPVU5EKSB7XG4gICAgICByZXR1cm4gYUhpZ2ggPCBhSGF5c3RhY2subGVuZ3RoID8gYUhpZ2ggOiAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9XG4gIH1cbiAgZWxzZSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBsZXNzIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKG1pZCAtIGFMb3cgPiAxKSB7XG4gICAgICAvLyBUaGUgZWxlbWVudCBpcyBpbiB0aGUgbG93ZXIgaGFsZi5cbiAgICAgIHJldHVybiByZWN1cnNpdmVTZWFyY2goYUxvdywgbWlkLCBhTmVlZGxlLCBhSGF5c3RhY2ssIGFDb21wYXJlLCBhQmlhcyk7XG4gICAgfVxuXG4gICAgLy8gd2UgYXJlIGluIHRlcm1pbmF0aW9uIGNhc2UgKDMpIG9yICgyKSBhbmQgcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSB0aGluZy5cbiAgICBpZiAoYUJpYXMgPT0gZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCkge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFMb3cgPCAwID8gLTEgOiBhTG93O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYmluYXJ5IHNlYXJjaCB3aGljaCB3aWxsIGFsd2F5cyB0cnkgYW5kIHJldHVyblxuICogdGhlIGluZGV4IG9mIHRoZSBjbG9zZXN0IGVsZW1lbnQgaWYgdGhlcmUgaXMgbm8gZXhhY3QgaGl0LiBUaGlzIGlzIGJlY2F1c2VcbiAqIG1hcHBpbmdzIGJldHdlZW4gb3JpZ2luYWwgYW5kIGdlbmVyYXRlZCBsaW5lL2NvbCBwYWlycyBhcmUgc2luZ2xlIHBvaW50cyxcbiAqIGFuZCB0aGVyZSBpcyBhbiBpbXBsaWNpdCByZWdpb24gYmV0d2VlbiBlYWNoIG9mIHRoZW0sIHNvIGEgbWlzcyBqdXN0IG1lYW5zXG4gKiB0aGF0IHlvdSBhcmVuJ3Qgb24gdGhlIHZlcnkgc3RhcnQgb2YgYSByZWdpb24uXG4gKlxuICogQHBhcmFtIGFOZWVkbGUgVGhlIGVsZW1lbnQgeW91IGFyZSBsb29raW5nIGZvci5cbiAqIEBwYXJhbSBhSGF5c3RhY2sgVGhlIGFycmF5IHRoYXQgaXMgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgQSBmdW5jdGlvbiB3aGljaCB0YWtlcyB0aGUgbmVlZGxlIGFuZCBhbiBlbGVtZW50IGluIHRoZVxuICogICAgIGFycmF5IGFuZCByZXR1cm5zIC0xLCAwLCBvciAxIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBuZWVkbGUgaXMgbGVzc1xuICogICAgIHRoYW4sIGVxdWFsIHRvLCBvciBncmVhdGVyIHRoYW4gdGhlIGVsZW1lbnQsIHJlc3BlY3RpdmVseS5cbiAqIEBwYXJhbSBhQmlhcyBFaXRoZXIgJ2JpbmFyeVNlYXJjaC5HUkVBVEVTVF9MT1dFUl9CT1VORCcgb3JcbiAqICAgICAnYmluYXJ5U2VhcmNoLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqL1xuZXhwb3J0cy5zZWFyY2ggPSBmdW5jdGlvbiBzZWFyY2goYU5lZWRsZSwgYUhheXN0YWNrLCBhQ29tcGFyZSwgYUJpYXMpIHtcbiAgaWYgKGFIYXlzdGFjay5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICB2YXIgaW5kZXggPSByZWN1cnNpdmVTZWFyY2goLTEsIGFIYXlzdGFjay5sZW5ndGgsIGFOZWVkbGUsIGFIYXlzdGFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFDb21wYXJlLCBhQmlhcyB8fCBleHBvcnRzLkdSRUFURVNUX0xPV0VSX0JPVU5EKTtcbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8vIFdlIGhhdmUgZm91bmQgZWl0aGVyIHRoZSBleGFjdCBlbGVtZW50LCBvciB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQgdGhhblxuICAvLyB0aGUgb25lIHdlIGFyZSBzZWFyY2hpbmcgZm9yLiBIb3dldmVyLCB0aGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBzdWNoXG4gIC8vIGVsZW1lbnQuIE1ha2Ugc3VyZSB3ZSBhbHdheXMgcmV0dXJuIHRoZSBzbWFsbGVzdCBvZiB0aGVzZS5cbiAgd2hpbGUgKGluZGV4IC0gMSA+PSAwKSB7XG4gICAgaWYgKGFDb21wYXJlKGFIYXlzdGFja1tpbmRleF0sIGFIYXlzdGFja1tpbmRleCAtIDFdLCB0cnVlKSAhPT0gMCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC0taW5kZXg7XG4gIH1cblxuICByZXR1cm4gaW5kZXg7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvYmluYXJ5LXNlYXJjaC5qc1xuLy8gbW9kdWxlIGlkID0gOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbi8vIEl0IHR1cm5zIG91dCB0aGF0IHNvbWUgKG1vc3Q/KSBKYXZhU2NyaXB0IGVuZ2luZXMgZG9uJ3Qgc2VsZi1ob3N0XG4vLyBgQXJyYXkucHJvdG90eXBlLnNvcnRgLiBUaGlzIG1ha2VzIHNlbnNlIGJlY2F1c2UgQysrIHdpbGwgbGlrZWx5IHJlbWFpblxuLy8gZmFzdGVyIHRoYW4gSlMgd2hlbiBkb2luZyByYXcgQ1BVLWludGVuc2l2ZSBzb3J0aW5nLiBIb3dldmVyLCB3aGVuIHVzaW5nIGFcbi8vIGN1c3RvbSBjb21wYXJhdG9yIGZ1bmN0aW9uLCBjYWxsaW5nIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gdGhlIFZNJ3MgQysrIGFuZFxuLy8gSklUJ2QgSlMgaXMgcmF0aGVyIHNsb3cgKmFuZCogbG9zZXMgSklUIHR5cGUgaW5mb3JtYXRpb24sIHJlc3VsdGluZyBpblxuLy8gd29yc2UgZ2VuZXJhdGVkIGNvZGUgZm9yIHRoZSBjb21wYXJhdG9yIGZ1bmN0aW9uIHRoYW4gd291bGQgYmUgb3B0aW1hbC4gSW5cbi8vIGZhY3QsIHdoZW4gc29ydGluZyB3aXRoIGEgY29tcGFyYXRvciwgdGhlc2UgY29zdHMgb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIG9mXG4vLyBzb3J0aW5nIGluIEMrKy4gQnkgdXNpbmcgb3VyIG93biBKUy1pbXBsZW1lbnRlZCBRdWljayBTb3J0IChiZWxvdyksIHdlIGdldFxuLy8gYSB+MzUwMG1zIG1lYW4gc3BlZWQtdXAgaW4gYGJlbmNoL2JlbmNoLmh0bWxgLlxuXG4vKipcbiAqIFN3YXAgdGhlIGVsZW1lbnRzIGluZGV4ZWQgYnkgYHhgIGFuZCBgeWAgaW4gdGhlIGFycmF5IGBhcnlgLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIFRoZSBhcnJheS5cbiAqIEBwYXJhbSB7TnVtYmVyfSB4XG4gKiAgICAgICAgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBpdGVtLlxuICogQHBhcmFtIHtOdW1iZXJ9IHlcbiAqICAgICAgICBUaGUgaW5kZXggb2YgdGhlIHNlY29uZCBpdGVtLlxuICovXG5mdW5jdGlvbiBzd2FwKGFyeSwgeCwgeSkge1xuICB2YXIgdGVtcCA9IGFyeVt4XTtcbiAgYXJ5W3hdID0gYXJ5W3ldO1xuICBhcnlbeV0gPSB0ZW1wO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByYW5kb20gaW50ZWdlciB3aXRoaW4gdGhlIHJhbmdlIGBsb3cgLi4gaGlnaGAgaW5jbHVzaXZlLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBsb3dcbiAqICAgICAgICBUaGUgbG93ZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICogQHBhcmFtIHtOdW1iZXJ9IGhpZ2hcbiAqICAgICAgICBUaGUgdXBwZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICovXG5mdW5jdGlvbiByYW5kb21JbnRJblJhbmdlKGxvdywgaGlnaCkge1xuICByZXR1cm4gTWF0aC5yb3VuZChsb3cgKyAoTWF0aC5yYW5kb20oKSAqIChoaWdoIC0gbG93KSkpO1xufVxuXG4vKipcbiAqIFRoZSBRdWljayBTb3J0IGFsZ29yaXRobS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnlcbiAqICAgICAgICBBbiBhcnJheSB0byBzb3J0LlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY29tcGFyYXRvclxuICogICAgICAgIEZ1bmN0aW9uIHRvIHVzZSB0byBjb21wYXJlIHR3byBpdGVtcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBwXG4gKiAgICAgICAgU3RhcnQgaW5kZXggb2YgdGhlIGFycmF5XG4gKiBAcGFyYW0ge051bWJlcn0gclxuICogICAgICAgIEVuZCBpbmRleCBvZiB0aGUgYXJyYXlcbiAqL1xuZnVuY3Rpb24gZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCByKSB7XG4gIC8vIElmIG91ciBsb3dlciBib3VuZCBpcyBsZXNzIHRoYW4gb3VyIHVwcGVyIGJvdW5kLCB3ZSAoMSkgcGFydGl0aW9uIHRoZVxuICAvLyBhcnJheSBpbnRvIHR3byBwaWVjZXMgYW5kICgyKSByZWN1cnNlIG9uIGVhY2ggaGFsZi4gSWYgaXQgaXMgbm90LCB0aGlzIGlzXG4gIC8vIHRoZSBlbXB0eSBhcnJheSBhbmQgb3VyIGJhc2UgY2FzZS5cblxuICBpZiAocCA8IHIpIHtcbiAgICAvLyAoMSkgUGFydGl0aW9uaW5nLlxuICAgIC8vXG4gICAgLy8gVGhlIHBhcnRpdGlvbmluZyBjaG9vc2VzIGEgcGl2b3QgYmV0d2VlbiBgcGAgYW5kIGByYCBhbmQgbW92ZXMgYWxsXG4gICAgLy8gZWxlbWVudHMgdGhhdCBhcmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdCB0byB0aGUgYmVmb3JlIGl0LCBhbmRcbiAgICAvLyBhbGwgdGhlIGVsZW1lbnRzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiBpdCBhZnRlciBpdC4gVGhlIGVmZmVjdCBpcyB0aGF0XG4gICAgLy8gb25jZSBwYXJ0aXRpb24gaXMgZG9uZSwgdGhlIHBpdm90IGlzIGluIHRoZSBleGFjdCBwbGFjZSBpdCB3aWxsIGJlIHdoZW5cbiAgICAvLyB0aGUgYXJyYXkgaXMgcHV0IGluIHNvcnRlZCBvcmRlciwgYW5kIGl0IHdpbGwgbm90IG5lZWQgdG8gYmUgbW92ZWRcbiAgICAvLyBhZ2Fpbi4gVGhpcyBydW5zIGluIE8obikgdGltZS5cblxuICAgIC8vIEFsd2F5cyBjaG9vc2UgYSByYW5kb20gcGl2b3Qgc28gdGhhdCBhbiBpbnB1dCBhcnJheSB3aGljaCBpcyByZXZlcnNlXG4gICAgLy8gc29ydGVkIGRvZXMgbm90IGNhdXNlIE8obl4yKSBydW5uaW5nIHRpbWUuXG4gICAgdmFyIHBpdm90SW5kZXggPSByYW5kb21JbnRJblJhbmdlKHAsIHIpO1xuICAgIHZhciBpID0gcCAtIDE7XG5cbiAgICBzd2FwKGFyeSwgcGl2b3RJbmRleCwgcik7XG4gICAgdmFyIHBpdm90ID0gYXJ5W3JdO1xuXG4gICAgLy8gSW1tZWRpYXRlbHkgYWZ0ZXIgYGpgIGlzIGluY3JlbWVudGVkIGluIHRoaXMgbG9vcCwgdGhlIGZvbGxvd2luZyBob2xkXG4gICAgLy8gdHJ1ZTpcbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbcCAuLiBpXWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdC5cbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbaSsxIC4uIGotMV1gIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcGl2b3QuXG4gICAgZm9yICh2YXIgaiA9IHA7IGogPCByOyBqKyspIHtcbiAgICAgIGlmIChjb21wYXJhdG9yKGFyeVtqXSwgcGl2b3QpIDw9IDApIHtcbiAgICAgICAgaSArPSAxO1xuICAgICAgICBzd2FwKGFyeSwgaSwgaik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dhcChhcnksIGkgKyAxLCBqKTtcbiAgICB2YXIgcSA9IGkgKyAxO1xuXG4gICAgLy8gKDIpIFJlY3Vyc2Ugb24gZWFjaCBoYWxmLlxuXG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCBxIC0gMSk7XG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBxICsgMSwgcik7XG4gIH1cbn1cblxuLyoqXG4gKiBTb3J0IHRoZSBnaXZlbiBhcnJheSBpbi1wbGFjZSB3aXRoIHRoZSBnaXZlbiBjb21wYXJhdG9yIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIEFuIGFycmF5IHRvIHNvcnQuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjb21wYXJhdG9yXG4gKiAgICAgICAgRnVuY3Rpb24gdG8gdXNlIHRvIGNvbXBhcmUgdHdvIGl0ZW1zLlxuICovXG5leHBvcnRzLnF1aWNrU29ydCA9IGZ1bmN0aW9uIChhcnksIGNvbXBhcmF0b3IpIHtcbiAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCAwLCBhcnkubGVuZ3RoIC0gMSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvcXVpY2stc29ydC5qc1xuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciBTb3VyY2VNYXBHZW5lcmF0b3IgPSByZXF1aXJlKCcuL3NvdXJjZS1tYXAtZ2VuZXJhdG9yJykuU291cmNlTWFwR2VuZXJhdG9yO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuLy8gTWF0Y2hlcyBhIFdpbmRvd3Mtc3R5bGUgYFxcclxcbmAgbmV3bGluZSBvciBhIGBcXG5gIG5ld2xpbmUgdXNlZCBieSBhbGwgb3RoZXJcbi8vIG9wZXJhdGluZyBzeXN0ZW1zIHRoZXNlIGRheXMgKGNhcHR1cmluZyB0aGUgcmVzdWx0KS5cbnZhciBSRUdFWF9ORVdMSU5FID0gLyhcXHI/XFxuKS87XG5cbi8vIE5ld2xpbmUgY2hhcmFjdGVyIGNvZGUgZm9yIGNoYXJDb2RlQXQoKSBjb21wYXJpc29uc1xudmFyIE5FV0xJTkVfQ09ERSA9IDEwO1xuXG4vLyBQcml2YXRlIHN5bWJvbCBmb3IgaWRlbnRpZnlpbmcgYFNvdXJjZU5vZGVgcyB3aGVuIG11bHRpcGxlIHZlcnNpb25zIG9mXG4vLyB0aGUgc291cmNlLW1hcCBsaWJyYXJ5IGFyZSBsb2FkZWQuIFRoaXMgTVVTVCBOT1QgQ0hBTkdFIGFjcm9zc1xuLy8gdmVyc2lvbnMhXG52YXIgaXNTb3VyY2VOb2RlID0gXCIkJCRpc1NvdXJjZU5vZGUkJCRcIjtcblxuLyoqXG4gKiBTb3VyY2VOb2RlcyBwcm92aWRlIGEgd2F5IHRvIGFic3RyYWN0IG92ZXIgaW50ZXJwb2xhdGluZy9jb25jYXRlbmF0aW5nXG4gKiBzbmlwcGV0cyBvZiBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBzb3VyY2UgY29kZSB3aGlsZSBtYWludGFpbmluZyB0aGUgbGluZSBhbmRcbiAqIGNvbHVtbiBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSBhTGluZSBUaGUgb3JpZ2luYWwgbGluZSBudW1iZXIuXG4gKiBAcGFyYW0gYUNvbHVtbiBUaGUgb3JpZ2luYWwgY29sdW1uIG51bWJlci5cbiAqIEBwYXJhbSBhU291cmNlIFRoZSBvcmlnaW5hbCBzb3VyY2UncyBmaWxlbmFtZS5cbiAqIEBwYXJhbSBhQ2h1bmtzIE9wdGlvbmFsLiBBbiBhcnJheSBvZiBzdHJpbmdzIHdoaWNoIGFyZSBzbmlwcGV0cyBvZlxuICogICAgICAgIGdlbmVyYXRlZCBKUywgb3Igb3RoZXIgU291cmNlTm9kZXMuXG4gKiBAcGFyYW0gYU5hbWUgVGhlIG9yaWdpbmFsIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU5vZGUoYUxpbmUsIGFDb2x1bW4sIGFTb3VyY2UsIGFDaHVua3MsIGFOYW1lKSB7XG4gIHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgdGhpcy5zb3VyY2VDb250ZW50cyA9IHt9O1xuICB0aGlzLmxpbmUgPSBhTGluZSA9PSBudWxsID8gbnVsbCA6IGFMaW5lO1xuICB0aGlzLmNvbHVtbiA9IGFDb2x1bW4gPT0gbnVsbCA/IG51bGwgOiBhQ29sdW1uO1xuICB0aGlzLnNvdXJjZSA9IGFTb3VyY2UgPT0gbnVsbCA/IG51bGwgOiBhU291cmNlO1xuICB0aGlzLm5hbWUgPSBhTmFtZSA9PSBudWxsID8gbnVsbCA6IGFOYW1lO1xuICB0aGlzW2lzU291cmNlTm9kZV0gPSB0cnVlO1xuICBpZiAoYUNodW5rcyAhPSBudWxsKSB0aGlzLmFkZChhQ2h1bmtzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgU291cmNlTm9kZSBmcm9tIGdlbmVyYXRlZCBjb2RlIGFuZCBhIFNvdXJjZU1hcENvbnN1bWVyLlxuICpcbiAqIEBwYXJhbSBhR2VuZXJhdGVkQ29kZSBUaGUgZ2VuZXJhdGVkIGNvZGVcbiAqIEBwYXJhbSBhU291cmNlTWFwQ29uc3VtZXIgVGhlIFNvdXJjZU1hcCBmb3IgdGhlIGdlbmVyYXRlZCBjb2RlXG4gKiBAcGFyYW0gYVJlbGF0aXZlUGF0aCBPcHRpb25hbC4gVGhlIHBhdGggdGhhdCByZWxhdGl2ZSBzb3VyY2VzIGluIHRoZVxuICogICAgICAgIFNvdXJjZU1hcENvbnN1bWVyIHNob3VsZCBiZSByZWxhdGl2ZSB0by5cbiAqL1xuU291cmNlTm9kZS5mcm9tU3RyaW5nV2l0aFNvdXJjZU1hcCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU5vZGVfZnJvbVN0cmluZ1dpdGhTb3VyY2VNYXAoYUdlbmVyYXRlZENvZGUsIGFTb3VyY2VNYXBDb25zdW1lciwgYVJlbGF0aXZlUGF0aCkge1xuICAgIC8vIFRoZSBTb3VyY2VOb2RlIHdlIHdhbnQgdG8gZmlsbCB3aXRoIHRoZSBnZW5lcmF0ZWQgY29kZVxuICAgIC8vIGFuZCB0aGUgU291cmNlTWFwXG4gICAgdmFyIG5vZGUgPSBuZXcgU291cmNlTm9kZSgpO1xuXG4gICAgLy8gQWxsIGV2ZW4gaW5kaWNlcyBvZiB0aGlzIGFycmF5IGFyZSBvbmUgbGluZSBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4gICAgLy8gd2hpbGUgYWxsIG9kZCBpbmRpY2VzIGFyZSB0aGUgbmV3bGluZXMgYmV0d2VlbiB0d28gYWRqYWNlbnQgbGluZXNcbiAgICAvLyAoc2luY2UgYFJFR0VYX05FV0xJTkVgIGNhcHR1cmVzIGl0cyBtYXRjaCkuXG4gICAgLy8gUHJvY2Vzc2VkIGZyYWdtZW50cyBhcmUgYWNjZXNzZWQgYnkgY2FsbGluZyBgc2hpZnROZXh0TGluZWAuXG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzID0gYUdlbmVyYXRlZENvZGUuc3BsaXQoUkVHRVhfTkVXTElORSk7XG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzSW5kZXggPSAwO1xuICAgIHZhciBzaGlmdE5leHRMaW5lID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbGluZUNvbnRlbnRzID0gZ2V0TmV4dExpbmUoKTtcbiAgICAgIC8vIFRoZSBsYXN0IGxpbmUgb2YgYSBmaWxlIG1pZ2h0IG5vdCBoYXZlIGEgbmV3bGluZS5cbiAgICAgIHZhciBuZXdMaW5lID0gZ2V0TmV4dExpbmUoKSB8fCBcIlwiO1xuICAgICAgcmV0dXJuIGxpbmVDb250ZW50cyArIG5ld0xpbmU7XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRMaW5lKCkge1xuICAgICAgICByZXR1cm4gcmVtYWluaW5nTGluZXNJbmRleCA8IHJlbWFpbmluZ0xpbmVzLmxlbmd0aCA/XG4gICAgICAgICAgICByZW1haW5pbmdMaW5lc1tyZW1haW5pbmdMaW5lc0luZGV4KytdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBXZSBuZWVkIHRvIHJlbWVtYmVyIHRoZSBwb3NpdGlvbiBvZiBcInJlbWFpbmluZ0xpbmVzXCJcbiAgICB2YXIgbGFzdEdlbmVyYXRlZExpbmUgPSAxLCBsYXN0R2VuZXJhdGVkQ29sdW1uID0gMDtcblxuICAgIC8vIFRoZSBnZW5lcmF0ZSBTb3VyY2VOb2RlcyB3ZSBuZWVkIGEgY29kZSByYW5nZS5cbiAgICAvLyBUbyBleHRyYWN0IGl0IGN1cnJlbnQgYW5kIGxhc3QgbWFwcGluZyBpcyB1c2VkLlxuICAgIC8vIEhlcmUgd2Ugc3RvcmUgdGhlIGxhc3QgbWFwcGluZy5cbiAgICB2YXIgbGFzdE1hcHBpbmcgPSBudWxsO1xuXG4gICAgYVNvdXJjZU1hcENvbnN1bWVyLmVhY2hNYXBwaW5nKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcgIT09IG51bGwpIHtcbiAgICAgICAgLy8gV2UgYWRkIHRoZSBjb2RlIGZyb20gXCJsYXN0TWFwcGluZ1wiIHRvIFwibWFwcGluZ1wiOlxuICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGVyZSBpcyBhIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgIGlmIChsYXN0R2VuZXJhdGVkTGluZSA8IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIC8vIEFzc29jaWF0ZSBmaXJzdCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBzaGlmdE5leHRMaW5lKCkpO1xuICAgICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgICAgbGFzdEdlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgICAgLy8gVGhlIHJlbWFpbmluZyBjb2RlIGlzIGFkZGVkIHdpdGhvdXQgbWFwcGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSBjb2RlIGJldHdlZW4gXCJsYXN0R2VuZXJhdGVkQ29sdW1uXCIgYW5kXG4gICAgICAgICAgLy8gXCJtYXBwaW5nLmdlbmVyYXRlZENvbHVtblwiIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgdmFyIG5leHRMaW5lID0gcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gfHwgJyc7XG4gICAgICAgICAgdmFyIGNvZGUgPSBuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICAgIHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdID0gbmV4dExpbmUuc3Vic3RyKG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uKTtcbiAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBjb2RlKTtcbiAgICAgICAgICAvLyBObyBtb3JlIHJlbWFpbmluZyBjb2RlLCBjb250aW51ZVxuICAgICAgICAgIGxhc3RNYXBwaW5nID0gbWFwcGluZztcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIFdlIGFkZCB0aGUgZ2VuZXJhdGVkIGNvZGUgdW50aWwgdGhlIGZpcnN0IG1hcHBpbmdcbiAgICAgIC8vIHRvIHRoZSBTb3VyY2VOb2RlIHdpdGhvdXQgYW55IG1hcHBpbmcuXG4gICAgICAvLyBFYWNoIGxpbmUgaXMgYWRkZWQgYXMgc2VwYXJhdGUgc3RyaW5nLlxuICAgICAgd2hpbGUgKGxhc3RHZW5lcmF0ZWRMaW5lIDwgbWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIG5vZGUuYWRkKHNoaWZ0TmV4dExpbmUoKSk7XG4gICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICB9XG4gICAgICBpZiAobGFzdEdlbmVyYXRlZENvbHVtbiA8IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uKSB7XG4gICAgICAgIHZhciBuZXh0TGluZSA9IHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdIHx8ICcnO1xuICAgICAgICBub2RlLmFkZChuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pKTtcbiAgICAgICAgcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gPSBuZXh0TGluZS5zdWJzdHIobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICB9XG4gICAgICBsYXN0TWFwcGluZyA9IG1hcHBpbmc7XG4gICAgfSwgdGhpcyk7XG4gICAgLy8gV2UgaGF2ZSBwcm9jZXNzZWQgYWxsIG1hcHBpbmdzLlxuICAgIGlmIChyZW1haW5pbmdMaW5lc0luZGV4IDwgcmVtYWluaW5nTGluZXMubGVuZ3RoKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcpIHtcbiAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSByZW1haW5pbmcgY29kZSBpbiB0aGUgY3VycmVudCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgIGFkZE1hcHBpbmdXaXRoQ29kZShsYXN0TWFwcGluZywgc2hpZnROZXh0TGluZSgpKTtcbiAgICAgIH1cbiAgICAgIC8vIGFuZCBhZGQgdGhlIHJlbWFpbmluZyBsaW5lcyB3aXRob3V0IGFueSBtYXBwaW5nXG4gICAgICBub2RlLmFkZChyZW1haW5pbmdMaW5lcy5zcGxpY2UocmVtYWluaW5nTGluZXNJbmRleCkuam9pbihcIlwiKSk7XG4gICAgfVxuXG4gICAgLy8gQ29weSBzb3VyY2VzQ29udGVudCBpbnRvIFNvdXJjZU5vZGVcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVJlbGF0aXZlUGF0aCAhPSBudWxsKSB7XG4gICAgICAgICAgc291cmNlRmlsZSA9IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBub2RlLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZTtcblxuICAgIGZ1bmN0aW9uIGFkZE1hcHBpbmdXaXRoQ29kZShtYXBwaW5nLCBjb2RlKSB7XG4gICAgICBpZiAobWFwcGluZyA9PT0gbnVsbCB8fCBtYXBwaW5nLnNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vZGUuYWRkKGNvZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IGFSZWxhdGl2ZVBhdGhcbiAgICAgICAgICA/IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICA6IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBub2RlLmFkZChuZXcgU291cmNlTm9kZShtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLm5hbWUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoaXMgc291cmNlIG5vZGUuXG4gKlxuICogQHBhcmFtIGFDaHVuayBBIHN0cmluZyBzbmlwcGV0IG9mIGdlbmVyYXRlZCBKUyBjb2RlLCBhbm90aGVyIGluc3RhbmNlIG9mXG4gKiAgICAgICAgU291cmNlTm9kZSwgb3IgYW4gYXJyYXkgd2hlcmUgZWFjaCBtZW1iZXIgaXMgb25lIG9mIHRob3NlIHRoaW5ncy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gU291cmNlTm9kZV9hZGQoYUNodW5rKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFDaHVuaykpIHtcbiAgICBhQ2h1bmsuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHtcbiAgICAgIHRoaXMuYWRkKGNodW5rKTtcbiAgICB9LCB0aGlzKTtcbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGFDaHVuaykge1xuICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKGFDaHVuayk7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBcIkV4cGVjdGVkIGEgU291cmNlTm9kZSwgc3RyaW5nLCBvciBhbiBhcnJheSBvZiBTb3VyY2VOb2RlcyBhbmQgc3RyaW5ncy4gR290IFwiICsgYUNodW5rXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBzb3VyY2Ugbm9kZS5cbiAqXG4gKiBAcGFyYW0gYUNodW5rIEEgc3RyaW5nIHNuaXBwZXQgb2YgZ2VuZXJhdGVkIEpTIGNvZGUsIGFub3RoZXIgaW5zdGFuY2Ugb2ZcbiAqICAgICAgICBTb3VyY2VOb2RlLCBvciBhbiBhcnJheSB3aGVyZSBlYWNoIG1lbWJlciBpcyBvbmUgb2YgdGhvc2UgdGhpbmdzLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5wcmVwZW5kID0gZnVuY3Rpb24gU291cmNlTm9kZV9wcmVwZW5kKGFDaHVuaykge1xuICBpZiAoQXJyYXkuaXNBcnJheShhQ2h1bmspKSB7XG4gICAgZm9yICh2YXIgaSA9IGFDaHVuay5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHRoaXMucHJlcGVuZChhQ2h1bmtbaV0pO1xuICAgIH1cbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KGFDaHVuayk7XG4gIH1cbiAgZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIFwiRXhwZWN0ZWQgYSBTb3VyY2VOb2RlLCBzdHJpbmcsIG9yIGFuIGFycmF5IG9mIFNvdXJjZU5vZGVzIGFuZCBzdHJpbmdzLiBHb3QgXCIgKyBhQ2h1bmtcbiAgICApO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBXYWxrIG92ZXIgdGhlIHRyZWUgb2YgSlMgc25pcHBldHMgaW4gdGhpcyBub2RlIGFuZCBpdHMgY2hpbGRyZW4uIFRoZVxuICogd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgb25jZSBmb3IgZWFjaCBzbmlwcGV0IG9mIEpTIGFuZCBpcyBwYXNzZWQgdGhhdFxuICogc25pcHBldCBhbmQgdGhlIGl0cyBvcmlnaW5hbCBhc3NvY2lhdGVkIHNvdXJjZSdzIGxpbmUvY29sdW1uIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfd2FsayhhRm4pIHtcbiAgdmFyIGNodW5rO1xuICBmb3IgKHZhciBpID0gMCwgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNodW5rID0gdGhpcy5jaGlsZHJlbltpXTtcbiAgICBpZiAoY2h1bmtbaXNTb3VyY2VOb2RlXSkge1xuICAgICAgY2h1bmsud2FsayhhRm4pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChjaHVuayAhPT0gJycpIHtcbiAgICAgICAgYUZuKGNodW5rLCB7IHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLmxpbmUsXG4gICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBMaWtlIGBTdHJpbmcucHJvdG90eXBlLmpvaW5gIGV4Y2VwdCBmb3IgU291cmNlTm9kZXMuIEluc2VydHMgYGFTdHJgIGJldHdlZW5cbiAqIGVhY2ggb2YgYHRoaXMuY2hpbGRyZW5gLlxuICpcbiAqIEBwYXJhbSBhU2VwIFRoZSBzZXBhcmF0b3IuXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbiBTb3VyY2VOb2RlX2pvaW4oYVNlcCkge1xuICB2YXIgbmV3Q2hpbGRyZW47XG4gIHZhciBpO1xuICB2YXIgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gIGlmIChsZW4gPiAwKSB7XG4gICAgbmV3Q2hpbGRyZW4gPSBbXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuLTE7IGkrKykge1xuICAgICAgbmV3Q2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2ldKTtcbiAgICAgIG5ld0NoaWxkcmVuLnB1c2goYVNlcCk7XG4gICAgfVxuICAgIG5ld0NoaWxkcmVuLnB1c2godGhpcy5jaGlsZHJlbltpXSk7XG4gICAgdGhpcy5jaGlsZHJlbiA9IG5ld0NoaWxkcmVuO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDYWxsIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSBvbiB0aGUgdmVyeSByaWdodC1tb3N0IHNvdXJjZSBzbmlwcGV0LiBVc2VmdWxcbiAqIGZvciB0cmltbWluZyB3aGl0ZXNwYWNlIGZyb20gdGhlIGVuZCBvZiBhIHNvdXJjZSBub2RlLCBldGMuXG4gKlxuICogQHBhcmFtIGFQYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIHJlcGxhY2UuXG4gKiBAcGFyYW0gYVJlcGxhY2VtZW50IFRoZSB0aGluZyB0byByZXBsYWNlIHRoZSBwYXR0ZXJuIHdpdGguXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLnJlcGxhY2VSaWdodCA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfcmVwbGFjZVJpZ2h0KGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpIHtcbiAgdmFyIGxhc3RDaGlsZCA9IHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgaWYgKGxhc3RDaGlsZFtpc1NvdXJjZU5vZGVdKSB7XG4gICAgbGFzdENoaWxkLnJlcGxhY2VSaWdodChhUGF0dGVybiwgYVJlcGxhY2VtZW50KTtcbiAgfVxuICBlbHNlIGlmICh0eXBlb2YgbGFzdENoaWxkID09PSAnc3RyaW5nJykge1xuICAgIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXSA9IGxhc3RDaGlsZC5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpO1xuICB9XG4gIGVsc2Uge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaCgnJy5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IHRoZSBzb3VyY2UgY29udGVudCBmb3IgYSBzb3VyY2UgZmlsZS4gVGhpcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3JcbiAqIGluIHRoZSBzb3VyY2VzQ29udGVudCBmaWVsZC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgVGhlIGZpbGVuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZVxuICogQHBhcmFtIGFTb3VyY2VDb250ZW50IFRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgZmlsZVxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5zZXRTb3VyY2VDb250ZW50ID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHRoaXMuc291cmNlQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhhU291cmNlRmlsZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gIH07XG5cbi8qKlxuICogV2FsayBvdmVyIHRoZSB0cmVlIG9mIFNvdXJjZU5vZGVzLiBUaGUgd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgZm9yIGVhY2hcbiAqIHNvdXJjZSBmaWxlIGNvbnRlbnQgYW5kIGlzIHBhc3NlZCB0aGUgZmlsZW5hbWUgYW5kIHNvdXJjZSBjb250ZW50LlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2Fsa1NvdXJjZUNvbnRlbnRzID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV93YWxrU291cmNlQ29udGVudHMoYUZuKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkcmVuW2ldW2lzU291cmNlTm9kZV0pIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbltpXS53YWxrU291cmNlQ29udGVudHMoYUZuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgc291cmNlcyA9IE9iamVjdC5rZXlzKHRoaXMuc291cmNlQ29udGVudHMpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzb3VyY2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhRm4odXRpbC5mcm9tU2V0U3RyaW5nKHNvdXJjZXNbaV0pLCB0aGlzLnNvdXJjZUNvbnRlbnRzW3NvdXJjZXNbaV1dKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBzb3VyY2Ugbm9kZS4gV2Fsa3Mgb3ZlciB0aGUgdHJlZVxuICogYW5kIGNvbmNhdGVuYXRlcyBhbGwgdGhlIHZhcmlvdXMgc25pcHBldHMgdG9nZXRoZXIgdG8gb25lIHN0cmluZy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX3RvU3RyaW5nKCkge1xuICB2YXIgc3RyID0gXCJcIjtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaykge1xuICAgIHN0ciArPSBjaHVuaztcbiAgfSk7XG4gIHJldHVybiBzdHI7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHNvdXJjZSBub2RlIGFsb25nIHdpdGggYSBzb3VyY2VcbiAqIG1hcC5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmdXaXRoU291cmNlTWFwID0gZnVuY3Rpb24gU291cmNlTm9kZV90b1N0cmluZ1dpdGhTb3VyY2VNYXAoYUFyZ3MpIHtcbiAgdmFyIGdlbmVyYXRlZCA9IHtcbiAgICBjb2RlOiBcIlwiLFxuICAgIGxpbmU6IDEsXG4gICAgY29sdW1uOiAwXG4gIH07XG4gIHZhciBtYXAgPSBuZXcgU291cmNlTWFwR2VuZXJhdG9yKGFBcmdzKTtcbiAgdmFyIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgdmFyIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxMaW5lID0gbnVsbDtcbiAgdmFyIGxhc3RPcmlnaW5hbENvbHVtbiA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxOYW1lID0gbnVsbDtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaywgb3JpZ2luYWwpIHtcbiAgICBnZW5lcmF0ZWQuY29kZSArPSBjaHVuaztcbiAgICBpZiAob3JpZ2luYWwuc291cmNlICE9PSBudWxsXG4gICAgICAgICYmIG9yaWdpbmFsLmxpbmUgIT09IG51bGxcbiAgICAgICAgJiYgb3JpZ2luYWwuY29sdW1uICE9PSBudWxsKSB7XG4gICAgICBpZihsYXN0T3JpZ2luYWxTb3VyY2UgIT09IG9yaWdpbmFsLnNvdXJjZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsTGluZSAhPT0gb3JpZ2luYWwubGluZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsQ29sdW1uICE9PSBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgIHx8IGxhc3RPcmlnaW5hbE5hbWUgIT09IG9yaWdpbmFsLm5hbWUpIHtcbiAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgIHNvdXJjZTogb3JpZ2luYWwuc291cmNlLFxuICAgICAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgY29sdW1uOiBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgbGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW46IGdlbmVyYXRlZC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG5hbWU6IG9yaWdpbmFsLm5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICBsYXN0T3JpZ2luYWxMaW5lID0gb3JpZ2luYWwubGluZTtcbiAgICAgIGxhc3RPcmlnaW5hbENvbHVtbiA9IG9yaWdpbmFsLmNvbHVtbjtcbiAgICAgIGxhc3RPcmlnaW5hbE5hbWUgPSBvcmlnaW5hbC5uYW1lO1xuICAgICAgc291cmNlTWFwcGluZ0FjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICBtYXAuYWRkTWFwcGluZyh7XG4gICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgIGxpbmU6IGdlbmVyYXRlZC5saW5lLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gICAgICBzb3VyY2VNYXBwaW5nQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICAgIGZvciAodmFyIGlkeCA9IDAsIGxlbmd0aCA9IGNodW5rLmxlbmd0aDsgaWR4IDwgbGVuZ3RoOyBpZHgrKykge1xuICAgICAgaWYgKGNodW5rLmNoYXJDb2RlQXQoaWR4KSA9PT0gTkVXTElORV9DT0RFKSB7XG4gICAgICAgIGdlbmVyYXRlZC5saW5lKys7XG4gICAgICAgIGdlbmVyYXRlZC5jb2x1bW4gPSAwO1xuICAgICAgICAvLyBNYXBwaW5ncyBlbmQgYXQgZW9sXG4gICAgICAgIGlmIChpZHggKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBudWxsO1xuICAgICAgICAgIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgc291cmNlOiBvcmlnaW5hbC5zb3VyY2UsXG4gICAgICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgICBjb2x1bW46IG9yaWdpbmFsLmNvbHVtblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgICBsaW5lOiBnZW5lcmF0ZWQubGluZSxcbiAgICAgICAgICAgICAgY29sdW1uOiBnZW5lcmF0ZWQuY29sdW1uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmFtZTogb3JpZ2luYWwubmFtZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZW5lcmF0ZWQuY29sdW1uKys7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgdGhpcy53YWxrU291cmNlQ29udGVudHMoZnVuY3Rpb24gKHNvdXJjZUZpbGUsIHNvdXJjZUNvbnRlbnQpIHtcbiAgICBtYXAuc2V0U291cmNlQ29udGVudChzb3VyY2VGaWxlLCBzb3VyY2VDb250ZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgY29kZTogZ2VuZXJhdGVkLmNvZGUsIG1hcDogbWFwIH07XG59O1xuXG5leHBvcnRzLlNvdXJjZU5vZGUgPSBTb3VyY2VOb2RlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvc291cmNlLW5vZGUuanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.js new file mode 100644 index 00000000..b4eb0874 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.js @@ -0,0 +1,3233 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["sourceMap"] = factory(); + else + root["sourceMap"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.loaded = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + /* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ + exports.SourceMapGenerator = __webpack_require__(1).SourceMapGenerator; + exports.SourceMapConsumer = __webpack_require__(7).SourceMapConsumer; + exports.SourceNode = __webpack_require__(10).SourceNode; + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var base64VLQ = __webpack_require__(2); + var util = __webpack_require__(4); + var ArraySet = __webpack_require__(5).ArraySet; + var MappingList = __webpack_require__(6).MappingList; + + /** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ + function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; + } + + SourceMapGenerator.prototype._version = 3; + + /** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + + /** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + + /** + * Set the source content for a source file. + */ + SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + + /** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ + SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + + /** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + + /** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + + SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + + /** + * Externalize the source map. + */ + SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + + /** + * Render the source map being generated to a string. + */ + SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + + exports.SourceMapGenerator = SourceMapGenerator; + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + var base64 = __webpack_require__(3); + + // A single base 64 digit can contain 6 bits of data. For the base 64 variable + // length quantities we use in the source map spec, the first bit is the sign, + // the next four bits are the actual value, and the 6th bit is the + // continuation bit. The continuation bit tells us whether there are more + // digits in this value following this digit. + // + // Continuation + // | Sign + // | | + // V V + // 101011 + + var VLQ_BASE_SHIFT = 5; + + // binary: 100000 + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + + // binary: 011111 + var VLQ_BASE_MASK = VLQ_BASE - 1; + + // binary: 100000 + var VLQ_CONTINUATION_BIT = VLQ_BASE; + + /** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; + } + + /** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; + } + + /** + * Returns the base 64 VLQ encoded value. + */ + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; + }; + + /** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ + exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; + }; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + + /** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); + }; + + /** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ + exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; + }; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + + var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; + var dataUrlRegexp = /^data:.+\,.+$/; + + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; + } + exports.urlParse = urlParse; + + function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + + /** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ + function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; + } + exports.normalize = normalize; + + /** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ + function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; + } + exports.join = join; + + exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); + }; + + /** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ + function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + } + exports.relative = relative; + + var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); + }()); + + function identity (s) { + return s; + } + + /** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; + } + exports.toSetString = supportsNullProto ? identity : toSetString; + + function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; + } + exports.fromSetString = supportsNullProto ? identity : fromSetString; + + function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; + } + + /** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByOriginalPositions = compareByOriginalPositions; + + /** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + + function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; + } + + /** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ + function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + + /** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ + function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); + } + exports.parseSourceMapInput = parseSourceMapInput; + + /** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ + function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); + } + exports.computeSourceURL = computeSourceURL; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + var has = Object.prototype.hasOwnProperty; + var hasNativeMap = typeof Map !== "undefined"; + + /** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); + } + + /** + * Static method for creating ArraySet instances from an existing array. + */ + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; + }; + + /** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ + ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; + }; + + /** + * Add the given string to this set. + * + * @param String aStr + */ + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } + }; + + /** + * Is the given string a member of this set? + * + * @param String aStr + */ + ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } + }; + + /** + * What is the index of the given string in the array? + * + * @param String aStr + */ + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); + }; + + /** + * What is the element at the given index? + * + * @param Number aIdx + */ + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); + }; + + /** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + + exports.ArraySet = ArraySet; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + + /** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ + function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; + } + + /** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ + function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; + } + + /** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ + MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + + /** + * Add the given source mapping. + * + * @param Object aMapping + */ + MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } + }; + + /** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ + MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; + }; + + exports.MappingList = MappingList; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var util = __webpack_require__(4); + var binarySearch = __webpack_require__(8); + var ArraySet = __webpack_require__(5).ArraySet; + var base64VLQ = __webpack_require__(2); + var quickSort = __webpack_require__(9).quickSort; + + function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); + } + + SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); + } + + /** + * The version of the source mapping spec that we are consuming. + */ + SourceMapConsumer.prototype._version = 3; + + // `__generatedMappings` and `__originalMappings` are arrays that hold the + // parsed mapping coordinates from the source map's "mappings" attribute. They + // are lazily instantiated, accessed via the `_generatedMappings` and + // `_originalMappings` getters respectively, and we only parse the mappings + // and create these arrays once queried for a source location. We jump through + // these hoops because there can be many thousands of mappings, and parsing + // them is expensive, so we only want to do it if we must. + // + // Each object in the arrays is of the form: + // + // { + // generatedLine: The line number in the generated code, + // generatedColumn: The column number in the generated code, + // source: The path to the original source file that generated this + // chunk of code, + // originalLine: The line number in the original source that + // corresponds to this chunk of generated code, + // originalColumn: The column number in the original source that + // corresponds to this chunk of generated code, + // name: The name of the original symbol which generated this chunk of + // code. + // } + // + // All properties except for `generatedLine` and `generatedColumn` can be + // `null`. + // + // `_generatedMappings` is ordered by the generated positions. + // + // `_originalMappings` is ordered by the original positions. + + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } + }); + + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } + }); + + SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + + SourceMapConsumer.GREATEST_LOWER_BOUND = 1; + SourceMapConsumer.LEAST_UPPER_BOUND = 2; + + /** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + + /** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + + exports.SourceMapConsumer = SourceMapConsumer; + + /** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; + } + + BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + + /** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ + BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; + }; + + /** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ + BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + + /** + * The version of the source mapping spec that we are consuming. + */ + BasicSourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } + }); + + /** + * Provide the JIT with a nice shape / hidden class. + */ + function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; + } + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + + /** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + + /** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ + BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + + exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + + /** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ + function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); + } + + IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + + /** + * The version of the source mapping spec that we are consuming. + */ + IndexedSourceMapConsumer.prototype._version = 3; + + /** + * The list of original sources. + */ + Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } + }); + + /** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + + /** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + + /** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + + /** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + + /** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + + exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + exports.GREATEST_LOWER_BOUND = 1; + exports.LEAST_UPPER_BOUND = 2; + + /** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } + } + + /** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ + exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; + }; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + // It turns out that some (most?) JavaScript engines don't self-host + // `Array.prototype.sort`. This makes sense because C++ will likely remain + // faster than JS when doing raw CPU-intensive sorting. However, when using a + // custom comparator function, calling back and forth between the VM's C++ and + // JIT'd JS is rather slow *and* loses JIT type information, resulting in + // worse generated code for the comparator function than would be optimal. In + // fact, when sorting with a comparator, these costs outweigh the benefits of + // sorting in C++. By using our own JS-implemented Quick Sort (below), we get + // a ~3500ms mean speed-up in `bench/bench.html`. + + /** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ + function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } + + /** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ + function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); + } + + /** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ + function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } + + /** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); + }; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + + /* -*- Mode: js; js-indent-level: 2; -*- */ + /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + + var SourceMapGenerator = __webpack_require__(1).SourceMapGenerator; + var util = __webpack_require__(4); + + // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other + // operating systems these days (capturing the result). + var REGEX_NEWLINE = /(\r?\n)/; + + // Newline character code for charCodeAt() comparisons + var NEWLINE_CODE = 10; + + // Private symbol for identifying `SourceNode`s when multiple versions of + // the source-map library are loaded. This MUST NOT CHANGE across + // versions! + var isSourceNode = "$$$isSourceNode$$$"; + + /** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); + } + + /** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ + SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + + /** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + + /** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } + }; + + /** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + + /** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; + }; + + /** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + + /** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + + /** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; + }; + + /** + * Returns the string representation of this source node along with a source + * map. + */ + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; + }; + + exports.SourceNode = SourceNode; + + +/***/ }) +/******/ ]) +}); +; \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.min.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.min.js new file mode 100644 index 00000000..c7c72dad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/dist/source-map.min.js @@ -0,0 +1,2 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sourceMap=n():e.sourceMap=n()}(this,function(){return function(e){function n(t){if(r[t])return r[t].exports;var o=r[t]={exports:{},id:t,loaded:!1};return e[t].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}var r={};return n.m=e,n.c=r,n.p="",n(0)}([function(e,n,r){n.SourceMapGenerator=r(1).SourceMapGenerator,n.SourceMapConsumer=r(7).SourceMapConsumer,n.SourceNode=r(10).SourceNode},function(e,n,r){function t(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new s,this._names=new s,this._mappings=new a,this._sourcesContents=null}var o=r(2),i=r(4),s=r(5).ArraySet,a=r(6).MappingList;t.prototype._version=3,t.fromSourceMap=function(e){var n=e.sourceRoot,r=new t({file:e.file,sourceRoot:n});return e.eachMapping(function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(t.source=e.source,null!=n&&(t.source=i.relative(n,t.source)),t.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(t.name=e.name)),r.addMapping(t)}),e.sources.forEach(function(t){var o=t;null!==n&&(o=i.relative(n,t)),r._sources.has(o)||r._sources.add(o);var s=e.sourceContentFor(t);null!=s&&r.setSourceContent(t,s)}),r},t.prototype.addMapping=function(e){var n=i.getArg(e,"generated"),r=i.getArg(e,"original",null),t=i.getArg(e,"source",null),o=i.getArg(e,"name",null);this._skipValidation||this._validateMapping(n,r,t,o),null!=t&&(t=String(t),this._sources.has(t)||this._sources.add(t)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:n.line,generatedColumn:n.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:t,name:o})},t.prototype.setSourceContent=function(e,n){var r=e;null!=this._sourceRoot&&(r=i.relative(this._sourceRoot,r)),null!=n?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(r)]=n):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},t.prototype.applySourceMap=function(e,n,r){var t=n;if(null==n){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');t=e.file}var o=this._sourceRoot;null!=o&&(t=i.relative(o,t));var a=new s,u=new s;this._mappings.unsortedForEach(function(n){if(n.source===t&&null!=n.originalLine){var s=e.originalPositionFor({line:n.originalLine,column:n.originalColumn});null!=s.source&&(n.source=s.source,null!=r&&(n.source=i.join(r,n.source)),null!=o&&(n.source=i.relative(o,n.source)),n.originalLine=s.line,n.originalColumn=s.column,null!=s.name&&(n.name=s.name))}var l=n.source;null==l||a.has(l)||a.add(l);var c=n.name;null==c||u.has(c)||u.add(c)},this),this._sources=a,this._names=u,e.sources.forEach(function(n){var t=e.sourceContentFor(n);null!=t&&(null!=r&&(n=i.join(r,n)),null!=o&&(n=i.relative(o,n)),this.setSourceContent(n,t))},this)},t.prototype._validateMapping=function(e,n,r,t){if(n&&"number"!=typeof n.line&&"number"!=typeof n.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||n||r||t)&&!(e&&"line"in e&&"column"in e&&n&&"line"in n&&"column"in n&&e.line>0&&e.column>=0&&n.line>0&&n.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:n,name:t}))},t.prototype._serializeMappings=function(){for(var e,n,r,t,s=0,a=1,u=0,l=0,c=0,g=0,p="",h=this._mappings.toArray(),f=0,d=h.length;f0){if(!i.compareByGeneratedPositionsInflated(n,h[f-1]))continue;e+=","}e+=o.encode(n.generatedColumn-s),s=n.generatedColumn,null!=n.source&&(t=this._sources.indexOf(n.source),e+=o.encode(t-g),g=t,e+=o.encode(n.originalLine-1-l),l=n.originalLine-1,e+=o.encode(n.originalColumn-u),u=n.originalColumn,null!=n.name&&(r=this._names.indexOf(n.name),e+=o.encode(r-c),c=r)),p+=e}return p},t.prototype._generateSourcesContent=function(e,n){return e.map(function(e){if(!this._sourcesContents)return null;null!=n&&(e=i.relative(n,e));var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},t.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},t.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=t},function(e,n,r){function t(e){return e<0?(-e<<1)+1:(e<<1)+0}function o(e){var n=1===(1&e),r=e>>1;return n?-r:r}var i=r(3),s=5,a=1<>>=s,o>0&&(n|=l),r+=i.encode(n);while(o>0);return r},n.decode=function(e,n,r){var t,a,c=e.length,g=0,p=0;do{if(n>=c)throw new Error("Expected more digits in base 64 VLQ value.");if(a=i.decode(e.charCodeAt(n++)),a===-1)throw new Error("Invalid base64 digit: "+e.charAt(n-1));t=!!(a&l),a&=u,g+=a<=0;c--)s=u[c],"."===s?u.splice(c,1):".."===s?l++:l>0&&(""===s?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return r=u.join("/"),""===r&&(r=a?"/":"."),i?(i.path=r,o(i)):r}function s(e,n){""===e&&(e="."),""===n&&(n=".");var r=t(n),s=t(e);if(s&&(e=s.path||"/"),r&&!r.scheme)return s&&(r.scheme=s.scheme),o(r);if(r||n.match(y))return n;if(s&&!s.host&&!s.path)return s.host=n,o(s);var a="/"===n.charAt(0)?n:i(e.replace(/\/+$/,"")+"/"+n);return s?(s.path=a,o(s)):a}function a(e,n){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==n.indexOf(e+"/");){var t=e.lastIndexOf("/");if(t<0)return n;if(e=e.slice(0,t),e.match(/^([^\/]+:\/)?\/*$/))return n;++r}return Array(r+1).join("../")+n.substr(e.length+1)}function u(e){return e}function l(e){return g(e)?"$"+e:e}function c(e){return g(e)?e.slice(1):e}function g(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function p(e,n,r){var t=f(e.source,n.source);return 0!==t?t:(t=e.originalLine-n.originalLine,0!==t?t:(t=e.originalColumn-n.originalColumn,0!==t||r?t:(t=e.generatedColumn-n.generatedColumn,0!==t?t:(t=e.generatedLine-n.generatedLine,0!==t?t:f(e.name,n.name)))))}function h(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:(t=e.generatedColumn-n.generatedColumn,0!==t||r?t:(t=f(e.source,n.source),0!==t?t:(t=e.originalLine-n.originalLine,0!==t?t:(t=e.originalColumn-n.originalColumn,0!==t?t:f(e.name,n.name)))))}function f(e,n){return e===n?0:null===e?1:null===n?-1:e>n?1:-1}function d(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:(r=e.generatedColumn-n.generatedColumn,0!==r?r:(r=f(e.source,n.source),0!==r?r:(r=e.originalLine-n.originalLine,0!==r?r:(r=e.originalColumn-n.originalColumn,0!==r?r:f(e.name,n.name)))))}function m(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}function _(e,n,r){if(n=n||"",e&&("/"!==e[e.length-1]&&"/"!==n[0]&&(e+="/"),n=e+n),r){var a=t(r);if(!a)throw new Error("sourceMapURL could not be parsed");if(a.path){var u=a.path.lastIndexOf("/");u>=0&&(a.path=a.path.substring(0,u+1))}n=s(o(a),n)}return i(n)}n.getArg=r;var v=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,y=/^data:.+\,.+$/;n.urlParse=t,n.urlGenerate=o,n.normalize=i,n.join=s,n.isAbsolute=function(e){return"/"===e.charAt(0)||v.test(e)},n.relative=a;var C=function(){var e=Object.create(null);return!("__proto__"in e)}();n.toSetString=C?u:l,n.fromSetString=C?u:c,n.compareByOriginalPositions=p,n.compareByGeneratedPositionsDeflated=h,n.compareByGeneratedPositionsInflated=d,n.parseSourceMapInput=m,n.computeSourceURL=_},function(e,n,r){function t(){this._array=[],this._set=s?new Map:Object.create(null)}var o=r(4),i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;t.fromArray=function(e,n){for(var r=new t,o=0,i=e.length;o=0)return n}else{var r=o.toSetString(e);if(i.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},t.prototype.at=function(e){if(e>=0&&er||t==r&&s>=o||i.compareByGeneratedPositionsInflated(e,n)<=0}function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var i=r(4);o.prototype.unsortedForEach=function(e,n){this._array.forEach(e,n)},o.prototype.add=function(e){t(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=o},function(e,n,r){function t(e,n){var r=e;return"string"==typeof e&&(r=a.parseSourceMapInput(e)),null!=r.sections?new s(r,n):new o(r,n)}function o(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var t=a.getArg(r,"version"),o=a.getArg(r,"sources"),i=a.getArg(r,"names",[]),s=a.getArg(r,"sourceRoot",null),u=a.getArg(r,"sourcesContent",null),c=a.getArg(r,"mappings"),g=a.getArg(r,"file",null);if(t!=this._version)throw new Error("Unsupported version: "+t);s&&(s=a.normalize(s)),o=o.map(String).map(a.normalize).map(function(e){return s&&a.isAbsolute(s)&&a.isAbsolute(e)?a.relative(s,e):e}),this._names=l.fromArray(i.map(String),!0),this._sources=l.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(e){return a.computeSourceURL(s,e,n)}),this.sourceRoot=s,this.sourcesContent=u,this._mappings=c,this._sourceMapURL=n,this.file=g}function i(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function s(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var o=a.getArg(r,"version"),i=a.getArg(r,"sections");if(o!=this._version)throw new Error("Unsupported version: "+o);this._sources=new l,this._names=new l;var s={line:-1,column:0};this._sections=i.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=a.getArg(e,"offset"),o=a.getArg(r,"line"),i=a.getArg(r,"column");if(o=0){var i=this._originalMappings[o];if(void 0===e.column)for(var s=i.originalLine;i&&i.originalLine===s;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o];else for(var l=i.originalColumn;i&&i.originalLine===n&&i.originalColumn==l;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o]}return t},n.SourceMapConsumer=t,o.prototype=Object.create(t.prototype),o.prototype.consumer=t,o.prototype._findSourceIndex=function(e){var n=e;if(null!=this.sourceRoot&&(n=a.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);var r;for(r=0;r1&&(r.source=d+o[1],d+=o[1],r.originalLine=h+o[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+o[3],f=r.originalColumn,o.length>4&&(r.name=m+o[4],m+=o[4])),A.push(r),"number"==typeof r.originalLine&&S.push(r)}g(A,a.compareByGeneratedPositionsDeflated),this.__generatedMappings=A,g(S,a.compareByOriginalPositions),this.__originalMappings=S},o.prototype._findMapping=function(e,n,r,t,o,i){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[t]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[t]);return u.search(e,n,o,i)},o.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=a.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=a.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=a.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:a.getArg(o,"originalLine",null),column:a.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},o.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},o.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var t=e;null!=this.sourceRoot&&(t=a.relative(this.sourceRoot,t));var o;if(null!=this.sourceRoot&&(o=a.urlParse(this.sourceRoot))){var i=t.replace(/^file:\/\//,"");if("file"==o.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!o.path||"/"==o.path)&&this._sources.has("/"+t))return this.sourcesContent[this._sources.indexOf("/"+t)]}if(n)return null;throw new Error('"'+t+'" is not in the SourceMap.')},o.prototype.generatedPositionFor=function(e){var n=a.getArg(e,"source");if(n=this._findSourceIndex(n),n<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:a.getArg(e,"line"),originalColumn:a.getArg(e,"column")},o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,a.getArg(e,"bias",t.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=o,s.prototype=Object.create(t.prototype),s.prototype.constructor=t,s.prototype._version=3,Object.defineProperty(s.prototype,"sources",{get:function(){for(var e=[],n=0;n0?t-u>1?r(u,t,o,i,s,a):a==n.LEAST_UPPER_BOUND?t1?r(e,u,o,i,s,a):a==n.LEAST_UPPER_BOUND?u:e<0?-1:e}n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,o,i){if(0===t.length)return-1;var s=r(-1,t.length,e,t,o,i||n.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===o(t[s],t[s-1],!0);)--s;return s}},function(e,n){function r(e,n,r){var t=e[n];e[n]=e[r],e[r]=t}function t(e,n){return Math.round(e+Math.random()*(n-e))}function o(e,n,i,s){if(i=0;n--)this.prepend(e[n]);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},t.prototype.walk=function(e){for(var n,r=0,t=this.children.length;r0){for(n=[],r=0;r 0 && aGenerated.column >= 0\n\t && !aOriginal && !aSource && !aName) {\n\t // Case 1.\n\t return;\n\t }\n\t else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n\t && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n\t && aGenerated.line > 0 && aGenerated.column >= 0\n\t && aOriginal.line > 0 && aOriginal.column >= 0\n\t && aSource) {\n\t // Cases 2 and 3.\n\t return;\n\t }\n\t else {\n\t throw new Error('Invalid mapping: ' + JSON.stringify({\n\t generated: aGenerated,\n\t source: aSource,\n\t original: aOriginal,\n\t name: aName\n\t }));\n\t }\n\t };\n\t\n\t/**\n\t * Serialize the accumulated mappings in to the stream of base 64 VLQs\n\t * specified by the source map format.\n\t */\n\tSourceMapGenerator.prototype._serializeMappings =\n\t function SourceMapGenerator_serializeMappings() {\n\t var previousGeneratedColumn = 0;\n\t var previousGeneratedLine = 1;\n\t var previousOriginalColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousName = 0;\n\t var previousSource = 0;\n\t var result = '';\n\t var next;\n\t var mapping;\n\t var nameIdx;\n\t var sourceIdx;\n\t\n\t var mappings = this._mappings.toArray();\n\t for (var i = 0, len = mappings.length; i < len; i++) {\n\t mapping = mappings[i];\n\t next = ''\n\t\n\t if (mapping.generatedLine !== previousGeneratedLine) {\n\t previousGeneratedColumn = 0;\n\t while (mapping.generatedLine !== previousGeneratedLine) {\n\t next += ';';\n\t previousGeneratedLine++;\n\t }\n\t }\n\t else {\n\t if (i > 0) {\n\t if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n\t continue;\n\t }\n\t next += ',';\n\t }\n\t }\n\t\n\t next += base64VLQ.encode(mapping.generatedColumn\n\t - previousGeneratedColumn);\n\t previousGeneratedColumn = mapping.generatedColumn;\n\t\n\t if (mapping.source != null) {\n\t sourceIdx = this._sources.indexOf(mapping.source);\n\t next += base64VLQ.encode(sourceIdx - previousSource);\n\t previousSource = sourceIdx;\n\t\n\t // lines are stored 0-based in SourceMap spec version 3\n\t next += base64VLQ.encode(mapping.originalLine - 1\n\t - previousOriginalLine);\n\t previousOriginalLine = mapping.originalLine - 1;\n\t\n\t next += base64VLQ.encode(mapping.originalColumn\n\t - previousOriginalColumn);\n\t previousOriginalColumn = mapping.originalColumn;\n\t\n\t if (mapping.name != null) {\n\t nameIdx = this._names.indexOf(mapping.name);\n\t next += base64VLQ.encode(nameIdx - previousName);\n\t previousName = nameIdx;\n\t }\n\t }\n\t\n\t result += next;\n\t }\n\t\n\t return result;\n\t };\n\t\n\tSourceMapGenerator.prototype._generateSourcesContent =\n\t function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n\t return aSources.map(function (source) {\n\t if (!this._sourcesContents) {\n\t return null;\n\t }\n\t if (aSourceRoot != null) {\n\t source = util.relative(aSourceRoot, source);\n\t }\n\t var key = util.toSetString(source);\n\t return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n\t ? this._sourcesContents[key]\n\t : null;\n\t }, this);\n\t };\n\t\n\t/**\n\t * Externalize the source map.\n\t */\n\tSourceMapGenerator.prototype.toJSON =\n\t function SourceMapGenerator_toJSON() {\n\t var map = {\n\t version: this._version,\n\t sources: this._sources.toArray(),\n\t names: this._names.toArray(),\n\t mappings: this._serializeMappings()\n\t };\n\t if (this._file != null) {\n\t map.file = this._file;\n\t }\n\t if (this._sourceRoot != null) {\n\t map.sourceRoot = this._sourceRoot;\n\t }\n\t if (this._sourcesContents) {\n\t map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n\t }\n\t\n\t return map;\n\t };\n\t\n\t/**\n\t * Render the source map being generated to a string.\n\t */\n\tSourceMapGenerator.prototype.toString =\n\t function SourceMapGenerator_toString() {\n\t return JSON.stringify(this.toJSON());\n\t };\n\t\n\texports.SourceMapGenerator = SourceMapGenerator;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t *\n\t * Based on the Base 64 VLQ implementation in Closure Compiler:\n\t * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n\t *\n\t * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n\t * Redistribution and use in source and binary forms, with or without\n\t * modification, are permitted provided that the following conditions are\n\t * met:\n\t *\n\t * * Redistributions of source code must retain the above copyright\n\t * notice, this list of conditions and the following disclaimer.\n\t * * Redistributions in binary form must reproduce the above\n\t * copyright notice, this list of conditions and the following\n\t * disclaimer in the documentation and/or other materials provided\n\t * with the distribution.\n\t * * Neither the name of Google Inc. nor the names of its\n\t * contributors may be used to endorse or promote products derived\n\t * from this software without specific prior written permission.\n\t *\n\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\t * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\t * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\t * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\t * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\t * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\t * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\t * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\t * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\t * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t */\n\t\n\tvar base64 = __webpack_require__(3);\n\t\n\t// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n\t// length quantities we use in the source map spec, the first bit is the sign,\n\t// the next four bits are the actual value, and the 6th bit is the\n\t// continuation bit. The continuation bit tells us whether there are more\n\t// digits in this value following this digit.\n\t//\n\t// Continuation\n\t// | Sign\n\t// | |\n\t// V V\n\t// 101011\n\t\n\tvar VLQ_BASE_SHIFT = 5;\n\t\n\t// binary: 100000\n\tvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\t\n\t// binary: 011111\n\tvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\t\n\t// binary: 100000\n\tvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\t\n\t/**\n\t * Converts from a two-complement value to a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n\t * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n\t */\n\tfunction toVLQSigned(aValue) {\n\t return aValue < 0\n\t ? ((-aValue) << 1) + 1\n\t : (aValue << 1) + 0;\n\t}\n\t\n\t/**\n\t * Converts to a two-complement value from a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n\t * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n\t */\n\tfunction fromVLQSigned(aValue) {\n\t var isNegative = (aValue & 1) === 1;\n\t var shifted = aValue >> 1;\n\t return isNegative\n\t ? -shifted\n\t : shifted;\n\t}\n\t\n\t/**\n\t * Returns the base 64 VLQ encoded value.\n\t */\n\texports.encode = function base64VLQ_encode(aValue) {\n\t var encoded = \"\";\n\t var digit;\n\t\n\t var vlq = toVLQSigned(aValue);\n\t\n\t do {\n\t digit = vlq & VLQ_BASE_MASK;\n\t vlq >>>= VLQ_BASE_SHIFT;\n\t if (vlq > 0) {\n\t // There are still more digits in this value, so we must make sure the\n\t // continuation bit is marked.\n\t digit |= VLQ_CONTINUATION_BIT;\n\t }\n\t encoded += base64.encode(digit);\n\t } while (vlq > 0);\n\t\n\t return encoded;\n\t};\n\t\n\t/**\n\t * Decodes the next base 64 VLQ value from the given string and returns the\n\t * value and the rest of the string via the out parameter.\n\t */\n\texports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n\t var strLen = aStr.length;\n\t var result = 0;\n\t var shift = 0;\n\t var continuation, digit;\n\t\n\t do {\n\t if (aIndex >= strLen) {\n\t throw new Error(\"Expected more digits in base 64 VLQ value.\");\n\t }\n\t\n\t digit = base64.decode(aStr.charCodeAt(aIndex++));\n\t if (digit === -1) {\n\t throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n\t }\n\t\n\t continuation = !!(digit & VLQ_CONTINUATION_BIT);\n\t digit &= VLQ_BASE_MASK;\n\t result = result + (digit << shift);\n\t shift += VLQ_BASE_SHIFT;\n\t } while (continuation);\n\t\n\t aOutParam.value = fromVLQSigned(result);\n\t aOutParam.rest = aIndex;\n\t};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\t\n\t/**\n\t * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n\t */\n\texports.encode = function (number) {\n\t if (0 <= number && number < intToCharMap.length) {\n\t return intToCharMap[number];\n\t }\n\t throw new TypeError(\"Must be between 0 and 63: \" + number);\n\t};\n\t\n\t/**\n\t * Decode a single base 64 character code digit to an integer. Returns -1 on\n\t * failure.\n\t */\n\texports.decode = function (charCode) {\n\t var bigA = 65; // 'A'\n\t var bigZ = 90; // 'Z'\n\t\n\t var littleA = 97; // 'a'\n\t var littleZ = 122; // 'z'\n\t\n\t var zero = 48; // '0'\n\t var nine = 57; // '9'\n\t\n\t var plus = 43; // '+'\n\t var slash = 47; // '/'\n\t\n\t var littleOffset = 26;\n\t var numberOffset = 52;\n\t\n\t // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n\t if (bigA <= charCode && charCode <= bigZ) {\n\t return (charCode - bigA);\n\t }\n\t\n\t // 26 - 51: abcdefghijklmnopqrstuvwxyz\n\t if (littleA <= charCode && charCode <= littleZ) {\n\t return (charCode - littleA + littleOffset);\n\t }\n\t\n\t // 52 - 61: 0123456789\n\t if (zero <= charCode && charCode <= nine) {\n\t return (charCode - zero + numberOffset);\n\t }\n\t\n\t // 62: +\n\t if (charCode == plus) {\n\t return 62;\n\t }\n\t\n\t // 63: /\n\t if (charCode == slash) {\n\t return 63;\n\t }\n\t\n\t // Invalid base64 digit.\n\t return -1;\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\t/**\n\t * This is a helper function for getting values from parameter/options\n\t * objects.\n\t *\n\t * @param args The object we are extracting values from\n\t * @param name The name of the property we are getting.\n\t * @param defaultValue An optional value to return if the property is missing\n\t * from the object. If this is not specified and the property is missing, an\n\t * error will be thrown.\n\t */\n\tfunction getArg(aArgs, aName, aDefaultValue) {\n\t if (aName in aArgs) {\n\t return aArgs[aName];\n\t } else if (arguments.length === 3) {\n\t return aDefaultValue;\n\t } else {\n\t throw new Error('\"' + aName + '\" is a required argument.');\n\t }\n\t}\n\texports.getArg = getArg;\n\t\n\tvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\n\tvar dataUrlRegexp = /^data:.+\\,.+$/;\n\t\n\tfunction urlParse(aUrl) {\n\t var match = aUrl.match(urlRegexp);\n\t if (!match) {\n\t return null;\n\t }\n\t return {\n\t scheme: match[1],\n\t auth: match[2],\n\t host: match[3],\n\t port: match[4],\n\t path: match[5]\n\t };\n\t}\n\texports.urlParse = urlParse;\n\t\n\tfunction urlGenerate(aParsedUrl) {\n\t var url = '';\n\t if (aParsedUrl.scheme) {\n\t url += aParsedUrl.scheme + ':';\n\t }\n\t url += '//';\n\t if (aParsedUrl.auth) {\n\t url += aParsedUrl.auth + '@';\n\t }\n\t if (aParsedUrl.host) {\n\t url += aParsedUrl.host;\n\t }\n\t if (aParsedUrl.port) {\n\t url += \":\" + aParsedUrl.port\n\t }\n\t if (aParsedUrl.path) {\n\t url += aParsedUrl.path;\n\t }\n\t return url;\n\t}\n\texports.urlGenerate = urlGenerate;\n\t\n\t/**\n\t * Normalizes a path, or the path portion of a URL:\n\t *\n\t * - Replaces consecutive slashes with one slash.\n\t * - Removes unnecessary '.' parts.\n\t * - Removes unnecessary '/..' parts.\n\t *\n\t * Based on code in the Node.js 'path' core module.\n\t *\n\t * @param aPath The path or url to normalize.\n\t */\n\tfunction normalize(aPath) {\n\t var path = aPath;\n\t var url = urlParse(aPath);\n\t if (url) {\n\t if (!url.path) {\n\t return aPath;\n\t }\n\t path = url.path;\n\t }\n\t var isAbsolute = exports.isAbsolute(path);\n\t\n\t var parts = path.split(/\\/+/);\n\t for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n\t part = parts[i];\n\t if (part === '.') {\n\t parts.splice(i, 1);\n\t } else if (part === '..') {\n\t up++;\n\t } else if (up > 0) {\n\t if (part === '') {\n\t // The first part is blank if the path is absolute. Trying to go\n\t // above the root is a no-op. Therefore we can remove all '..' parts\n\t // directly after the root.\n\t parts.splice(i + 1, up);\n\t up = 0;\n\t } else {\n\t parts.splice(i, 2);\n\t up--;\n\t }\n\t }\n\t }\n\t path = parts.join('/');\n\t\n\t if (path === '') {\n\t path = isAbsolute ? '/' : '.';\n\t }\n\t\n\t if (url) {\n\t url.path = path;\n\t return urlGenerate(url);\n\t }\n\t return path;\n\t}\n\texports.normalize = normalize;\n\t\n\t/**\n\t * Joins two paths/URLs.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be joined with the root.\n\t *\n\t * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n\t * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n\t * first.\n\t * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n\t * is updated with the result and aRoot is returned. Otherwise the result\n\t * is returned.\n\t * - If aPath is absolute, the result is aPath.\n\t * - Otherwise the two paths are joined with a slash.\n\t * - Joining for example 'http://' and 'www.example.com' is also supported.\n\t */\n\tfunction join(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t if (aPath === \"\") {\n\t aPath = \".\";\n\t }\n\t var aPathUrl = urlParse(aPath);\n\t var aRootUrl = urlParse(aRoot);\n\t if (aRootUrl) {\n\t aRoot = aRootUrl.path || '/';\n\t }\n\t\n\t // `join(foo, '//www.example.org')`\n\t if (aPathUrl && !aPathUrl.scheme) {\n\t if (aRootUrl) {\n\t aPathUrl.scheme = aRootUrl.scheme;\n\t }\n\t return urlGenerate(aPathUrl);\n\t }\n\t\n\t if (aPathUrl || aPath.match(dataUrlRegexp)) {\n\t return aPath;\n\t }\n\t\n\t // `join('http://', 'www.example.com')`\n\t if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n\t aRootUrl.host = aPath;\n\t return urlGenerate(aRootUrl);\n\t }\n\t\n\t var joined = aPath.charAt(0) === '/'\n\t ? aPath\n\t : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\t\n\t if (aRootUrl) {\n\t aRootUrl.path = joined;\n\t return urlGenerate(aRootUrl);\n\t }\n\t return joined;\n\t}\n\texports.join = join;\n\t\n\texports.isAbsolute = function (aPath) {\n\t return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n\t};\n\t\n\t/**\n\t * Make a path relative to a URL or another path.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be made relative to aRoot.\n\t */\n\tfunction relative(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t\n\t aRoot = aRoot.replace(/\\/$/, '');\n\t\n\t // It is possible for the path to be above the root. In this case, simply\n\t // checking whether the root is a prefix of the path won't work. Instead, we\n\t // need to remove components from the root one by one, until either we find\n\t // a prefix that fits, or we run out of components to remove.\n\t var level = 0;\n\t while (aPath.indexOf(aRoot + '/') !== 0) {\n\t var index = aRoot.lastIndexOf(\"/\");\n\t if (index < 0) {\n\t return aPath;\n\t }\n\t\n\t // If the only part of the root that is left is the scheme (i.e. http://,\n\t // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n\t // have exhausted all components, so the path is not relative to the root.\n\t aRoot = aRoot.slice(0, index);\n\t if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n\t return aPath;\n\t }\n\t\n\t ++level;\n\t }\n\t\n\t // Make sure we add a \"../\" for each component we removed from the root.\n\t return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n\t}\n\texports.relative = relative;\n\t\n\tvar supportsNullProto = (function () {\n\t var obj = Object.create(null);\n\t return !('__proto__' in obj);\n\t}());\n\t\n\tfunction identity (s) {\n\t return s;\n\t}\n\t\n\t/**\n\t * Because behavior goes wacky when you set `__proto__` on objects, we\n\t * have to prefix all the strings in our set with an arbitrary character.\n\t *\n\t * See https://github.com/mozilla/source-map/pull/31 and\n\t * https://github.com/mozilla/source-map/issues/30\n\t *\n\t * @param String aStr\n\t */\n\tfunction toSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return '$' + aStr;\n\t }\n\t\n\t return aStr;\n\t}\n\texports.toSetString = supportsNullProto ? identity : toSetString;\n\t\n\tfunction fromSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return aStr.slice(1);\n\t }\n\t\n\t return aStr;\n\t}\n\texports.fromSetString = supportsNullProto ? identity : fromSetString;\n\t\n\tfunction isProtoString(s) {\n\t if (!s) {\n\t return false;\n\t }\n\t\n\t var length = s.length;\n\t\n\t if (length < 9 /* \"__proto__\".length */) {\n\t return false;\n\t }\n\t\n\t if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n\t s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n\t s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n\t s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 9) !== 95 /* '_' */) {\n\t return false;\n\t }\n\t\n\t for (var i = length - 10; i >= 0; i--) {\n\t if (s.charCodeAt(i) !== 36 /* '$' */) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\t/**\n\t * Comparator between two mappings where the original positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same original source/line/column, but different generated\n\t * line and column the same. Useful when searching for a mapping with a\n\t * stubbed out mapping.\n\t */\n\tfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n\t var cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0 || onlyCompareOriginal) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByOriginalPositions = compareByOriginalPositions;\n\t\n\t/**\n\t * Comparator between two mappings with deflated source and name indices where\n\t * the generated positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same generated line and column, but different\n\t * source/name/original line and column the same. Useful when searching for a\n\t * mapping with a stubbed out mapping.\n\t */\n\tfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0 || onlyCompareGenerated) {\n\t return cmp;\n\t }\n\t\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\t\n\tfunction strcmp(aStr1, aStr2) {\n\t if (aStr1 === aStr2) {\n\t return 0;\n\t }\n\t\n\t if (aStr1 === null) {\n\t return 1; // aStr2 !== null\n\t }\n\t\n\t if (aStr2 === null) {\n\t return -1; // aStr1 !== null\n\t }\n\t\n\t if (aStr1 > aStr2) {\n\t return 1;\n\t }\n\t\n\t return -1;\n\t}\n\t\n\t/**\n\t * Comparator between two mappings with inflated source and name strings where\n\t * the generated positions are compared.\n\t */\n\tfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\t\n\t/**\n\t * Strip any JSON XSSI avoidance prefix from the string (as documented\n\t * in the source maps specification), and then parse the string as\n\t * JSON.\n\t */\n\tfunction parseSourceMapInput(str) {\n\t return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n\t}\n\texports.parseSourceMapInput = parseSourceMapInput;\n\t\n\t/**\n\t * Compute the URL of a source given the the source root, the source's\n\t * URL, and the source map's URL.\n\t */\n\tfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n\t sourceURL = sourceURL || '';\n\t\n\t if (sourceRoot) {\n\t // This follows what Chrome does.\n\t if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n\t sourceRoot += '/';\n\t }\n\t // The spec says:\n\t // Line 4: An optional source root, useful for relocating source\n\t // files on a server or removing repeated values in the\n\t // “sources” entry. This value is prepended to the individual\n\t // entries in the “source” field.\n\t sourceURL = sourceRoot + sourceURL;\n\t }\n\t\n\t // Historically, SourceMapConsumer did not take the sourceMapURL as\n\t // a parameter. This mode is still somewhat supported, which is why\n\t // this code block is conditional. However, it's preferable to pass\n\t // the source map URL to SourceMapConsumer, so that this function\n\t // can implement the source URL resolution algorithm as outlined in\n\t // the spec. This block is basically the equivalent of:\n\t // new URL(sourceURL, sourceMapURL).toString()\n\t // ... except it avoids using URL, which wasn't available in the\n\t // older releases of node still supported by this library.\n\t //\n\t // The spec says:\n\t // If the sources are not absolute URLs after prepending of the\n\t // “sourceRoot”, the sources are resolved relative to the\n\t // SourceMap (like resolving script src in a html document).\n\t if (sourceMapURL) {\n\t var parsed = urlParse(sourceMapURL);\n\t if (!parsed) {\n\t throw new Error(\"sourceMapURL could not be parsed\");\n\t }\n\t if (parsed.path) {\n\t // Strip the last path component, but keep the \"/\".\n\t var index = parsed.path.lastIndexOf('/');\n\t if (index >= 0) {\n\t parsed.path = parsed.path.substring(0, index + 1);\n\t }\n\t }\n\t sourceURL = join(urlGenerate(parsed), sourceURL);\n\t }\n\t\n\t return normalize(sourceURL);\n\t}\n\texports.computeSourceURL = computeSourceURL;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar hasNativeMap = typeof Map !== \"undefined\";\n\t\n\t/**\n\t * A data structure which is a combination of an array and a set. Adding a new\n\t * member is O(1), testing for membership is O(1), and finding the index of an\n\t * element is O(1). Removing elements from the set is not supported. Only\n\t * strings are supported for membership.\n\t */\n\tfunction ArraySet() {\n\t this._array = [];\n\t this._set = hasNativeMap ? new Map() : Object.create(null);\n\t}\n\t\n\t/**\n\t * Static method for creating ArraySet instances from an existing array.\n\t */\n\tArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n\t var set = new ArraySet();\n\t for (var i = 0, len = aArray.length; i < len; i++) {\n\t set.add(aArray[i], aAllowDuplicates);\n\t }\n\t return set;\n\t};\n\t\n\t/**\n\t * Return how many unique items are in this ArraySet. If duplicates have been\n\t * added, than those do not count towards the size.\n\t *\n\t * @returns Number\n\t */\n\tArraySet.prototype.size = function ArraySet_size() {\n\t return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n\t};\n\t\n\t/**\n\t * Add the given string to this set.\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n\t var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n\t var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n\t var idx = this._array.length;\n\t if (!isDuplicate || aAllowDuplicates) {\n\t this._array.push(aStr);\n\t }\n\t if (!isDuplicate) {\n\t if (hasNativeMap) {\n\t this._set.set(aStr, idx);\n\t } else {\n\t this._set[sStr] = idx;\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Is the given string a member of this set?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.has = function ArraySet_has(aStr) {\n\t if (hasNativeMap) {\n\t return this._set.has(aStr);\n\t } else {\n\t var sStr = util.toSetString(aStr);\n\t return has.call(this._set, sStr);\n\t }\n\t};\n\t\n\t/**\n\t * What is the index of the given string in the array?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n\t if (hasNativeMap) {\n\t var idx = this._set.get(aStr);\n\t if (idx >= 0) {\n\t return idx;\n\t }\n\t } else {\n\t var sStr = util.toSetString(aStr);\n\t if (has.call(this._set, sStr)) {\n\t return this._set[sStr];\n\t }\n\t }\n\t\n\t throw new Error('\"' + aStr + '\" is not in the set.');\n\t};\n\t\n\t/**\n\t * What is the element at the given index?\n\t *\n\t * @param Number aIdx\n\t */\n\tArraySet.prototype.at = function ArraySet_at(aIdx) {\n\t if (aIdx >= 0 && aIdx < this._array.length) {\n\t return this._array[aIdx];\n\t }\n\t throw new Error('No element indexed by ' + aIdx);\n\t};\n\t\n\t/**\n\t * Returns the array representation of this set (which has the proper indices\n\t * indicated by indexOf). Note that this is a copy of the internal array used\n\t * for storing the members so that no one can mess with internal state.\n\t */\n\tArraySet.prototype.toArray = function ArraySet_toArray() {\n\t return this._array.slice();\n\t};\n\t\n\texports.ArraySet = ArraySet;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2014 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\t\n\t/**\n\t * Determine whether mappingB is after mappingA with respect to generated\n\t * position.\n\t */\n\tfunction generatedPositionAfter(mappingA, mappingB) {\n\t // Optimized for most common case\n\t var lineA = mappingA.generatedLine;\n\t var lineB = mappingB.generatedLine;\n\t var columnA = mappingA.generatedColumn;\n\t var columnB = mappingB.generatedColumn;\n\t return lineB > lineA || lineB == lineA && columnB >= columnA ||\n\t util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n\t}\n\t\n\t/**\n\t * A data structure to provide a sorted view of accumulated mappings in a\n\t * performance conscious manner. It trades a neglibable overhead in general\n\t * case for a large speedup in case of mappings being added in order.\n\t */\n\tfunction MappingList() {\n\t this._array = [];\n\t this._sorted = true;\n\t // Serves as infimum\n\t this._last = {generatedLine: -1, generatedColumn: 0};\n\t}\n\t\n\t/**\n\t * Iterate through internal items. This method takes the same arguments that\n\t * `Array.prototype.forEach` takes.\n\t *\n\t * NOTE: The order of the mappings is NOT guaranteed.\n\t */\n\tMappingList.prototype.unsortedForEach =\n\t function MappingList_forEach(aCallback, aThisArg) {\n\t this._array.forEach(aCallback, aThisArg);\n\t };\n\t\n\t/**\n\t * Add the given source mapping.\n\t *\n\t * @param Object aMapping\n\t */\n\tMappingList.prototype.add = function MappingList_add(aMapping) {\n\t if (generatedPositionAfter(this._last, aMapping)) {\n\t this._last = aMapping;\n\t this._array.push(aMapping);\n\t } else {\n\t this._sorted = false;\n\t this._array.push(aMapping);\n\t }\n\t};\n\t\n\t/**\n\t * Returns the flat, sorted array of mappings. The mappings are sorted by\n\t * generated position.\n\t *\n\t * WARNING: This method returns internal data without copying, for\n\t * performance. The return value must NOT be mutated, and should be treated as\n\t * an immutable borrow. If you want to take ownership, you must make your own\n\t * copy.\n\t */\n\tMappingList.prototype.toArray = function MappingList_toArray() {\n\t if (!this._sorted) {\n\t this._array.sort(util.compareByGeneratedPositionsInflated);\n\t this._sorted = true;\n\t }\n\t return this._array;\n\t};\n\t\n\texports.MappingList = MappingList;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\tvar binarySearch = __webpack_require__(8);\n\tvar ArraySet = __webpack_require__(5).ArraySet;\n\tvar base64VLQ = __webpack_require__(2);\n\tvar quickSort = __webpack_require__(9).quickSort;\n\t\n\tfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t return sourceMap.sections != null\n\t ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n\t : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n\t}\n\t\n\tSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n\t return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n\t}\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tSourceMapConsumer.prototype._version = 3;\n\t\n\t// `__generatedMappings` and `__originalMappings` are arrays that hold the\n\t// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n\t// are lazily instantiated, accessed via the `_generatedMappings` and\n\t// `_originalMappings` getters respectively, and we only parse the mappings\n\t// and create these arrays once queried for a source location. We jump through\n\t// these hoops because there can be many thousands of mappings, and parsing\n\t// them is expensive, so we only want to do it if we must.\n\t//\n\t// Each object in the arrays is of the form:\n\t//\n\t// {\n\t// generatedLine: The line number in the generated code,\n\t// generatedColumn: The column number in the generated code,\n\t// source: The path to the original source file that generated this\n\t// chunk of code,\n\t// originalLine: The line number in the original source that\n\t// corresponds to this chunk of generated code,\n\t// originalColumn: The column number in the original source that\n\t// corresponds to this chunk of generated code,\n\t// name: The name of the original symbol which generated this chunk of\n\t// code.\n\t// }\n\t//\n\t// All properties except for `generatedLine` and `generatedColumn` can be\n\t// `null`.\n\t//\n\t// `_generatedMappings` is ordered by the generated positions.\n\t//\n\t// `_originalMappings` is ordered by the original positions.\n\t\n\tSourceMapConsumer.prototype.__generatedMappings = null;\n\tObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n\t configurable: true,\n\t enumerable: true,\n\t get: function () {\n\t if (!this.__generatedMappings) {\n\t this._parseMappings(this._mappings, this.sourceRoot);\n\t }\n\t\n\t return this.__generatedMappings;\n\t }\n\t});\n\t\n\tSourceMapConsumer.prototype.__originalMappings = null;\n\tObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n\t configurable: true,\n\t enumerable: true,\n\t get: function () {\n\t if (!this.__originalMappings) {\n\t this._parseMappings(this._mappings, this.sourceRoot);\n\t }\n\t\n\t return this.__originalMappings;\n\t }\n\t});\n\t\n\tSourceMapConsumer.prototype._charIsMappingSeparator =\n\t function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n\t var c = aStr.charAt(index);\n\t return c === \";\" || c === \",\";\n\t };\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t throw new Error(\"Subclasses must implement _parseMappings\");\n\t };\n\t\n\tSourceMapConsumer.GENERATED_ORDER = 1;\n\tSourceMapConsumer.ORIGINAL_ORDER = 2;\n\t\n\tSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\n\tSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\t\n\t/**\n\t * Iterate over each mapping between an original source/line/column and a\n\t * generated line/column in this source map.\n\t *\n\t * @param Function aCallback\n\t * The function that is called with each mapping.\n\t * @param Object aContext\n\t * Optional. If specified, this object will be the value of `this` every\n\t * time that `aCallback` is called.\n\t * @param aOrder\n\t * Either `SourceMapConsumer.GENERATED_ORDER` or\n\t * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n\t * iterate over the mappings sorted by the generated file's line/column\n\t * order or the original's source/line/column order, respectively. Defaults to\n\t * `SourceMapConsumer.GENERATED_ORDER`.\n\t */\n\tSourceMapConsumer.prototype.eachMapping =\n\t function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n\t var context = aContext || null;\n\t var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\t\n\t var mappings;\n\t switch (order) {\n\t case SourceMapConsumer.GENERATED_ORDER:\n\t mappings = this._generatedMappings;\n\t break;\n\t case SourceMapConsumer.ORIGINAL_ORDER:\n\t mappings = this._originalMappings;\n\t break;\n\t default:\n\t throw new Error(\"Unknown order of iteration.\");\n\t }\n\t\n\t var sourceRoot = this.sourceRoot;\n\t mappings.map(function (mapping) {\n\t var source = mapping.source === null ? null : this._sources.at(mapping.source);\n\t source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n\t return {\n\t source: source,\n\t generatedLine: mapping.generatedLine,\n\t generatedColumn: mapping.generatedColumn,\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: mapping.name === null ? null : this._names.at(mapping.name)\n\t };\n\t }, this).forEach(aCallback, context);\n\t };\n\t\n\t/**\n\t * Returns all generated line and column information for the original source,\n\t * line, and column provided. If no column is provided, returns all mappings\n\t * corresponding to a either the line we are searching for or the next\n\t * closest line that has any mappings. Otherwise, returns all mappings\n\t * corresponding to the given line and either the column we are searching for\n\t * or the next closest column that has any offsets.\n\t *\n\t * The only argument is an object with the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number is 1-based.\n\t * - column: Optional. the column number in the original source.\n\t * The column number is 0-based.\n\t *\n\t * and an array of objects is returned, each with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tSourceMapConsumer.prototype.allGeneratedPositionsFor =\n\t function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n\t var line = util.getArg(aArgs, 'line');\n\t\n\t // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n\t // returns the index of the closest mapping less than the needle. By\n\t // setting needle.originalColumn to 0, we thus find the last mapping for\n\t // the given line, provided such a mapping exists.\n\t var needle = {\n\t source: util.getArg(aArgs, 'source'),\n\t originalLine: line,\n\t originalColumn: util.getArg(aArgs, 'column', 0)\n\t };\n\t\n\t needle.source = this._findSourceIndex(needle.source);\n\t if (needle.source < 0) {\n\t return [];\n\t }\n\t\n\t var mappings = [];\n\t\n\t var index = this._findMapping(needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t binarySearch.LEAST_UPPER_BOUND);\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\t\n\t if (aArgs.column === undefined) {\n\t var originalLine = mapping.originalLine;\n\t\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we found. Since\n\t // mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we found.\n\t while (mapping && mapping.originalLine === originalLine) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\t\n\t mapping = this._originalMappings[++index];\n\t }\n\t } else {\n\t var originalColumn = mapping.originalColumn;\n\t\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we were searching for.\n\t // Since mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we are searching for.\n\t while (mapping &&\n\t mapping.originalLine === line &&\n\t mapping.originalColumn == originalColumn) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\t\n\t mapping = this._originalMappings[++index];\n\t }\n\t }\n\t }\n\t\n\t return mappings;\n\t };\n\t\n\texports.SourceMapConsumer = SourceMapConsumer;\n\t\n\t/**\n\t * A BasicSourceMapConsumer instance represents a parsed source map which we can\n\t * query for information about the original file positions by giving it a file\n\t * position in the generated source.\n\t *\n\t * The first parameter is the raw source map (either as a JSON string, or\n\t * already parsed to an object). According to the spec, source maps have the\n\t * following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - sources: An array of URLs to the original source files.\n\t * - names: An array of identifiers which can be referrenced by individual mappings.\n\t * - sourceRoot: Optional. The URL root from which all sources are relative.\n\t * - sourcesContent: Optional. An array of contents of the original source files.\n\t * - mappings: A string of base64 VLQs which contain the actual mappings.\n\t * - file: Optional. The generated file this source map is associated with.\n\t *\n\t * Here is an example source map, taken from the source map spec[0]:\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"out.js\",\n\t * sourceRoot : \"\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AA,AB;;ABCDE;\"\n\t * }\n\t *\n\t * The second parameter, if given, is a string whose value is the URL\n\t * at which the source map was found. This URL is used to compute the\n\t * sources array.\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n\t */\n\tfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t var version = util.getArg(sourceMap, 'version');\n\t var sources = util.getArg(sourceMap, 'sources');\n\t // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n\t // requires the array) to play nice here.\n\t var names = util.getArg(sourceMap, 'names', []);\n\t var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n\t var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n\t var mappings = util.getArg(sourceMap, 'mappings');\n\t var file = util.getArg(sourceMap, 'file', null);\n\t\n\t // Once again, Sass deviates from the spec and supplies the version as a\n\t // string rather than a number, so we use loose equality checking here.\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\t\n\t if (sourceRoot) {\n\t sourceRoot = util.normalize(sourceRoot);\n\t }\n\t\n\t sources = sources\n\t .map(String)\n\t // Some source maps produce relative source paths like \"./foo.js\" instead of\n\t // \"foo.js\". Normalize these first so that future comparisons will succeed.\n\t // See bugzil.la/1090768.\n\t .map(util.normalize)\n\t // Always ensure that absolute sources are internally stored relative to\n\t // the source root, if the source root is absolute. Not doing this would\n\t // be particularly problematic when the source root is a prefix of the\n\t // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n\t .map(function (source) {\n\t return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n\t ? util.relative(sourceRoot, source)\n\t : source;\n\t });\n\t\n\t // Pass `true` below to allow duplicate names and sources. While source maps\n\t // are intended to be compressed and deduplicated, the TypeScript compiler\n\t // sometimes generates source maps with duplicates in them. See Github issue\n\t // #72 and bugzil.la/889492.\n\t this._names = ArraySet.fromArray(names.map(String), true);\n\t this._sources = ArraySet.fromArray(sources, true);\n\t\n\t this._absoluteSources = this._sources.toArray().map(function (s) {\n\t return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n\t });\n\t\n\t this.sourceRoot = sourceRoot;\n\t this.sourcesContent = sourcesContent;\n\t this._mappings = mappings;\n\t this._sourceMapURL = aSourceMapURL;\n\t this.file = file;\n\t}\n\t\n\tBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\t\n\t/**\n\t * Utility function to find the index of a source. Returns -1 if not\n\t * found.\n\t */\n\tBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n\t var relativeSource = aSource;\n\t if (this.sourceRoot != null) {\n\t relativeSource = util.relative(this.sourceRoot, relativeSource);\n\t }\n\t\n\t if (this._sources.has(relativeSource)) {\n\t return this._sources.indexOf(relativeSource);\n\t }\n\t\n\t // Maybe aSource is an absolute URL as returned by |sources|. In\n\t // this case we can't simply undo the transform.\n\t var i;\n\t for (i = 0; i < this._absoluteSources.length; ++i) {\n\t if (this._absoluteSources[i] == aSource) {\n\t return i;\n\t }\n\t }\n\t\n\t return -1;\n\t};\n\t\n\t/**\n\t * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n\t *\n\t * @param SourceMapGenerator aSourceMap\n\t * The source map that will be consumed.\n\t * @param String aSourceMapURL\n\t * The URL at which the source map can be found (optional)\n\t * @returns BasicSourceMapConsumer\n\t */\n\tBasicSourceMapConsumer.fromSourceMap =\n\t function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n\t var smc = Object.create(BasicSourceMapConsumer.prototype);\n\t\n\t var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n\t var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n\t smc.sourceRoot = aSourceMap._sourceRoot;\n\t smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n\t smc.sourceRoot);\n\t smc.file = aSourceMap._file;\n\t smc._sourceMapURL = aSourceMapURL;\n\t smc._absoluteSources = smc._sources.toArray().map(function (s) {\n\t return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n\t });\n\t\n\t // Because we are modifying the entries (by converting string sources and\n\t // names to indices into the sources and names ArraySets), we have to make\n\t // a copy of the entry or else bad things happen. Shared mutable state\n\t // strikes again! See github issue #191.\n\t\n\t var generatedMappings = aSourceMap._mappings.toArray().slice();\n\t var destGeneratedMappings = smc.__generatedMappings = [];\n\t var destOriginalMappings = smc.__originalMappings = [];\n\t\n\t for (var i = 0, length = generatedMappings.length; i < length; i++) {\n\t var srcMapping = generatedMappings[i];\n\t var destMapping = new Mapping;\n\t destMapping.generatedLine = srcMapping.generatedLine;\n\t destMapping.generatedColumn = srcMapping.generatedColumn;\n\t\n\t if (srcMapping.source) {\n\t destMapping.source = sources.indexOf(srcMapping.source);\n\t destMapping.originalLine = srcMapping.originalLine;\n\t destMapping.originalColumn = srcMapping.originalColumn;\n\t\n\t if (srcMapping.name) {\n\t destMapping.name = names.indexOf(srcMapping.name);\n\t }\n\t\n\t destOriginalMappings.push(destMapping);\n\t }\n\t\n\t destGeneratedMappings.push(destMapping);\n\t }\n\t\n\t quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\t\n\t return smc;\n\t };\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tBasicSourceMapConsumer.prototype._version = 3;\n\t\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t return this._absoluteSources.slice();\n\t }\n\t});\n\t\n\t/**\n\t * Provide the JIT with a nice shape / hidden class.\n\t */\n\tfunction Mapping() {\n\t this.generatedLine = 0;\n\t this.generatedColumn = 0;\n\t this.source = null;\n\t this.originalLine = null;\n\t this.originalColumn = null;\n\t this.name = null;\n\t}\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tBasicSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t var generatedLine = 1;\n\t var previousGeneratedColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousOriginalColumn = 0;\n\t var previousSource = 0;\n\t var previousName = 0;\n\t var length = aStr.length;\n\t var index = 0;\n\t var cachedSegments = {};\n\t var temp = {};\n\t var originalMappings = [];\n\t var generatedMappings = [];\n\t var mapping, str, segment, end, value;\n\t\n\t while (index < length) {\n\t if (aStr.charAt(index) === ';') {\n\t generatedLine++;\n\t index++;\n\t previousGeneratedColumn = 0;\n\t }\n\t else if (aStr.charAt(index) === ',') {\n\t index++;\n\t }\n\t else {\n\t mapping = new Mapping();\n\t mapping.generatedLine = generatedLine;\n\t\n\t // Because each offset is encoded relative to the previous one,\n\t // many segments often have the same encoding. We can exploit this\n\t // fact by caching the parsed variable length fields of each segment,\n\t // allowing us to avoid a second parse if we encounter the same\n\t // segment again.\n\t for (end = index; end < length; end++) {\n\t if (this._charIsMappingSeparator(aStr, end)) {\n\t break;\n\t }\n\t }\n\t str = aStr.slice(index, end);\n\t\n\t segment = cachedSegments[str];\n\t if (segment) {\n\t index += str.length;\n\t } else {\n\t segment = [];\n\t while (index < end) {\n\t base64VLQ.decode(aStr, index, temp);\n\t value = temp.value;\n\t index = temp.rest;\n\t segment.push(value);\n\t }\n\t\n\t if (segment.length === 2) {\n\t throw new Error('Found a source, but no line and column');\n\t }\n\t\n\t if (segment.length === 3) {\n\t throw new Error('Found a source and line, but no column');\n\t }\n\t\n\t cachedSegments[str] = segment;\n\t }\n\t\n\t // Generated column.\n\t mapping.generatedColumn = previousGeneratedColumn + segment[0];\n\t previousGeneratedColumn = mapping.generatedColumn;\n\t\n\t if (segment.length > 1) {\n\t // Original source.\n\t mapping.source = previousSource + segment[1];\n\t previousSource += segment[1];\n\t\n\t // Original line.\n\t mapping.originalLine = previousOriginalLine + segment[2];\n\t previousOriginalLine = mapping.originalLine;\n\t // Lines are stored 0-based\n\t mapping.originalLine += 1;\n\t\n\t // Original column.\n\t mapping.originalColumn = previousOriginalColumn + segment[3];\n\t previousOriginalColumn = mapping.originalColumn;\n\t\n\t if (segment.length > 4) {\n\t // Original name.\n\t mapping.name = previousName + segment[4];\n\t previousName += segment[4];\n\t }\n\t }\n\t\n\t generatedMappings.push(mapping);\n\t if (typeof mapping.originalLine === 'number') {\n\t originalMappings.push(mapping);\n\t }\n\t }\n\t }\n\t\n\t quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t this.__generatedMappings = generatedMappings;\n\t\n\t quickSort(originalMappings, util.compareByOriginalPositions);\n\t this.__originalMappings = originalMappings;\n\t };\n\t\n\t/**\n\t * Find the mapping that best matches the hypothetical \"needle\" mapping that\n\t * we are searching for in the given \"haystack\" of mappings.\n\t */\n\tBasicSourceMapConsumer.prototype._findMapping =\n\t function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n\t aColumnName, aComparator, aBias) {\n\t // To return the position we are searching for, we must first find the\n\t // mapping for the given position and then return the opposite position it\n\t // points to. Because the mappings are sorted, we can use binary search to\n\t // find the best mapping.\n\t\n\t if (aNeedle[aLineName] <= 0) {\n\t throw new TypeError('Line must be greater than or equal to 1, got '\n\t + aNeedle[aLineName]);\n\t }\n\t if (aNeedle[aColumnName] < 0) {\n\t throw new TypeError('Column must be greater than or equal to 0, got '\n\t + aNeedle[aColumnName]);\n\t }\n\t\n\t return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n\t };\n\t\n\t/**\n\t * Compute the last column for each generated mapping. The last column is\n\t * inclusive.\n\t */\n\tBasicSourceMapConsumer.prototype.computeColumnSpans =\n\t function SourceMapConsumer_computeColumnSpans() {\n\t for (var index = 0; index < this._generatedMappings.length; ++index) {\n\t var mapping = this._generatedMappings[index];\n\t\n\t // Mappings do not contain a field for the last generated columnt. We\n\t // can come up with an optimistic estimate, however, by assuming that\n\t // mappings are contiguous (i.e. given two consecutive mappings, the\n\t // first mapping ends where the second one starts).\n\t if (index + 1 < this._generatedMappings.length) {\n\t var nextMapping = this._generatedMappings[index + 1];\n\t\n\t if (mapping.generatedLine === nextMapping.generatedLine) {\n\t mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n\t continue;\n\t }\n\t }\n\t\n\t // The last mapping for each line spans the entire line.\n\t mapping.lastGeneratedColumn = Infinity;\n\t }\n\t };\n\t\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source. The line number\n\t * is 1-based.\n\t * - column: The column number in the generated source. The column\n\t * number is 0-based.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the original source, or null. The\n\t * column number is 0-based.\n\t * - name: The original identifier, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.originalPositionFor =\n\t function SourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t var index = this._findMapping(\n\t needle,\n\t this._generatedMappings,\n\t \"generatedLine\",\n\t \"generatedColumn\",\n\t util.compareByGeneratedPositionsDeflated,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\t\n\t if (index >= 0) {\n\t var mapping = this._generatedMappings[index];\n\t\n\t if (mapping.generatedLine === needle.generatedLine) {\n\t var source = util.getArg(mapping, 'source', null);\n\t if (source !== null) {\n\t source = this._sources.at(source);\n\t source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n\t }\n\t var name = util.getArg(mapping, 'name', null);\n\t if (name !== null) {\n\t name = this._names.at(name);\n\t }\n\t return {\n\t source: source,\n\t line: util.getArg(mapping, 'originalLine', null),\n\t column: util.getArg(mapping, 'originalColumn', null),\n\t name: name\n\t };\n\t }\n\t }\n\t\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t };\n\t\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function BasicSourceMapConsumer_hasContentsOfAllSources() {\n\t if (!this.sourcesContent) {\n\t return false;\n\t }\n\t return this.sourcesContent.length >= this._sources.size() &&\n\t !this.sourcesContent.some(function (sc) { return sc == null; });\n\t };\n\t\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tBasicSourceMapConsumer.prototype.sourceContentFor =\n\t function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t if (!this.sourcesContent) {\n\t return null;\n\t }\n\t\n\t var index = this._findSourceIndex(aSource);\n\t if (index >= 0) {\n\t return this.sourcesContent[index];\n\t }\n\t\n\t var relativeSource = aSource;\n\t if (this.sourceRoot != null) {\n\t relativeSource = util.relative(this.sourceRoot, relativeSource);\n\t }\n\t\n\t var url;\n\t if (this.sourceRoot != null\n\t && (url = util.urlParse(this.sourceRoot))) {\n\t // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n\t // many users. We can help them out when they expect file:// URIs to\n\t // behave like it would if they were running a local HTTP server. See\n\t // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n\t var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n\t if (url.scheme == \"file\"\n\t && this._sources.has(fileUriAbsPath)) {\n\t return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n\t }\n\t\n\t if ((!url.path || url.path == \"/\")\n\t && this._sources.has(\"/\" + relativeSource)) {\n\t return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n\t }\n\t }\n\t\n\t // This function is used recursively from\n\t // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n\t // don't want to throw if we can't find the source - we just want to\n\t // return null, so we provide a flag to exit gracefully.\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\t\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number\n\t * is 1-based.\n\t * - column: The column number in the original source. The column\n\t * number is 0-based.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tBasicSourceMapConsumer.prototype.generatedPositionFor =\n\t function SourceMapConsumer_generatedPositionFor(aArgs) {\n\t var source = util.getArg(aArgs, 'source');\n\t source = this._findSourceIndex(source);\n\t if (source < 0) {\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t }\n\t\n\t var needle = {\n\t source: source,\n\t originalLine: util.getArg(aArgs, 'line'),\n\t originalColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t var index = this._findMapping(\n\t needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\t\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\t\n\t if (mapping.source === needle.source) {\n\t return {\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t };\n\t }\n\t }\n\t\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t };\n\t\n\texports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\t\n\t/**\n\t * An IndexedSourceMapConsumer instance represents a parsed source map which\n\t * we can query for information. It differs from BasicSourceMapConsumer in\n\t * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n\t * input.\n\t *\n\t * The first parameter is a raw source map (either as a JSON string, or already\n\t * parsed to an object). According to the spec for indexed source maps, they\n\t * have the following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - file: Optional. The generated file this source map is associated with.\n\t * - sections: A list of section definitions.\n\t *\n\t * Each value under the \"sections\" field has two fields:\n\t * - offset: The offset into the original specified at which this section\n\t * begins to apply, defined as an object with a \"line\" and \"column\"\n\t * field.\n\t * - map: A source map definition. This source map could also be indexed,\n\t * but doesn't have to be.\n\t *\n\t * Instead of the \"map\" field, it's also possible to have a \"url\" field\n\t * specifying a URL to retrieve a source map from, but that's currently\n\t * unsupported.\n\t *\n\t * Here's an example source map, taken from the source map spec[0], but\n\t * modified to omit a section which uses the \"url\" field.\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"app.js\",\n\t * sections: [{\n\t * offset: {line:100, column:10},\n\t * map: {\n\t * version : 3,\n\t * file: \"section.js\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AAAA,E;;ABCDE;\"\n\t * }\n\t * }],\n\t * }\n\t *\n\t * The second parameter, if given, is a string whose value is the URL\n\t * at which the source map was found. This URL is used to compute the\n\t * sources array.\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n\t */\n\tfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t var version = util.getArg(sourceMap, 'version');\n\t var sections = util.getArg(sourceMap, 'sections');\n\t\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\t\n\t this._sources = new ArraySet();\n\t this._names = new ArraySet();\n\t\n\t var lastOffset = {\n\t line: -1,\n\t column: 0\n\t };\n\t this._sections = sections.map(function (s) {\n\t if (s.url) {\n\t // The url field will require support for asynchronicity.\n\t // See https://github.com/mozilla/source-map/issues/16\n\t throw new Error('Support for url field in sections not implemented.');\n\t }\n\t var offset = util.getArg(s, 'offset');\n\t var offsetLine = util.getArg(offset, 'line');\n\t var offsetColumn = util.getArg(offset, 'column');\n\t\n\t if (offsetLine < lastOffset.line ||\n\t (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n\t throw new Error('Section offsets must be ordered and non-overlapping.');\n\t }\n\t lastOffset = offset;\n\t\n\t return {\n\t generatedOffset: {\n\t // The offset fields are 0-based, but we use 1-based indices when\n\t // encoding/decoding from VLQ.\n\t generatedLine: offsetLine + 1,\n\t generatedColumn: offsetColumn + 1\n\t },\n\t consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n\t }\n\t });\n\t}\n\t\n\tIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tIndexedSourceMapConsumer.prototype._version = 3;\n\t\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t var sources = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n\t sources.push(this._sections[i].consumer.sources[j]);\n\t }\n\t }\n\t return sources;\n\t }\n\t});\n\t\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source. The line number\n\t * is 1-based.\n\t * - column: The column number in the generated source. The column\n\t * number is 0-based.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the original source, or null. The\n\t * column number is 0-based.\n\t * - name: The original identifier, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.originalPositionFor =\n\t function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t // Find the section containing the generated position we're trying to map\n\t // to an original position.\n\t var sectionIndex = binarySearch.search(needle, this._sections,\n\t function(needle, section) {\n\t var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n\t if (cmp) {\n\t return cmp;\n\t }\n\t\n\t return (needle.generatedColumn -\n\t section.generatedOffset.generatedColumn);\n\t });\n\t var section = this._sections[sectionIndex];\n\t\n\t if (!section) {\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t }\n\t\n\t return section.consumer.originalPositionFor({\n\t line: needle.generatedLine -\n\t (section.generatedOffset.generatedLine - 1),\n\t column: needle.generatedColumn -\n\t (section.generatedOffset.generatedLine === needle.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t bias: aArgs.bias\n\t });\n\t };\n\t\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n\t return this._sections.every(function (s) {\n\t return s.consumer.hasContentsOfAllSources();\n\t });\n\t };\n\t\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tIndexedSourceMapConsumer.prototype.sourceContentFor =\n\t function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t\n\t var content = section.consumer.sourceContentFor(aSource, true);\n\t if (content) {\n\t return content;\n\t }\n\t }\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\t\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number\n\t * is 1-based.\n\t * - column: The column number in the original source. The column\n\t * number is 0-based.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based. \n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tIndexedSourceMapConsumer.prototype.generatedPositionFor =\n\t function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t\n\t // Only consider this section if the requested source is in the list of\n\t // sources of the consumer.\n\t if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n\t continue;\n\t }\n\t var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n\t if (generatedPosition) {\n\t var ret = {\n\t line: generatedPosition.line +\n\t (section.generatedOffset.generatedLine - 1),\n\t column: generatedPosition.column +\n\t (section.generatedOffset.generatedLine === generatedPosition.line\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0)\n\t };\n\t return ret;\n\t }\n\t }\n\t\n\t return {\n\t line: null,\n\t column: null\n\t };\n\t };\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tIndexedSourceMapConsumer.prototype._parseMappings =\n\t function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t this.__generatedMappings = [];\n\t this.__originalMappings = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t var sectionMappings = section.consumer._generatedMappings;\n\t for (var j = 0; j < sectionMappings.length; j++) {\n\t var mapping = sectionMappings[j];\n\t\n\t var source = section.consumer._sources.at(mapping.source);\n\t source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n\t this._sources.add(source);\n\t source = this._sources.indexOf(source);\n\t\n\t var name = null;\n\t if (mapping.name) {\n\t name = section.consumer._names.at(mapping.name);\n\t this._names.add(name);\n\t name = this._names.indexOf(name);\n\t }\n\t\n\t // The mappings coming from the consumer for the section have\n\t // generated positions relative to the start of the section, so we\n\t // need to offset them to be relative to the start of the concatenated\n\t // generated file.\n\t var adjustedMapping = {\n\t source: source,\n\t generatedLine: mapping.generatedLine +\n\t (section.generatedOffset.generatedLine - 1),\n\t generatedColumn: mapping.generatedColumn +\n\t (section.generatedOffset.generatedLine === mapping.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: name\n\t };\n\t\n\t this.__generatedMappings.push(adjustedMapping);\n\t if (typeof adjustedMapping.originalLine === 'number') {\n\t this.__originalMappings.push(adjustedMapping);\n\t }\n\t }\n\t }\n\t\n\t quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t quickSort(this.__originalMappings, util.compareByOriginalPositions);\n\t };\n\t\n\texports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\texports.GREATEST_LOWER_BOUND = 1;\n\texports.LEAST_UPPER_BOUND = 2;\n\t\n\t/**\n\t * Recursive implementation of binary search.\n\t *\n\t * @param aLow Indices here and lower do not contain the needle.\n\t * @param aHigh Indices here and higher do not contain the needle.\n\t * @param aNeedle The element being searched for.\n\t * @param aHaystack The non-empty array being searched.\n\t * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t */\n\tfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n\t // This function terminates when one of the following is true:\n\t //\n\t // 1. We find the exact element we are looking for.\n\t //\n\t // 2. We did not find the exact element, but we can return the index of\n\t // the next-closest element.\n\t //\n\t // 3. We did not find the exact element, and there is no next-closest\n\t // element than the one we are searching for, so we return -1.\n\t var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n\t var cmp = aCompare(aNeedle, aHaystack[mid], true);\n\t if (cmp === 0) {\n\t // Found the element we are looking for.\n\t return mid;\n\t }\n\t else if (cmp > 0) {\n\t // Our needle is greater than aHaystack[mid].\n\t if (aHigh - mid > 1) {\n\t // The element is in the upper half.\n\t return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\t\n\t // The exact needle element was not found in this haystack. Determine if\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return aHigh < aHaystack.length ? aHigh : -1;\n\t } else {\n\t return mid;\n\t }\n\t }\n\t else {\n\t // Our needle is less than aHaystack[mid].\n\t if (mid - aLow > 1) {\n\t // The element is in the lower half.\n\t return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\t\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return mid;\n\t } else {\n\t return aLow < 0 ? -1 : aLow;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * This is an implementation of binary search which will always try and return\n\t * the index of the closest element if there is no exact hit. This is because\n\t * mappings between original and generated line/col pairs are single points,\n\t * and there is an implicit region between each of them, so a miss just means\n\t * that you aren't on the very start of a region.\n\t *\n\t * @param aNeedle The element you are looking for.\n\t * @param aHaystack The array that is being searched.\n\t * @param aCompare A function which takes the needle and an element in the\n\t * array and returns -1, 0, or 1 depending on whether the needle is less\n\t * than, equal to, or greater than the element, respectively.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n\t */\n\texports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n\t if (aHaystack.length === 0) {\n\t return -1;\n\t }\n\t\n\t var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n\t aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n\t if (index < 0) {\n\t return -1;\n\t }\n\t\n\t // We have found either the exact element, or the next-closest element than\n\t // the one we are searching for. However, there may be more than one such\n\t // element. Make sure we always return the smallest of these.\n\t while (index - 1 >= 0) {\n\t if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n\t break;\n\t }\n\t --index;\n\t }\n\t\n\t return index;\n\t};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\t// It turns out that some (most?) JavaScript engines don't self-host\n\t// `Array.prototype.sort`. This makes sense because C++ will likely remain\n\t// faster than JS when doing raw CPU-intensive sorting. However, when using a\n\t// custom comparator function, calling back and forth between the VM's C++ and\n\t// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n\t// worse generated code for the comparator function than would be optimal. In\n\t// fact, when sorting with a comparator, these costs outweigh the benefits of\n\t// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n\t// a ~3500ms mean speed-up in `bench/bench.html`.\n\t\n\t/**\n\t * Swap the elements indexed by `x` and `y` in the array `ary`.\n\t *\n\t * @param {Array} ary\n\t * The array.\n\t * @param {Number} x\n\t * The index of the first item.\n\t * @param {Number} y\n\t * The index of the second item.\n\t */\n\tfunction swap(ary, x, y) {\n\t var temp = ary[x];\n\t ary[x] = ary[y];\n\t ary[y] = temp;\n\t}\n\t\n\t/**\n\t * Returns a random integer within the range `low .. high` inclusive.\n\t *\n\t * @param {Number} low\n\t * The lower bound on the range.\n\t * @param {Number} high\n\t * The upper bound on the range.\n\t */\n\tfunction randomIntInRange(low, high) {\n\t return Math.round(low + (Math.random() * (high - low)));\n\t}\n\t\n\t/**\n\t * The Quick Sort algorithm.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t * @param {Number} p\n\t * Start index of the array\n\t * @param {Number} r\n\t * End index of the array\n\t */\n\tfunction doQuickSort(ary, comparator, p, r) {\n\t // If our lower bound is less than our upper bound, we (1) partition the\n\t // array into two pieces and (2) recurse on each half. If it is not, this is\n\t // the empty array and our base case.\n\t\n\t if (p < r) {\n\t // (1) Partitioning.\n\t //\n\t // The partitioning chooses a pivot between `p` and `r` and moves all\n\t // elements that are less than or equal to the pivot to the before it, and\n\t // all the elements that are greater than it after it. The effect is that\n\t // once partition is done, the pivot is in the exact place it will be when\n\t // the array is put in sorted order, and it will not need to be moved\n\t // again. This runs in O(n) time.\n\t\n\t // Always choose a random pivot so that an input array which is reverse\n\t // sorted does not cause O(n^2) running time.\n\t var pivotIndex = randomIntInRange(p, r);\n\t var i = p - 1;\n\t\n\t swap(ary, pivotIndex, r);\n\t var pivot = ary[r];\n\t\n\t // Immediately after `j` is incremented in this loop, the following hold\n\t // true:\n\t //\n\t // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n\t //\n\t // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n\t for (var j = p; j < r; j++) {\n\t if (comparator(ary[j], pivot) <= 0) {\n\t i += 1;\n\t swap(ary, i, j);\n\t }\n\t }\n\t\n\t swap(ary, i + 1, j);\n\t var q = i + 1;\n\t\n\t // (2) Recurse on each half.\n\t\n\t doQuickSort(ary, comparator, p, q - 1);\n\t doQuickSort(ary, comparator, q + 1, r);\n\t }\n\t}\n\t\n\t/**\n\t * Sort the given array in-place with the given comparator function.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t */\n\texports.quickSort = function (ary, comparator) {\n\t doQuickSort(ary, comparator, 0, ary.length - 1);\n\t};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar SourceMapGenerator = __webpack_require__(1).SourceMapGenerator;\n\tvar util = __webpack_require__(4);\n\t\n\t// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n\t// operating systems these days (capturing the result).\n\tvar REGEX_NEWLINE = /(\\r?\\n)/;\n\t\n\t// Newline character code for charCodeAt() comparisons\n\tvar NEWLINE_CODE = 10;\n\t\n\t// Private symbol for identifying `SourceNode`s when multiple versions of\n\t// the source-map library are loaded. This MUST NOT CHANGE across\n\t// versions!\n\tvar isSourceNode = \"$$$isSourceNode$$$\";\n\t\n\t/**\n\t * SourceNodes provide a way to abstract over interpolating/concatenating\n\t * snippets of generated JavaScript source code while maintaining the line and\n\t * column information associated with the original source code.\n\t *\n\t * @param aLine The original line number.\n\t * @param aColumn The original column number.\n\t * @param aSource The original source's filename.\n\t * @param aChunks Optional. An array of strings which are snippets of\n\t * generated JS, or other SourceNodes.\n\t * @param aName The original identifier.\n\t */\n\tfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n\t this.children = [];\n\t this.sourceContents = {};\n\t this.line = aLine == null ? null : aLine;\n\t this.column = aColumn == null ? null : aColumn;\n\t this.source = aSource == null ? null : aSource;\n\t this.name = aName == null ? null : aName;\n\t this[isSourceNode] = true;\n\t if (aChunks != null) this.add(aChunks);\n\t}\n\t\n\t/**\n\t * Creates a SourceNode from generated code and a SourceMapConsumer.\n\t *\n\t * @param aGeneratedCode The generated code\n\t * @param aSourceMapConsumer The SourceMap for the generated code\n\t * @param aRelativePath Optional. The path that relative sources in the\n\t * SourceMapConsumer should be relative to.\n\t */\n\tSourceNode.fromStringWithSourceMap =\n\t function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n\t // The SourceNode we want to fill with the generated code\n\t // and the SourceMap\n\t var node = new SourceNode();\n\t\n\t // All even indices of this array are one line of the generated code,\n\t // while all odd indices are the newlines between two adjacent lines\n\t // (since `REGEX_NEWLINE` captures its match).\n\t // Processed fragments are accessed by calling `shiftNextLine`.\n\t var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n\t var remainingLinesIndex = 0;\n\t var shiftNextLine = function() {\n\t var lineContents = getNextLine();\n\t // The last line of a file might not have a newline.\n\t var newLine = getNextLine() || \"\";\n\t return lineContents + newLine;\n\t\n\t function getNextLine() {\n\t return remainingLinesIndex < remainingLines.length ?\n\t remainingLines[remainingLinesIndex++] : undefined;\n\t }\n\t };\n\t\n\t // We need to remember the position of \"remainingLines\"\n\t var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\t\n\t // The generate SourceNodes we need a code range.\n\t // To extract it current and last mapping is used.\n\t // Here we store the last mapping.\n\t var lastMapping = null;\n\t\n\t aSourceMapConsumer.eachMapping(function (mapping) {\n\t if (lastMapping !== null) {\n\t // We add the code from \"lastMapping\" to \"mapping\":\n\t // First check if there is a new line in between.\n\t if (lastGeneratedLine < mapping.generatedLine) {\n\t // Associate first line with \"lastMapping\"\n\t addMappingWithCode(lastMapping, shiftNextLine());\n\t lastGeneratedLine++;\n\t lastGeneratedColumn = 0;\n\t // The remaining code is added without mapping\n\t } else {\n\t // There is no new line in between.\n\t // Associate the code between \"lastGeneratedColumn\" and\n\t // \"mapping.generatedColumn\" with \"lastMapping\"\n\t var nextLine = remainingLines[remainingLinesIndex] || '';\n\t var code = nextLine.substr(0, mapping.generatedColumn -\n\t lastGeneratedColumn);\n\t remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n\t lastGeneratedColumn);\n\t lastGeneratedColumn = mapping.generatedColumn;\n\t addMappingWithCode(lastMapping, code);\n\t // No more remaining code, continue\n\t lastMapping = mapping;\n\t return;\n\t }\n\t }\n\t // We add the generated code until the first mapping\n\t // to the SourceNode without any mapping.\n\t // Each line is added as separate string.\n\t while (lastGeneratedLine < mapping.generatedLine) {\n\t node.add(shiftNextLine());\n\t lastGeneratedLine++;\n\t }\n\t if (lastGeneratedColumn < mapping.generatedColumn) {\n\t var nextLine = remainingLines[remainingLinesIndex] || '';\n\t node.add(nextLine.substr(0, mapping.generatedColumn));\n\t remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n\t lastGeneratedColumn = mapping.generatedColumn;\n\t }\n\t lastMapping = mapping;\n\t }, this);\n\t // We have processed all mappings.\n\t if (remainingLinesIndex < remainingLines.length) {\n\t if (lastMapping) {\n\t // Associate the remaining code in the current line with \"lastMapping\"\n\t addMappingWithCode(lastMapping, shiftNextLine());\n\t }\n\t // and add the remaining lines without any mapping\n\t node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n\t }\n\t\n\t // Copy sourcesContent into SourceNode\n\t aSourceMapConsumer.sources.forEach(function (sourceFile) {\n\t var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n\t if (content != null) {\n\t if (aRelativePath != null) {\n\t sourceFile = util.join(aRelativePath, sourceFile);\n\t }\n\t node.setSourceContent(sourceFile, content);\n\t }\n\t });\n\t\n\t return node;\n\t\n\t function addMappingWithCode(mapping, code) {\n\t if (mapping === null || mapping.source === undefined) {\n\t node.add(code);\n\t } else {\n\t var source = aRelativePath\n\t ? util.join(aRelativePath, mapping.source)\n\t : mapping.source;\n\t node.add(new SourceNode(mapping.originalLine,\n\t mapping.originalColumn,\n\t source,\n\t code,\n\t mapping.name));\n\t }\n\t }\n\t };\n\t\n\t/**\n\t * Add a chunk of generated JS to this source node.\n\t *\n\t * @param aChunk A string snippet of generated JS code, another instance of\n\t * SourceNode, or an array where each member is one of those things.\n\t */\n\tSourceNode.prototype.add = function SourceNode_add(aChunk) {\n\t if (Array.isArray(aChunk)) {\n\t aChunk.forEach(function (chunk) {\n\t this.add(chunk);\n\t }, this);\n\t }\n\t else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n\t if (aChunk) {\n\t this.children.push(aChunk);\n\t }\n\t }\n\t else {\n\t throw new TypeError(\n\t \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n\t );\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Add a chunk of generated JS to the beginning of this source node.\n\t *\n\t * @param aChunk A string snippet of generated JS code, another instance of\n\t * SourceNode, or an array where each member is one of those things.\n\t */\n\tSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n\t if (Array.isArray(aChunk)) {\n\t for (var i = aChunk.length-1; i >= 0; i--) {\n\t this.prepend(aChunk[i]);\n\t }\n\t }\n\t else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n\t this.children.unshift(aChunk);\n\t }\n\t else {\n\t throw new TypeError(\n\t \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n\t );\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Walk over the tree of JS snippets in this node and its children. The\n\t * walking function is called once for each snippet of JS and is passed that\n\t * snippet and the its original associated source's line/column location.\n\t *\n\t * @param aFn The traversal function.\n\t */\n\tSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n\t var chunk;\n\t for (var i = 0, len = this.children.length; i < len; i++) {\n\t chunk = this.children[i];\n\t if (chunk[isSourceNode]) {\n\t chunk.walk(aFn);\n\t }\n\t else {\n\t if (chunk !== '') {\n\t aFn(chunk, { source: this.source,\n\t line: this.line,\n\t column: this.column,\n\t name: this.name });\n\t }\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n\t * each of `this.children`.\n\t *\n\t * @param aSep The separator.\n\t */\n\tSourceNode.prototype.join = function SourceNode_join(aSep) {\n\t var newChildren;\n\t var i;\n\t var len = this.children.length;\n\t if (len > 0) {\n\t newChildren = [];\n\t for (i = 0; i < len-1; i++) {\n\t newChildren.push(this.children[i]);\n\t newChildren.push(aSep);\n\t }\n\t newChildren.push(this.children[i]);\n\t this.children = newChildren;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Call String.prototype.replace on the very right-most source snippet. Useful\n\t * for trimming whitespace from the end of a source node, etc.\n\t *\n\t * @param aPattern The pattern to replace.\n\t * @param aReplacement The thing to replace the pattern with.\n\t */\n\tSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n\t var lastChild = this.children[this.children.length - 1];\n\t if (lastChild[isSourceNode]) {\n\t lastChild.replaceRight(aPattern, aReplacement);\n\t }\n\t else if (typeof lastChild === 'string') {\n\t this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n\t }\n\t else {\n\t this.children.push(''.replace(aPattern, aReplacement));\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Set the source content for a source file. This will be added to the SourceMapGenerator\n\t * in the sourcesContent field.\n\t *\n\t * @param aSourceFile The filename of the source file\n\t * @param aSourceContent The content of the source file\n\t */\n\tSourceNode.prototype.setSourceContent =\n\t function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n\t this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n\t };\n\t\n\t/**\n\t * Walk over the tree of SourceNodes. The walking function is called for each\n\t * source file content and is passed the filename and source content.\n\t *\n\t * @param aFn The traversal function.\n\t */\n\tSourceNode.prototype.walkSourceContents =\n\t function SourceNode_walkSourceContents(aFn) {\n\t for (var i = 0, len = this.children.length; i < len; i++) {\n\t if (this.children[i][isSourceNode]) {\n\t this.children[i].walkSourceContents(aFn);\n\t }\n\t }\n\t\n\t var sources = Object.keys(this.sourceContents);\n\t for (var i = 0, len = sources.length; i < len; i++) {\n\t aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n\t }\n\t };\n\t\n\t/**\n\t * Return the string representation of this source node. Walks over the tree\n\t * and concatenates all the various snippets together to one string.\n\t */\n\tSourceNode.prototype.toString = function SourceNode_toString() {\n\t var str = \"\";\n\t this.walk(function (chunk) {\n\t str += chunk;\n\t });\n\t return str;\n\t};\n\t\n\t/**\n\t * Returns the string representation of this source node along with a source\n\t * map.\n\t */\n\tSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n\t var generated = {\n\t code: \"\",\n\t line: 1,\n\t column: 0\n\t };\n\t var map = new SourceMapGenerator(aArgs);\n\t var sourceMappingActive = false;\n\t var lastOriginalSource = null;\n\t var lastOriginalLine = null;\n\t var lastOriginalColumn = null;\n\t var lastOriginalName = null;\n\t this.walk(function (chunk, original) {\n\t generated.code += chunk;\n\t if (original.source !== null\n\t && original.line !== null\n\t && original.column !== null) {\n\t if(lastOriginalSource !== original.source\n\t || lastOriginalLine !== original.line\n\t || lastOriginalColumn !== original.column\n\t || lastOriginalName !== original.name) {\n\t map.addMapping({\n\t source: original.source,\n\t original: {\n\t line: original.line,\n\t column: original.column\n\t },\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t },\n\t name: original.name\n\t });\n\t }\n\t lastOriginalSource = original.source;\n\t lastOriginalLine = original.line;\n\t lastOriginalColumn = original.column;\n\t lastOriginalName = original.name;\n\t sourceMappingActive = true;\n\t } else if (sourceMappingActive) {\n\t map.addMapping({\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t }\n\t });\n\t lastOriginalSource = null;\n\t sourceMappingActive = false;\n\t }\n\t for (var idx = 0, length = chunk.length; idx < length; idx++) {\n\t if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n\t generated.line++;\n\t generated.column = 0;\n\t // Mappings end at eol\n\t if (idx + 1 === length) {\n\t lastOriginalSource = null;\n\t sourceMappingActive = false;\n\t } else if (sourceMappingActive) {\n\t map.addMapping({\n\t source: original.source,\n\t original: {\n\t line: original.line,\n\t column: original.column\n\t },\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t },\n\t name: original.name\n\t });\n\t }\n\t } else {\n\t generated.column++;\n\t }\n\t }\n\t });\n\t this.walkSourceContents(function (sourceFile, sourceContent) {\n\t map.setSourceContent(sourceFile, sourceContent);\n\t });\n\t\n\t return { code: generated.code, map: map };\n\t};\n\t\n\texports.SourceNode = SourceNode;\n\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// source-map.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0fd5815da764db5fb9fe","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./source-map.js\n// module id = 0\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-map-generator.js\n// module id = 1\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/base64-vlq.js\n// module id = 2\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/base64.js\n// module id = 3\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/util.js\n// module id = 4\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/array-set.js\n// module id = 5\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/mapping-list.js\n// module id = 6\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-map-consumer.js\n// module id = 7\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/binary-search.js\n// module id = 8\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/quick-sort.js\n// module id = 9\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-node.js\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/array-set.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/array-set.js new file mode 100644 index 00000000..fbd5c81c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/array-set.js @@ -0,0 +1,121 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64-vlq.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64-vlq.js new file mode 100644 index 00000000..612b4040 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64-vlq.js @@ -0,0 +1,140 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = require('./base64'); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64.js new file mode 100644 index 00000000..8aa86b30 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/base64.js @@ -0,0 +1,67 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/binary-search.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/binary-search.js new file mode 100644 index 00000000..010ac941 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/binary-search.js @@ -0,0 +1,111 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/mapping-list.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/mapping-list.js new file mode 100644 index 00000000..06d1274a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/mapping-list.js @@ -0,0 +1,79 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.MappingList = MappingList; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/quick-sort.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/quick-sort.js new file mode 100644 index 00000000..6a7caadb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/quick-sort.js @@ -0,0 +1,114 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-consumer.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-consumer.js new file mode 100644 index 00000000..7b99d1da --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-consumer.js @@ -0,0 +1,1145 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var binarySearch = require('./binary-search'); +var ArraySet = require('./array-set').ArraySet; +var base64VLQ = require('./base64-vlq'); +var quickSort = require('./quick-sort').quickSort; + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-generator.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-generator.js new file mode 100644 index 00000000..508bcfbb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-map-generator.js @@ -0,0 +1,425 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = require('./base64-vlq'); +var util = require('./util'); +var ArraySet = require('./array-set').ArraySet; +var MappingList = require('./mapping-list').MappingList; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-node.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-node.js new file mode 100644 index 00000000..8bcdbe38 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/source-node.js @@ -0,0 +1,413 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; +var util = require('./util'); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/util.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/util.js new file mode 100644 index 00000000..3ca92e56 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/lib/util.js @@ -0,0 +1,488 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/package.json new file mode 100644 index 00000000..24663417 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/package.json @@ -0,0 +1,73 @@ +{ + "name": "source-map", + "description": "Generates and consumes source maps", + "version": "0.6.1", + "homepage": "https://github.com/mozilla/source-map", + "author": "Nick Fitzgerald ", + "contributors": [ + "Tobias Koppers ", + "Duncan Beevers ", + "Stephen Crane ", + "Ryan Seddon ", + "Miles Elam ", + "Mihai Bazon ", + "Michael Ficarra ", + "Todd Wolfson ", + "Alexander Solovyov ", + "Felix Gnass ", + "Conrad Irwin ", + "usrbincc ", + "David Glasser ", + "Chase Douglas ", + "Evan Wallace ", + "Heather Arthur ", + "Hugh Kennedy ", + "David Glasser ", + "Simon Lydell ", + "Jmeas Smith ", + "Michael Z Goddard ", + "azu ", + "John Gozde ", + "Adam Kirkton ", + "Chris Montgomery ", + "J. Ryan Stinnett ", + "Jack Herrington ", + "Chris Truter ", + "Daniel Espeset ", + "Jamie Wong ", + "Eddy Bruël ", + "Hawken Rives ", + "Gilad Peleg ", + "djchie ", + "Gary Ye ", + "Nicolas Lalevée " + ], + "repository": { + "type": "git", + "url": "http://github.com/mozilla/source-map.git" + }, + "main": "./source-map.js", + "files": [ + "source-map.js", + "source-map.d.ts", + "lib/", + "dist/source-map.debug.js", + "dist/source-map.js", + "dist/source-map.min.js", + "dist/source-map.min.js.map" + ], + "engines": { + "node": ">=0.10.0" + }, + "license": "BSD-3-Clause", + "scripts": { + "test": "npm run build && node test/run-tests.js", + "build": "webpack --color", + "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md" + }, + "devDependencies": { + "doctoc": "^0.15.0", + "webpack": "^1.12.0" + }, + "typings": "source-map" +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.d.ts new file mode 100644 index 00000000..8f972b0c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.d.ts @@ -0,0 +1,98 @@ +export interface StartOfSourceMap { + file?: string; + sourceRoot?: string; +} + +export interface RawSourceMap extends StartOfSourceMap { + version: string; + sources: string[]; + names: string[]; + sourcesContent?: string[]; + mappings: string; +} + +export interface Position { + line: number; + column: number; +} + +export interface LineRange extends Position { + lastColumn: number; +} + +export interface FindPosition extends Position { + // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND + bias?: number; +} + +export interface SourceFindPosition extends FindPosition { + source: string; +} + +export interface MappedPosition extends Position { + source: string; + name?: string; +} + +export interface MappingItem { + source: string; + generatedLine: number; + generatedColumn: number; + originalLine: number; + originalColumn: number; + name: string; +} + +export class SourceMapConsumer { + static GENERATED_ORDER: number; + static ORIGINAL_ORDER: number; + + static GREATEST_LOWER_BOUND: number; + static LEAST_UPPER_BOUND: number; + + constructor(rawSourceMap: RawSourceMap); + computeColumnSpans(): void; + originalPositionFor(generatedPosition: FindPosition): MappedPosition; + generatedPositionFor(originalPosition: SourceFindPosition): LineRange; + allGeneratedPositionsFor(originalPosition: MappedPosition): Position[]; + hasContentsOfAllSources(): boolean; + sourceContentFor(source: string, returnNullOnMissing?: boolean): string; + eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void; +} + +export interface Mapping { + generated: Position; + original: Position; + source: string; + name?: string; +} + +export class SourceMapGenerator { + constructor(startOfSourceMap?: StartOfSourceMap); + static fromSourceMap(sourceMapConsumer: SourceMapConsumer): SourceMapGenerator; + addMapping(mapping: Mapping): void; + setSourceContent(sourceFile: string, sourceContent: string): void; + applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void; + toString(): string; +} + +export interface CodeWithSourceMap { + code: string; + map: SourceMapGenerator; +} + +export class SourceNode { + constructor(); + constructor(line: number, column: number, source: string); + constructor(line: number, column: number, source: string, chunk?: string, name?: string); + static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode; + add(chunk: string): void; + prepend(chunk: string): void; + setSourceContent(sourceFile: string, sourceContent: string): void; + walk(fn: (chunk: string, mapping: MappedPosition) => void): void; + walkSourceContents(fn: (file: string, content: string) => void): void; + join(sep: string): SourceNode; + replaceRight(pattern: string, replacement: string): SourceNode; + toString(): string; + toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.js b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.js new file mode 100644 index 00000000..bc88fe82 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/source-map/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.d.ts new file mode 100644 index 00000000..28ba3c8a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.d.ts @@ -0,0 +1,36 @@ +declare namespace stripJsonComments { + interface Options { + /** + Replace comments with whitespace instead of stripping them entirely. + + @default true + */ + readonly whitespace?: boolean; + } +} + +/** +Strip comments from JSON. Lets you use comments in your JSON files! + +It will replace single-line comments `//` and multi-line comments `/**\/` with whitespace. This allows JSON error positions to remain as close as possible to the original source. + +@param jsonString - Accepts a string with JSON. +@returns A JSON string without comments. + +@example +``` +const json = `{ + // Rainbows + "unicorn": "cake" +}`; + +JSON.parse(stripJsonComments(json)); +//=> {unicorn: 'cake'} +``` +*/ +declare function stripJsonComments( + jsonString: string, + options?: stripJsonComments.Options +): string; + +export = stripJsonComments; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.js new file mode 100644 index 00000000..bb00b38b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/index.js @@ -0,0 +1,77 @@ +'use strict'; +const singleComment = Symbol('singleComment'); +const multiComment = Symbol('multiComment'); +const stripWithoutWhitespace = () => ''; +const stripWithWhitespace = (string, start, end) => string.slice(start, end).replace(/\S/g, ' '); + +const isEscaped = (jsonString, quotePosition) => { + let index = quotePosition - 1; + let backslashCount = 0; + + while (jsonString[index] === '\\') { + index -= 1; + backslashCount += 1; + } + + return Boolean(backslashCount % 2); +}; + +module.exports = (jsonString, options = {}) => { + if (typeof jsonString !== 'string') { + throw new TypeError(`Expected argument \`jsonString\` to be a \`string\`, got \`${typeof jsonString}\``); + } + + const strip = options.whitespace === false ? stripWithoutWhitespace : stripWithWhitespace; + + let insideString = false; + let insideComment = false; + let offset = 0; + let result = ''; + + for (let i = 0; i < jsonString.length; i++) { + const currentCharacter = jsonString[i]; + const nextCharacter = jsonString[i + 1]; + + if (!insideComment && currentCharacter === '"') { + const escaped = isEscaped(jsonString, i); + if (!escaped) { + insideString = !insideString; + } + } + + if (insideString) { + continue; + } + + if (!insideComment && currentCharacter + nextCharacter === '//') { + result += jsonString.slice(offset, i); + offset = i; + insideComment = singleComment; + i++; + } else if (insideComment === singleComment && currentCharacter + nextCharacter === '\r\n') { + i++; + insideComment = false; + result += strip(jsonString, offset, i); + offset = i; + continue; + } else if (insideComment === singleComment && currentCharacter === '\n') { + insideComment = false; + result += strip(jsonString, offset, i); + offset = i; + } else if (!insideComment && currentCharacter + nextCharacter === '/*') { + result += jsonString.slice(offset, i); + offset = i; + insideComment = multiComment; + i++; + continue; + } else if (insideComment === multiComment && currentCharacter + nextCharacter === '*/') { + i++; + insideComment = false; + result += strip(jsonString, offset, i + 1); + offset = i + 1; + continue; + } + } + + return result + (insideComment ? strip(jsonString.slice(offset)) : jsonString.slice(offset)); +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/license b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/license new file mode 100644 index 00000000..fa7ceba3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/package.json new file mode 100644 index 00000000..ce7875aa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/package.json @@ -0,0 +1,47 @@ +{ + "name": "strip-json-comments", + "version": "3.1.1", + "description": "Strip comments from JSON. Lets you use comments in your JSON files!", + "license": "MIT", + "repository": "sindresorhus/strip-json-comments", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "bench": "matcha benchmark.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "json", + "strip", + "comments", + "remove", + "delete", + "trim", + "multiline", + "parse", + "config", + "configuration", + "settings", + "util", + "env", + "environment", + "jsonc" + ], + "devDependencies": { + "ava": "^1.4.1", + "matcha": "^0.7.0", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/readme.md b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/readme.md new file mode 100644 index 00000000..cc542e50 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/strip-json-comments/readme.md @@ -0,0 +1,78 @@ +# strip-json-comments [![Build Status](https://travis-ci.com/sindresorhus/strip-json-comments.svg?branch=master)](https://travis-ci.com/github/sindresorhus/strip-json-comments) + +> Strip comments from JSON. Lets you use comments in your JSON files! + +This is now possible: + +```js +{ + // Rainbows + "unicorn": /* ❤ */ "cake" +} +``` + +It will replace single-line comments `//` and multi-line comments `/**/` with whitespace. This allows JSON error positions to remain as close as possible to the original source. + +Also available as a [Gulp](https://github.com/sindresorhus/gulp-strip-json-comments)/[Grunt](https://github.com/sindresorhus/grunt-strip-json-comments)/[Broccoli](https://github.com/sindresorhus/broccoli-strip-json-comments) plugin. + +## Install + +``` +$ npm install strip-json-comments +``` + +## Usage + +```js +const json = `{ + // Rainbows + "unicorn": /* ❤ */ "cake" +}`; + +JSON.parse(stripJsonComments(json)); +//=> {unicorn: 'cake'} +``` + +## API + +### stripJsonComments(jsonString, options?) + +#### jsonString + +Type: `string` + +Accepts a string with JSON and returns a string without comments. + +#### options + +Type: `object` + +##### whitespace + +Type: `boolean`\ +Default: `true` + +Replace comments with whitespace instead of stripping them entirely. + +## Benchmark + +``` +$ npm run bench +``` + +## Related + +- [strip-json-comments-cli](https://github.com/sindresorhus/strip-json-comments-cli) - CLI for this module +- [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS + +--- + +
    + + Get professional support for this package with a Tidelift subscription + +
    + + Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies. +
    +
    diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/package.json new file mode 100644 index 00000000..29e0b9c5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/package.json @@ -0,0 +1,47 @@ +{ + "author": { + "name": "Ian Smith" + }, + "contributors": [ + { + "name": "Ian Smith" + }, + { + "name": "Todd Chambery", + "email": "todd.chambery@gmail.com" + }, + { + "name": "Daniel Ruf", + "email": "kontakt@daniel-ruf.de" + }, + { + "name": "Michael Mikowski", + "email": "mmikowski@snaplogic.com" + }, + { + "name": "Matthew Chase Whittemore", + "email": "mcwhittemore@gmail.com" + } + ], + "name": "taffydb", + "main": "./taffy", + "description": "TaffyDB is an opensouce library that brings database features into your JavaScript applications.", + "version": "2.6.2", + "homepage": "http://taffydb.com/", + "repository": { + "type": "git", + "url": "git://github.com/typicaljoe/taffydb.git" + }, + "dependencies": {}, + "devDependencies": {}, + "maintainers": [ + { + "name": "chambery", + "email": "todd.chambery@gmail.com" + }, + { + "name": "mcwhittemore", + "email": "mcwhittemore@gmail.com" + } + ] +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy-test.html b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy-test.html new file mode 100644 index 00000000..c4df78b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy-test.html @@ -0,0 +1,84 @@ + + + + + taffy test + + + + + + +
    +Please open your javascript console to see test results +
    + + + + diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy.js b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy.js new file mode 100644 index 00000000..b7ad88cd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/taffydb/taffy.js @@ -0,0 +1,1973 @@ +/* + + Software License Agreement (BSD License) + http://taffydb.com + Copyright (c) + All rights reserved. + + + Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following condition is met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + */ + +/*jslint browser : true, continue : true, + devel : true, indent : 2, maxerr : 500, + newcap : true, nomen : true, plusplus : true, + regexp : true, sloppy : true, vars : false, + white : true +*/ + +// BUILD 193d48d, modified by mmikowski to pass jslint + +// Setup TAFFY name space to return an object with methods +var TAFFY, exports, T; +(function () { + 'use strict'; + var + typeList, makeTest, idx, typeKey, + version, TC, idpad, cmax, + API, protectJSON, each, eachin, + isIndexable, returnFilter, runFilters, + numcharsplit, orderByCol, run + ; + + + if ( ! TAFFY ){ + // TC = Counter for Taffy DBs on page, used for unique IDs + // cmax = size of charnumarray conversion cache + // idpad = zeros to pad record IDs with + version = '2.6.2'; // proposed mmikowski 2012-08-06 + TC = 1; + idpad = '000000'; + cmax = 1000; + API = {}; + + protectJSON = function ( t ) { + // **************************************** + // * + // * Takes: a variable + // * Returns: the variable if object/array or the parsed variable if JSON + // * + // **************************************** + if ( TAFFY.isArray( t ) || TAFFY.isObject( t ) ){ + return t; + } + else { + return JSON.parse( t ); + } + }; + + each = function ( a, fun, u ) { + var r, i, x, y; + // **************************************** + // * + // * Takes: + // * a = an object/value or an array of objects/values + // * f = a function + // * u = optional flag to describe how to handle undefined values + // in array of values. True: pass them to the functions, + // False: skip. Default False; + // * Purpose: Used to loop over arrays + // * + // **************************************** + if ( a && ((T.isArray( a ) && a.length === 1) || (!T.isArray( a ))) ){ + fun( (T.isArray( a )) ? a[0] : a, 0 ); + } + else { + for ( r, i, x = 0, a = (T.isArray( a )) ? a : [a], y = a.length; + x < y; x++ ) + { + i = a[x]; + if ( !T.isUndefined( i ) || (u || false) ){ + r = fun( i, x ); + if ( r === T.EXIT ){ + break; + } + + } + } + } + }; + + eachin = function ( o, fun ) { + // **************************************** + // * + // * Takes: + // * o = an object + // * f = a function + // * Purpose: Used to loop over objects + // * + // **************************************** + var x = 0, r, i; + + for ( i in o ){ + if ( o.hasOwnProperty( i ) ){ + r = fun( o[i], i, x++ ); + if ( r === T.EXIT ){ + break; + } + } + } + + }; + + API.extend = function ( m, f ) { + // **************************************** + // * + // * Takes: method name, function + // * Purpose: Add a custom method to the API + // * + // **************************************** + API[m] = function () { + return f.apply( this, arguments ); + }; + }; + + isIndexable = function ( f ) { + var i; + // Check to see if record ID + if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) ){ + return true; + } + // Check to see if record + if ( T.isObject( f ) && f.___id && f.___s ){ + return true; + } + + // Check to see if array of indexes + if ( T.isArray( f ) ){ + i = true; + each( f, function ( r ) { + if ( !isIndexable( r ) ){ + i = false; + + return TAFFY.EXIT; + } + }); + return i; + } + + return false; + }; + + runFilters = function ( r, filter ) { + // **************************************** + // * + // * Takes: takes a record and a collection of filters + // * Returns: true if the record matches, false otherwise + // **************************************** + var match = true; + + + each( filter, function ( mf ) { + switch ( T.typeOf( mf ) ){ + case 'function': + // run function + if ( !mf.apply( r ) ){ + match = false; + return TAFFY.EXIT; + } + break; + case 'array': + // loop array and treat like a SQL or + match = (mf.length === 1) ? (runFilters( r, mf[0] )) : + (mf.length === 2) ? (runFilters( r, mf[0] ) || + runFilters( r, mf[1] )) : + (mf.length === 3) ? (runFilters( r, mf[0] ) || + runFilters( r, mf[1] ) || runFilters( r, mf[2] )) : + (mf.length === 4) ? (runFilters( r, mf[0] ) || + runFilters( r, mf[1] ) || runFilters( r, mf[2] ) || + runFilters( r, mf[3] )) : false; + if ( mf.length > 4 ){ + each( mf, function ( f ) { + if ( runFilters( r, f ) ){ + match = true; + } + }); + } + break; + } + }); + + return match; + }; + + returnFilter = function ( f ) { + // **************************************** + // * + // * Takes: filter object + // * Returns: a filter function + // * Purpose: Take a filter object and return a function that can be used to compare + // * a TaffyDB record to see if the record matches a query + // **************************************** + var nf = []; + if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) ){ + f = { ___id : f }; + } + if ( T.isArray( f ) ){ + // if we are working with an array + + each( f, function ( r ) { + // loop the array and return a filter func for each value + nf.push( returnFilter( r ) ); + }); + // now build a func to loop over the filters and return true if ANY of the filters match + // This handles logical OR expressions + f = function () { + var that = this, match = false; + each( nf, function ( f ) { + if ( runFilters( that, f ) ){ + match = true; + } + }); + return match; + }; + return f; + + } + // if we are dealing with an Object + if ( T.isObject( f ) ){ + if ( T.isObject( f ) && f.___id && f.___s ){ + f = { ___id : f.___id }; + } + + // Loop over each value on the object to prep match type and match value + eachin( f, function ( v, i ) { + + // default match type to IS/Equals + if ( !T.isObject( v ) ){ + v = { + 'is' : v + }; + } + // loop over each value on the value object - if any + eachin( v, function ( mtest, s ) { + // s = match type, e.g. is, hasAll, like, etc + var c = [], looper; + + // function to loop and apply filter + looper = (s === 'hasAll') ? + function ( mtest, func ) { + func( mtest ); + } : each; + + // loop over each test + looper( mtest, function ( mtest ) { + + // su = match success + // f = match false + var su = true, f = false, matchFunc; + + + // push a function onto the filter collection to do the matching + matchFunc = function () { + + // get the value from the record + var + mvalue = this[i], + eqeq = '==', + bangeq = '!=', + eqeqeq = '===', + lt = '<', + gt = '>', + lteq = '<=', + gteq = '>=', + bangeqeq = '!==', + r + ; + + + if ( (s.indexOf( '!' ) === 0) && s !== bangeq && + s !== bangeqeq ) + { + // if the filter name starts with ! as in '!is' then reverse the match logic and remove the ! + su = false; + s = s.substring( 1, s.length ); + } + // get the match results based on the s/match type + /*jslint eqeq : true */ + r = ( + (s === 'regex') ? (mtest.test( mvalue )) : (s === 'lt' || s === lt) + ? (mvalue < mtest) : (s === 'gt' || s === gt) + ? (mvalue > mtest) : (s === 'lte' || s === lteq) + ? (mvalue <= mtest) : (s === 'gte' || s === gteq) + ? (mvalue >= mtest) : (s === 'left') + ? (mvalue.indexOf( mtest ) === 0) : (s === 'leftnocase') + ? (mvalue.toLowerCase().indexOf( mtest.toLowerCase() ) + === 0) : (s === 'right') + ? (mvalue.substring( (mvalue.length - mtest.length) ) + === mtest) : (s === 'rightnocase') + ? (mvalue.toLowerCase().substring( + (mvalue.length - mtest.length) ) === mtest.toLowerCase()) + : (s === 'like') + ? (mvalue.indexOf( mtest ) >= 0) : (s === 'likenocase') + ? (mvalue.toLowerCase().indexOf(mtest.toLowerCase()) >= 0) + : (s === eqeqeq || s === 'is') + ? (mvalue === mtest) : (s === eqeq) + ? (mvalue == mtest) : (s === bangeqeq) + ? (mvalue !== mtest) : (s === bangeq) + ? (mvalue != mtest) : (s === 'isnocase') + ? (mvalue.toLowerCase + ? mvalue.toLowerCase() === mtest.toLowerCase() + : mvalue === mtest) : (s === 'has') + ? (T.has( mvalue, mtest )) : (s === 'hasall') + ? (T.hasAll( mvalue, mtest )) : ( + s.indexOf( 'is' ) === -1 + && !TAFFY.isNull( mvalue ) + && !TAFFY.isUndefined( mvalue ) + && !TAFFY.isObject( mtest ) + && !TAFFY.isArray( mtest ) + ) + ? (mtest === mvalue[s]) + : (T[s] && T.isFunction( T[s] ) + && s.indexOf( 'is' ) === 0) + ? T[s]( mvalue ) === mtest + : (T[s] && T.isFunction( T[s] )) + ? T[s]( mvalue, mtest ) : (false) + ); + /*jslint eqeq : false */ + r = (r && !su) ? false : (!r && !su) ? true : r; + + return r; + }; + c.push( matchFunc ); + + }); + // if only one filter in the collection push it onto the filter list without the array + if ( c.length === 1 ){ + + nf.push( c[0] ); + } + else { + // else build a function to loop over all the filters and return true only if ALL match + // this is a logical AND + nf.push( function () { + var that = this, match = false; + each( c, function ( f ) { + if ( f.apply( that ) ){ + match = true; + } + }); + return match; + }); + } + }); + }); + // finally return a single function that wraps all the other functions and will run a query + // where all functions have to return true for a record to appear in a query result + f = function () { + var that = this, match = true; + // faster if less than 4 functions + match = (nf.length === 1 && !nf[0].apply( that )) ? false : + (nf.length === 2 && + (!nf[0].apply( that ) || !nf[1].apply( that ))) ? false : + (nf.length === 3 && + (!nf[0].apply( that ) || !nf[1].apply( that ) || + !nf[2].apply( that ))) ? false : + (nf.length === 4 && + (!nf[0].apply( that ) || !nf[1].apply( that ) || + !nf[2].apply( that ) || !nf[3].apply( that ))) ? false + : true; + if ( nf.length > 4 ){ + each( nf, function ( f ) { + if ( !runFilters( that, f ) ){ + match = false; + } + }); + } + return match; + }; + return f; + } + + // if function + if ( T.isFunction( f ) ){ + return f; + } + }; + + orderByCol = function ( ar, o ) { + // **************************************** + // * + // * Takes: takes an array and a sort object + // * Returns: the array sorted + // * Purpose: Accept filters such as "[col], [col2]" or "[col] desc" and sort on those columns + // * + // **************************************** + + var sortFunc = function ( a, b ) { + // function to pass to the native array.sort to sort an array + var r = 0; + + T.each( o, function ( sd ) { + // loop over the sort instructions + // get the column name + var o, col, dir, c, d; + o = sd.split( ' ' ); + col = o[0]; + + // get the direction + dir = (o.length === 1) ? "logical" : o[1]; + + + if ( dir === 'logical' ){ + // if dir is logical than grab the charnum arrays for the two values we are looking at + c = numcharsplit( a[col] ); + d = numcharsplit( b[col] ); + // loop over the charnumarrays until one value is higher than the other + T.each( (c.length <= d.length) ? c : d, function ( x, i ) { + if ( c[i] < d[i] ){ + r = -1; + return TAFFY.EXIT; + } + else if ( c[i] > d[i] ){ + r = 1; + return TAFFY.EXIT; + } + } ); + } + else if ( dir === 'logicaldesc' ){ + // if logicaldesc than grab the charnum arrays for the two values we are looking at + c = numcharsplit( a[col] ); + d = numcharsplit( b[col] ); + // loop over the charnumarrays until one value is lower than the other + T.each( (c.length <= d.length) ? c : d, function ( x, i ) { + if ( c[i] > d[i] ){ + r = -1; + return TAFFY.EXIT; + } + else if ( c[i] < d[i] ){ + r = 1; + return TAFFY.EXIT; + } + } ); + } + else if ( dir === 'asec' && a[col] < b[col] ){ + // if asec - default - check to see which is higher + r = -1; + return T.EXIT; + } + else if ( dir === 'asec' && a[col] > b[col] ){ + // if asec - default - check to see which is higher + r = 1; + return T.EXIT; + } + else if ( dir === 'desc' && a[col] > b[col] ){ + // if desc check to see which is lower + r = -1; + return T.EXIT; + + } + else if ( dir === 'desc' && a[col] < b[col] ){ + // if desc check to see which is lower + r = 1; + return T.EXIT; + + } + // if r is still 0 and we are doing a logical sort than look to see if one array is longer than the other + if ( r === 0 && dir === 'logical' && c.length < d.length ){ + r = -1; + } + else if ( r === 0 && dir === 'logical' && c.length > d.length ){ + r = 1; + } + else if ( r === 0 && dir === 'logicaldesc' && c.length > d.length ){ + r = -1; + } + else if ( r === 0 && dir === 'logicaldesc' && c.length < d.length ){ + r = 1; + } + + if ( r !== 0 ){ + return T.EXIT; + } + + + } ); + return r; + }; + // call the sort function and return the newly sorted array + return (ar && ar.push) ? ar.sort( sortFunc ) : ar; + + + }; + + // **************************************** + // * + // * Takes: a string containing numbers and letters and turn it into an array + // * Returns: return an array of numbers and letters + // * Purpose: Used for logical sorting. String Example: 12ABC results: [12,'ABC'] + // **************************************** + (function () { + // creates a cache for numchar conversions + var cache = {}, cachcounter = 0; + // creates the numcharsplit function + numcharsplit = function ( thing ) { + // if over 1000 items exist in the cache, clear it and start over + if ( cachcounter > cmax ){ + cache = {}; + cachcounter = 0; + } + + // if a cache can be found for a numchar then return its array value + return cache['_' + thing] || (function () { + // otherwise do the conversion + // make sure it is a string and setup so other variables + var nthing = String( thing ), + na = [], + rv = '_', + rt = '', + x, xx, c; + + // loop over the string char by char + for ( x = 0, xx = nthing.length; x < xx; x++ ){ + // take the char at each location + c = nthing.charCodeAt( x ); + // check to see if it is a valid number char and append it to the array. + // if last char was a string push the string to the charnum array + if ( ( c >= 48 && c <= 57 ) || c === 46 ){ + if ( rt !== 'n' ){ + rt = 'n'; + na.push( rv.toLowerCase() ); + rv = ''; + } + rv = rv + nthing.charAt( x ); + } + else { + // check to see if it is a valid string char and append to string + // if last char was a number push the whole number to the charnum array + if ( rt !== 's' ){ + rt = 's'; + na.push( parseFloat( rv ) ); + rv = ''; + } + rv = rv + nthing.charAt( x ); + } + } + // once done, push the last value to the charnum array and remove the first uneeded item + na.push( (rt === 'n') ? parseFloat( rv ) : rv.toLowerCase() ); + na.shift(); + // add to cache + cache['_' + thing] = na; + cachcounter++; + // return charnum array + return na; + }()); + }; + }()); + + // **************************************** + // * + // * Runs a query + // **************************************** + + + run = function () { + this.context( { + results : this.getDBI().query( this.context() ) + }); + + }; + + API.extend( 'filter', function () { + // **************************************** + // * + // * Takes: takes unlimited filter objects as arguments + // * Returns: method collection + // * Purpose: Take filters as objects and cache functions for later lookup when a query is run + // **************************************** + var + nc = TAFFY.mergeObj( this.context(), { run : null } ), + nq = [] + ; + each( nc.q, function ( v ) { + nq.push( v ); + }); + nc.q = nq; + // Hadnle passing of ___ID or a record on lookup. + each( arguments, function ( f ) { + nc.q.push( returnFilter( f ) ); + nc.filterRaw.push( f ); + }); + + return this.getroot( nc ); + }); + + API.extend( 'order', function ( o ) { + // **************************************** + // * + // * Purpose: takes a string and creates an array of order instructions to be used with a query + // **************************************** + + o = o.split( ',' ); + var x = [], nc; + + each( o, function ( r ) { + x.push( r.replace( /^\s*/, '' ).replace( /\s*$/, '' ) ); + }); + + nc = TAFFY.mergeObj( this.context(), {sort : null} ); + nc.order = x; + + return this.getroot( nc ); + }); + + API.extend( 'limit', function ( n ) { + // **************************************** + // * + // * Purpose: takes a limit number to limit the number of rows returned by a query. Will update the results + // * of a query + // **************************************** + var nc = TAFFY.mergeObj( this.context(), {}), + limitedresults + ; + + nc.limit = n; + + if ( nc.run && nc.sort ){ + limitedresults = []; + each( nc.results, function ( i, x ) { + if ( (x + 1) > n ){ + return TAFFY.EXIT; + } + limitedresults.push( i ); + }); + nc.results = limitedresults; + } + + return this.getroot( nc ); + }); + + API.extend( 'start', function ( n ) { + // **************************************** + // * + // * Purpose: takes a limit number to limit the number of rows returned by a query. Will update the results + // * of a query + // **************************************** + var nc = TAFFY.mergeObj( this.context(), {} ), + limitedresults + ; + + nc.start = n; + + if ( nc.run && nc.sort && !nc.limit ){ + limitedresults = []; + each( nc.results, function ( i, x ) { + if ( (x + 1) > n ){ + limitedresults.push( i ); + } + }); + nc.results = limitedresults; + } + else { + nc = TAFFY.mergeObj( this.context(), {run : null, start : n} ); + } + + return this.getroot( nc ); + }); + + API.extend( 'update', function ( arg0, arg1, arg2 ) { + // **************************************** + // * + // * Takes: a object and passes it off DBI update method for all matched records + // **************************************** + var runEvent = true, o = {}, args = arguments, that; + if ( TAFFY.isString( arg0 ) && + (arguments.length === 2 || arguments.length === 3) ) + { + o[arg0] = arg1; + if ( arguments.length === 3 ){ + runEvent = arg2; + } + } + else { + o = arg0; + if ( args.length === 2 ){ + runEvent = arg1; + } + } + + that = this; + run.call( this ); + each( this.context().results, function ( r ) { + var c = o; + if ( TAFFY.isFunction( c ) ){ + c = c.apply( TAFFY.mergeObj( r, {} ) ); + } + else { + if ( T.isFunction( c ) ){ + c = c( TAFFY.mergeObj( r, {} ) ); + } + } + if ( TAFFY.isObject( c ) ){ + that.getDBI().update( r.___id, c, runEvent ); + } + }); + if ( this.context().results.length ){ + this.context( { run : null }); + } + return this; + }); + API.extend( 'remove', function ( runEvent ) { + // **************************************** + // * + // * Purpose: removes records from the DB via the remove and removeCommit DBI methods + // **************************************** + var that = this, c = 0; + run.call( this ); + each( this.context().results, function ( r ) { + that.getDBI().remove( r.___id ); + c++; + }); + if ( this.context().results.length ){ + this.context( { + run : null + }); + that.getDBI().removeCommit( runEvent ); + } + + return c; + }); + + + API.extend( 'count', function () { + // **************************************** + // * + // * Returns: The length of a query result + // **************************************** + run.call( this ); + return this.context().results.length; + }); + + API.extend( 'callback', function ( f, delay ) { + // **************************************** + // * + // * Returns null; + // * Runs a function on return of run.call + // **************************************** + if ( f ){ + var that = this; + setTimeout( function () { + run.call( that ); + f.call( that.getroot( that.context() ) ); + }, delay || 0 ); + } + + + return null; + }); + + API.extend( 'get', function () { + // **************************************** + // * + // * Returns: An array of all matching records + // **************************************** + run.call( this ); + return this.context().results; + }); + + API.extend( 'stringify', function () { + // **************************************** + // * + // * Returns: An JSON string of all matching records + // **************************************** + return JSON.stringify( this.get() ); + }); + API.extend( 'first', function () { + // **************************************** + // * + // * Returns: The first matching record + // **************************************** + run.call( this ); + return this.context().results[0] || false; + }); + API.extend( 'last', function () { + // **************************************** + // * + // * Returns: The last matching record + // **************************************** + run.call( this ); + return this.context().results[this.context().results.length - 1] || + false; + }); + + + API.extend( 'sum', function () { + // **************************************** + // * + // * Takes: column to sum up + // * Returns: Sums the values of a column + // **************************************** + var total = 0, that = this; + run.call( that ); + each( arguments, function ( c ) { + each( that.context().results, function ( r ) { + total = total + r[c]; + }); + }); + return total; + }); + + API.extend( 'min', function ( c ) { + // **************************************** + // * + // * Takes: column to find min + // * Returns: the lowest value + // **************************************** + var lowest = null; + run.call( this ); + each( this.context().results, function ( r ) { + if ( lowest === null || r[c] < lowest ){ + lowest = r[c]; + } + }); + return lowest; + }); + + // Taffy innerJoin Extension (OCD edition) + // ======================================= + // + // How to Use + // ********** + // + // left_table.innerJoin( right_table, condition1 <,... conditionN> ) + // + // A condition can take one of 2 forms: + // + // 1. An ARRAY with 2 or 3 values: + // A column name from the left table, an optional comparison string, + // and column name from the right table. The condition passes if the test + // indicated is true. If the condition string is omitted, '===' is assumed. + // EXAMPLES: [ 'last_used_time', '>=', 'current_use_time' ], [ 'user_id','id' ] + // + // 2. A FUNCTION: + // The function receives a left table row and right table row during the + // cartesian join. If the function returns true for the rows considered, + // the merged row is included in the result set. + // EXAMPLE: function (l,r){ return l.name === r.label; } + // + // Conditions are considered in the order they are presented. Therefore the best + // performance is realized when the least expensive and highest prune-rate + // conditions are placed first, since if they return false Taffy skips any + // further condition tests. + // + // Other notes + // *********** + // + // This code passes jslint with the exception of 2 warnings about + // the '==' and '!=' lines. We can't do anything about that short of + // deleting the lines. + // + // Credits + // ******* + // + // Heavily based upon the work of Ian Toltz. + // Revisions to API by Michael Mikowski. + // Code convention per standards in http://manning.com/mikowski + (function () { + var innerJoinFunction = (function () { + var fnCompareList, fnCombineRow, fnMain; + + fnCompareList = function ( left_row, right_row, arg_list ) { + var data_lt, data_rt, op_code, error; + + if ( arg_list.length === 2 ){ + data_lt = left_row[arg_list[0]]; + op_code = '==='; + data_rt = right_row[arg_list[1]]; + } + else { + data_lt = left_row[arg_list[0]]; + op_code = arg_list[1]; + data_rt = right_row[arg_list[2]]; + } + + /*jslint eqeq : true */ + switch ( op_code ){ + case '===' : + return data_lt === data_rt; + case '!==' : + return data_lt !== data_rt; + case '<' : + return data_lt < data_rt; + case '>' : + return data_lt > data_rt; + case '<=' : + return data_lt <= data_rt; + case '>=' : + return data_lt >= data_rt; + case '==' : + return data_lt == data_rt; + case '!=' : + return data_lt != data_rt; + default : + throw String( op_code ) + ' is not supported'; + } + // 'jslint eqeq : false' here results in + // "Unreachable '/*jslint' after 'return'". + // We don't need it though, as the rule exception + // is discarded at the end of this functional scope + }; + + fnCombineRow = function ( left_row, right_row ) { + var out_map = {}, i, prefix; + + for ( i in left_row ){ + if ( left_row.hasOwnProperty( i ) ){ + out_map[i] = left_row[i]; + } + } + for ( i in right_row ){ + if ( right_row.hasOwnProperty( i ) && i !== '___id' && + i !== '___s' ) + { + prefix = !TAFFY.isUndefined( out_map[i] ) ? 'right_' : ''; + out_map[prefix + String( i ) ] = right_row[i]; + } + } + return out_map; + }; + + fnMain = function ( table ) { + var + right_table, i, + arg_list = arguments, + arg_length = arg_list.length, + result_list = [] + ; + + if ( typeof table.filter !== 'function' ){ + if ( table.TAFFY ){ right_table = table(); } + else { + throw 'TAFFY DB or result not supplied'; + } + } + else { right_table = table; } + + this.context( { + results : this.getDBI().query( this.context() ) + } ); + + TAFFY.each( this.context().results, function ( left_row ) { + right_table.each( function ( right_row ) { + var arg_data, is_ok = true; + CONDITION: + for ( i = 1; i < arg_length; i++ ){ + arg_data = arg_list[i]; + if ( typeof arg_data === 'function' ){ + is_ok = arg_data( left_row, right_row ); + } + else if ( typeof arg_data === 'object' && arg_data.length ){ + is_ok = fnCompareList( left_row, right_row, arg_data ); + } + else { + is_ok = false; + } + + if ( !is_ok ){ break CONDITION; } // short circuit + } + + if ( is_ok ){ + result_list.push( fnCombineRow( left_row, right_row ) ); + } + } ); + } ); + return TAFFY( result_list )(); + }; + + return fnMain; + }()); + + API.extend( 'join', innerJoinFunction ); + }()); + + API.extend( 'max', function ( c ) { + // **************************************** + // * + // * Takes: column to find max + // * Returns: the highest value + // **************************************** + var highest = null; + run.call( this ); + each( this.context().results, function ( r ) { + if ( highest === null || r[c] > highest ){ + highest = r[c]; + } + }); + return highest; + }); + + API.extend( 'select', function () { + // **************************************** + // * + // * Takes: columns to select values into an array + // * Returns: array of values + // * Note if more than one column is given an array of arrays is returned + // **************************************** + + var ra = [], args = arguments; + run.call( this ); + if ( arguments.length === 1 ){ + + each( this.context().results, function ( r ) { + + ra.push( r[args[0]] ); + }); + } + else { + each( this.context().results, function ( r ) { + var row = []; + each( args, function ( c ) { + row.push( r[c] ); + }); + ra.push( row ); + }); + } + return ra; + }); + API.extend( 'distinct', function () { + // **************************************** + // * + // * Takes: columns to select unique alues into an array + // * Returns: array of values + // * Note if more than one column is given an array of arrays is returned + // **************************************** + var ra = [], args = arguments; + run.call( this ); + if ( arguments.length === 1 ){ + + each( this.context().results, function ( r ) { + var v = r[args[0]], dup = false; + each( ra, function ( d ) { + if ( v === d ){ + dup = true; + return TAFFY.EXIT; + } + }); + if ( !dup ){ + ra.push( v ); + } + }); + } + else { + each( this.context().results, function ( r ) { + var row = [], dup = false; + each( args, function ( c ) { + row.push( r[c] ); + }); + each( ra, function ( d ) { + var ldup = true; + each( args, function ( c, i ) { + if ( row[i] !== d[i] ){ + ldup = false; + return TAFFY.EXIT; + } + }); + if ( ldup ){ + dup = true; + return TAFFY.EXIT; + } + }); + if ( !dup ){ + ra.push( row ); + } + }); + } + return ra; + }); + API.extend( 'supplant', function ( template, returnarray ) { + // **************************************** + // * + // * Takes: a string template formated with key to be replaced with values from the rows, flag to determine if we want array of strings + // * Returns: array of values or a string + // **************************************** + var ra = []; + run.call( this ); + each( this.context().results, function ( r ) { + // TODO: The curly braces used to be unescaped + ra.push( template.replace( /\{([^\{\}]*)\}/g, function ( a, b ) { + var v = r[b]; + return typeof v === 'string' || typeof v === 'number' ? v : a; + } ) ); + }); + return (!returnarray) ? ra.join( "" ) : ra; + }); + + + API.extend( 'each', function ( m ) { + // **************************************** + // * + // * Takes: a function + // * Purpose: loops over every matching record and applies the function + // **************************************** + run.call( this ); + each( this.context().results, m ); + return this; + }); + API.extend( 'map', function ( m ) { + // **************************************** + // * + // * Takes: a function + // * Purpose: loops over every matching record and applies the function, returing the results in an array + // **************************************** + var ra = []; + run.call( this ); + each( this.context().results, function ( r ) { + ra.push( m( r ) ); + }); + return ra; + }); + + + + T = function ( d ) { + // **************************************** + // * + // * T is the main TAFFY object + // * Takes: an array of objects or JSON + // * Returns a new TAFFYDB + // **************************************** + var TOb = [], + ID = {}, + RC = 1, + settings = { + template : false, + onInsert : false, + onUpdate : false, + onRemove : false, + onDBChange : false, + storageName : false, + forcePropertyCase : null, + cacheSize : 100, + name : '' + }, + dm = new Date(), + CacheCount = 0, + CacheClear = 0, + Cache = {}, + DBI, runIndexes, root + ; + // **************************************** + // * + // * TOb = this database + // * ID = collection of the record IDs and locations within the DB, used for fast lookups + // * RC = record counter, used for creating IDs + // * settings.template = the template to merge all new records with + // * settings.onInsert = event given a copy of the newly inserted record + // * settings.onUpdate = event given the original record, the changes, and the new record + // * settings.onRemove = event given the removed record + // * settings.forcePropertyCase = on insert force the proprty case to be lower or upper. default lower, null/undefined will leave case as is + // * dm = the modify date of the database, used for query caching + // **************************************** + + + runIndexes = function ( indexes ) { + // **************************************** + // * + // * Takes: a collection of indexes + // * Returns: collection with records matching indexed filters + // **************************************** + + var records = [], UniqueEnforce = false; + + if ( indexes.length === 0 ){ + return TOb; + } + + each( indexes, function ( f ) { + // Check to see if record ID + if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) && + TOb[ID[f]] ) + { + records.push( TOb[ID[f]] ); + UniqueEnforce = true; + } + // Check to see if record + if ( T.isObject( f ) && f.___id && f.___s && + TOb[ID[f.___id]] ) + { + records.push( TOb[ID[f.___id]] ); + UniqueEnforce = true; + } + // Check to see if array of indexes + if ( T.isArray( f ) ){ + each( f, function ( r ) { + each( runIndexes( r ), function ( rr ) { + records.push( rr ); + }); + + }); + } + }); + if ( UniqueEnforce && records.length > 1 ){ + records = []; + } + + return records; + }; + + DBI = { + // **************************************** + // * + // * The DBI is the internal DataBase Interface that interacts with the data + // **************************************** + dm : function ( nd ) { + // **************************************** + // * + // * Takes: an optional new modify date + // * Purpose: used to get and set the DB modify date + // **************************************** + if ( nd ){ + dm = nd; + Cache = {}; + CacheCount = 0; + CacheClear = 0; + } + if ( settings.onDBChange ){ + setTimeout( function () { + settings.onDBChange.call( TOb ); + }, 0 ); + } + if ( settings.storageName ){ + setTimeout( function () { + localStorage.setItem( 'taffy_' + settings.storageName, + JSON.stringify( TOb ) ); + }); + } + return dm; + }, + insert : function ( i, runEvent ) { + // **************************************** + // * + // * Takes: a new record to insert + // * Purpose: merge the object with the template, add an ID, insert into DB, call insert event + // **************************************** + var columns = [], + records = [], + input = protectJSON( i ) + ; + each( input, function ( v, i ) { + var nv, o; + if ( T.isArray( v ) && i === 0 ){ + each( v, function ( av ) { + + columns.push( (settings.forcePropertyCase === 'lower') + ? av.toLowerCase() + : (settings.forcePropertyCase === 'upper') + ? av.toUpperCase() : av ); + }); + return true; + } + else if ( T.isArray( v ) ){ + nv = {}; + each( v, function ( av, ai ) { + nv[columns[ai]] = av; + }); + v = nv; + + } + else if ( T.isObject( v ) && settings.forcePropertyCase ){ + o = {}; + + eachin( v, function ( av, ai ) { + o[(settings.forcePropertyCase === 'lower') ? ai.toLowerCase() + : (settings.forcePropertyCase === 'upper') + ? ai.toUpperCase() : ai] = v[ai]; + }); + v = o; + } + + RC++; + v.___id = 'T' + String( idpad + TC ).slice( -6 ) + 'R' + + String( idpad + RC ).slice( -6 ); + v.___s = true; + records.push( v.___id ); + if ( settings.template ){ + v = T.mergeObj( settings.template, v ); + } + TOb.push( v ); + + ID[v.___id] = TOb.length - 1; + if ( settings.onInsert && + (runEvent || TAFFY.isUndefined( runEvent )) ) + { + settings.onInsert.call( v ); + } + DBI.dm( new Date() ); + }); + return root( records ); + }, + sort : function ( o ) { + // **************************************** + // * + // * Purpose: Change the sort order of the DB itself and reset the ID bucket + // **************************************** + TOb = orderByCol( TOb, o.split( ',' ) ); + ID = {}; + each( TOb, function ( r, i ) { + ID[r.___id] = i; + }); + DBI.dm( new Date() ); + return true; + }, + update : function ( id, changes, runEvent ) { + // **************************************** + // * + // * Takes: the ID of record being changed and the changes + // * Purpose: Update a record and change some or all values, call the on update method + // **************************************** + + var nc = {}, or, nr, tc, hasChange; + if ( settings.forcePropertyCase ){ + eachin( changes, function ( v, p ) { + nc[(settings.forcePropertyCase === 'lower') ? p.toLowerCase() + : (settings.forcePropertyCase === 'upper') ? p.toUpperCase() + : p] = v; + }); + changes = nc; + } + + or = TOb[ID[id]]; + nr = T.mergeObj( or, changes ); + + tc = {}; + hasChange = false; + eachin( nr, function ( v, i ) { + if ( TAFFY.isUndefined( or[i] ) || or[i] !== v ){ + tc[i] = v; + hasChange = true; + } + }); + if ( hasChange ){ + if ( settings.onUpdate && + (runEvent || TAFFY.isUndefined( runEvent )) ) + { + settings.onUpdate.call( nr, TOb[ID[id]], tc ); + } + TOb[ID[id]] = nr; + DBI.dm( new Date() ); + } + }, + remove : function ( id ) { + // **************************************** + // * + // * Takes: the ID of record to be removed + // * Purpose: remove a record, changes its ___s value to false + // **************************************** + TOb[ID[id]].___s = false; + }, + removeCommit : function ( runEvent ) { + var x; + // **************************************** + // * + // * + // * Purpose: loop over all records and remove records with ___s = false, call onRemove event, clear ID + // **************************************** + for ( x = TOb.length - 1; x > -1; x-- ){ + + if ( !TOb[x].___s ){ + if ( settings.onRemove && + (runEvent || TAFFY.isUndefined( runEvent )) ) + { + settings.onRemove.call( TOb[x] ); + } + ID[TOb[x].___id] = undefined; + TOb.splice( x, 1 ); + } + } + ID = {}; + each( TOb, function ( r, i ) { + ID[r.___id] = i; + }); + DBI.dm( new Date() ); + }, + query : function ( context ) { + // **************************************** + // * + // * Takes: the context object for a query and either returns a cache result or a new query result + // **************************************** + var returnq, cid, results, indexed, limitq, ni; + + if ( settings.cacheSize ) { + cid = ''; + each( context.filterRaw, function ( r ) { + if ( T.isFunction( r ) ){ + cid = 'nocache'; + return TAFFY.EXIT; + } + }); + if ( cid === '' ){ + cid = JSON.stringify( T.mergeObj( context, + {q : false, run : false, sort : false} ) ); + } + } + // Run a new query if there are no results or the run date has been cleared + if ( !context.results || !context.run || + (context.run && DBI.dm() > context.run) ) + { + results = []; + + // check Cache + + if ( settings.cacheSize && Cache[cid] ){ + + Cache[cid].i = CacheCount++; + return Cache[cid].results; + } + else { + // if no filter, return DB + if ( context.q.length === 0 && context.index.length === 0 ){ + each( TOb, function ( r ) { + results.push( r ); + }); + returnq = results; + } + else { + // use indexes + + indexed = runIndexes( context.index ); + + // run filters + each( indexed, function ( r ) { + // Run filter to see if record matches query + if ( context.q.length === 0 || runFilters( r, context.q ) ){ + results.push( r ); + } + }); + + returnq = results; + } + } + + + } + else { + // If query exists and run has not been cleared return the cache results + returnq = context.results; + } + // If a custom order array exists and the run has been clear or the sort has been cleared + if ( context.order.length > 0 && (!context.run || !context.sort) ){ + // order the results + returnq = orderByCol( returnq, context.order ); + } + + // If a limit on the number of results exists and it is less than the returned results, limit results + if ( returnq.length && + ((context.limit && context.limit < returnq.length) || + context.start) + ) { + limitq = []; + each( returnq, function ( r, i ) { + if ( !context.start || + (context.start && (i + 1) >= context.start) ) + { + if ( context.limit ){ + ni = (context.start) ? (i + 1) - context.start : i; + if ( ni < context.limit ){ + limitq.push( r ); + } + else if ( ni > context.limit ){ + return TAFFY.EXIT; + } + } + else { + limitq.push( r ); + } + } + }); + returnq = limitq; + } + + // update cache + if ( settings.cacheSize && cid !== 'nocache' ){ + CacheClear++; + + setTimeout( function () { + var bCounter, nc; + if ( CacheClear >= settings.cacheSize * 2 ){ + CacheClear = 0; + bCounter = CacheCount - settings.cacheSize; + nc = {}; + eachin( function ( r, k ) { + if ( r.i >= bCounter ){ + nc[k] = r; + } + }); + Cache = nc; + } + }, 0 ); + + Cache[cid] = { i : CacheCount++, results : returnq }; + } + return returnq; + } + }; + + + root = function () { + var iAPI, context; + // **************************************** + // * + // * The root function that gets returned when a new DB is created + // * Takes: unlimited filter arguments and creates filters to be run when a query is called + // **************************************** + // **************************************** + // * + // * iAPI is the the method collection valiable when a query has been started by calling dbname + // * Certain methods are or are not avaliable once you have started a query such as insert -- you can only insert into root + // **************************************** + iAPI = TAFFY.mergeObj( TAFFY.mergeObj( API, { insert : undefined } ), + { getDBI : function () { return DBI; }, + getroot : function ( c ) { return root.call( c ); }, + context : function ( n ) { + // **************************************** + // * + // * The context contains all the information to manage a query including filters, limits, and sorts + // **************************************** + if ( n ){ + context = TAFFY.mergeObj( context, + n.hasOwnProperty('results') + ? TAFFY.mergeObj( n, { run : new Date(), sort: new Date() }) + : n + ); + } + return context; + }, + extend : undefined + }); + + context = (this && this.q) ? this : { + limit : false, + start : false, + q : [], + filterRaw : [], + index : [], + order : [], + results : false, + run : null, + sort : null, + settings : settings + }; + // **************************************** + // * + // * Call the query method to setup a new query + // **************************************** + each( arguments, function ( f ) { + + if ( isIndexable( f ) ){ + context.index.push( f ); + } + else { + context.q.push( returnFilter( f ) ); + } + context.filterRaw.push( f ); + }); + + + return iAPI; + }; + + // **************************************** + // * + // * If new records have been passed on creation of the DB either as JSON or as an array/object, insert them + // **************************************** + TC++; + if ( d ){ + DBI.insert( d ); + } + + + root.insert = DBI.insert; + + root.merge = function ( i, key, runEvent ) { + var + search = {}, + finalSearch = [], + obj = {} + ; + + runEvent = runEvent || false; + key = key || 'id'; + + each( i, function ( o ) { + var existingObject; + search[key] = o[key]; + finalSearch.push( o[key] ); + existingObject = root( search ).first(); + if ( existingObject ){ + DBI.update( existingObject.___id, o, runEvent ); + } + else { + DBI.insert( o, runEvent ); + } + }); + + obj[key] = finalSearch; + return root( obj ); + }; + + root.TAFFY = true; + root.sort = DBI.sort; + // **************************************** + // * + // * These are the methods that can be accessed on off the root DB function. Example dbname.insert; + // **************************************** + root.settings = function ( n ) { + // **************************************** + // * + // * Getting and setting for this DB's settings/events + // **************************************** + if ( n ){ + settings = TAFFY.mergeObj( settings, n ); + if ( n.template ){ + + root().update( n.template ); + } + } + return settings; + }; + + // **************************************** + // * + // * These are the methods that can be accessed on off the root DB function. Example dbname.insert; + // **************************************** + root.store = function ( n ) { + // **************************************** + // * + // * Setup localstorage for this DB on a given name + // * Pull data into the DB as needed + // **************************************** + var r = false, i; + if ( localStorage ){ + if ( n ){ + i = localStorage.getItem( 'taffy_' + n ); + if ( i && i.length > 0 ){ + root.insert( i ); + r = true; + } + if ( TOb.length > 0 ){ + setTimeout( function () { + localStorage.setItem( 'taffy_' + settings.storageName, + JSON.stringify( TOb ) ); + }); + } + } + root.settings( {storageName : n} ); + } + return root; + }; + + // **************************************** + // * + // * Return root on DB creation and start having fun + // **************************************** + return root; + }; + // **************************************** + // * + // * Sets the global TAFFY object + // **************************************** + TAFFY = T; + + + // **************************************** + // * + // * Create public each method + // * + // **************************************** + T.each = each; + + // **************************************** + // * + // * Create public eachin method + // * + // **************************************** + T.eachin = eachin; + // **************************************** + // * + // * Create public extend method + // * Add a custom method to the API + // * + // **************************************** + T.extend = API.extend; + + + // **************************************** + // * + // * Creates TAFFY.EXIT value that can be returned to stop an each loop + // * + // **************************************** + TAFFY.EXIT = 'TAFFYEXIT'; + + // **************************************** + // * + // * Create public utility mergeObj method + // * Return a new object where items from obj2 + // * have replaced or been added to the items in + // * obj1 + // * Purpose: Used to combine objs + // * + // **************************************** + TAFFY.mergeObj = function ( ob1, ob2 ) { + var c = {}; + eachin( ob1, function ( v, n ) { c[n] = ob1[n]; }); + eachin( ob2, function ( v, n ) { c[n] = ob2[n]; }); + return c; + }; + + + // **************************************** + // * + // * Create public utility has method + // * Returns true if a complex object, array + // * or taffy collection contains the material + // * provided in the second argument + // * Purpose: Used to comare objects + // * + // **************************************** + TAFFY.has = function ( var1, var2 ) { + + var re = true, n; + + if ( (var1.TAFFY) ){ + re = var1( var2 ); + if ( re.length > 0 ){ + return true; + } + else { + return false; + } + } + else { + + switch ( T.typeOf( var1 ) ){ + case 'object': + if ( T.isObject( var2 ) ){ + eachin( var2, function ( v, n ) { + if ( re === true && !T.isUndefined( var1[n] ) && + var1.hasOwnProperty( n ) ) + { + re = T.has( var1[n], var2[n] ); + } + else { + re = false; + return TAFFY.EXIT; + } + }); + } + else if ( T.isArray( var2 ) ){ + each( var2, function ( v, n ) { + re = T.has( var1, var2[n] ); + if ( re ){ + return TAFFY.EXIT; + } + }); + } + else if ( T.isString( var2 ) ){ + if ( !TAFFY.isUndefined( var1[var2] ) ){ + return true; + } + else { + return false; + } + } + return re; + case 'array': + if ( T.isObject( var2 ) ){ + each( var1, function ( v, i ) { + re = T.has( var1[i], var2 ); + if ( re === true ){ + return TAFFY.EXIT; + } + }); + } + else if ( T.isArray( var2 ) ){ + each( var2, function ( v2, i2 ) { + each( var1, function ( v1, i1 ) { + re = T.has( var1[i1], var2[i2] ); + if ( re === true ){ + return TAFFY.EXIT; + } + }); + if ( re === true ){ + return TAFFY.EXIT; + } + }); + } + else if ( T.isString( var2 ) || T.isNumber( var2 ) ){ + for ( n = 0; n < var1.length; n++ ){ + re = T.has( var1[n], var2 ); + if ( re ){ + return true; + } + } + } + return re; + case 'string': + if ( T.isString( var2 ) && var2 === var1 ){ + return true; + } + break; + default: + if ( T.typeOf( var1 ) === T.typeOf( var2 ) && var1 === var2 ){ + return true; + } + break; + } + } + return false; + }; + + // **************************************** + // * + // * Create public utility hasAll method + // * Returns true if a complex object, array + // * or taffy collection contains the material + // * provided in the call - for arrays it must + // * contain all the material in each array item + // * Purpose: Used to comare objects + // * + // **************************************** + TAFFY.hasAll = function ( var1, var2 ) { + + var T = TAFFY, ar; + if ( T.isArray( var2 ) ){ + ar = true; + each( var2, function ( v ) { + ar = T.has( var1, v ); + if ( ar === false ){ + return TAFFY.EXIT; + } + }); + return ar; + } + else { + return T.has( var1, var2 ); + } + }; + + + // **************************************** + // * + // * typeOf Fixed in JavaScript as public utility + // * + // **************************************** + TAFFY.typeOf = function ( v ) { + var s = typeof v; + if ( s === 'object' ){ + if ( v ){ + if ( typeof v.length === 'number' && + !(v.propertyIsEnumerable( 'length' )) ) + { + s = 'array'; + } + } + else { + s = 'null'; + } + } + return s; + }; + + // **************************************** + // * + // * Create public utility getObjectKeys method + // * Returns an array of an objects keys + // * Purpose: Used to get the keys for an object + // * + // **************************************** + TAFFY.getObjectKeys = function ( ob ) { + var kA = []; + eachin( ob, function ( n, h ) { + kA.push( h ); + }); + kA.sort(); + return kA; + }; + + // **************************************** + // * + // * Create public utility isSameArray + // * Returns an array of an objects keys + // * Purpose: Used to get the keys for an object + // * + // **************************************** + TAFFY.isSameArray = function ( ar1, ar2 ) { + return (TAFFY.isArray( ar1 ) && TAFFY.isArray( ar2 ) && + ar1.join( ',' ) === ar2.join( ',' )) ? true : false; + }; + + // **************************************** + // * + // * Create public utility isSameObject method + // * Returns true if objects contain the same + // * material or false if they do not + // * Purpose: Used to comare objects + // * + // **************************************** + TAFFY.isSameObject = function ( ob1, ob2 ) { + var T = TAFFY, rv = true; + + if ( T.isObject( ob1 ) && T.isObject( ob2 ) ){ + if ( T.isSameArray( T.getObjectKeys( ob1 ), + T.getObjectKeys( ob2 ) ) ) + { + eachin( ob1, function ( v, n ) { + if ( ! ( (T.isObject( ob1[n] ) && T.isObject( ob2[n] ) && + T.isSameObject( ob1[n], ob2[n] )) || + (T.isArray( ob1[n] ) && T.isArray( ob2[n] ) && + T.isSameArray( ob1[n], ob2[n] )) || (ob1[n] === ob2[n]) ) + ) { + rv = false; + return TAFFY.EXIT; + } + }); + } + else { + rv = false; + } + } + else { + rv = false; + } + return rv; + }; + + // **************************************** + // * + // * Create public utility is[DataType] methods + // * Return true if obj is datatype, false otherwise + // * Purpose: Used to determine if arguments are of certain data type + // * + // * mmikowski 2012-08-06 refactored to make much less "magical": + // * fewer closures and passes jslint + // * + // **************************************** + + typeList = [ + 'String', 'Number', 'Object', 'Array', + 'Boolean', 'Null', 'Function', 'Undefined' + ]; + + makeTest = function ( thisKey ) { + return function ( data ) { + return TAFFY.typeOf( data ) === thisKey.toLowerCase() ? true : false; + }; + }; + + for ( idx = 0; idx < typeList.length; idx++ ){ + typeKey = typeList[idx]; + TAFFY['is' + typeKey] = makeTest( typeKey ); + } + } +}()); + +if ( typeof(exports) === 'object' ){ + exports.taffy = TAFFY; +} + diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/tmp/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/CHANGELOG.md new file mode 100644 index 00000000..0aa54882 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/CHANGELOG.md @@ -0,0 +1,288 @@ + + +## v0.2.1 (2020-04-28) + +#### :rocket: Enhancement +* [#252](https://github.com/raszi/node-tmp/pull/252) Closes [#250](https://github.com/raszi/node-tmp/issues/250): introduce tmpdir option for overriding the system tmp dir ([@silkentrance](https://github.com/silkentrance)) + +#### :house: Internal +* [#253](https://github.com/raszi/node-tmp/pull/253) Closes [#191](https://github.com/raszi/node-tmp/issues/191): generate changelog from pull requests using lerna-changelog ([@silkentrance](https://github.com/silkentrance)) + +#### Committers: 1 +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) + + +## v0.2.0 (2020-04-25) + +#### :rocket: Enhancement +* [#234](https://github.com/raszi/node-tmp/pull/234) feat: stabilize tmp for v0.2.0 release ([@silkentrance](https://github.com/silkentrance)) + +#### :bug: Bug Fix +* [#231](https://github.com/raszi/node-tmp/pull/231) Closes [#230](https://github.com/raszi/node-tmp/issues/230): regression after fix for #197 ([@silkentrance](https://github.com/silkentrance)) +* [#220](https://github.com/raszi/node-tmp/pull/220) Closes [#197](https://github.com/raszi/node-tmp/issues/197): return sync callback when using the sync interface, otherwise return the async callback ([@silkentrance](https://github.com/silkentrance)) +* [#193](https://github.com/raszi/node-tmp/pull/193) Closes [#192](https://github.com/raszi/node-tmp/issues/192): tmp must not exit the process on its own ([@silkentrance](https://github.com/silkentrance)) + +#### :memo: Documentation +* [#221](https://github.com/raszi/node-tmp/pull/221) Gh 206 document name option ([@silkentrance](https://github.com/silkentrance)) + +#### :house: Internal +* [#226](https://github.com/raszi/node-tmp/pull/226) Closes [#212](https://github.com/raszi/node-tmp/issues/212): enable direct name option test ([@silkentrance](https://github.com/silkentrance)) +* [#225](https://github.com/raszi/node-tmp/pull/225) Closes [#211](https://github.com/raszi/node-tmp/issues/211): existing tests must clean up after themselves ([@silkentrance](https://github.com/silkentrance)) +* [#224](https://github.com/raszi/node-tmp/pull/224) Closes [#217](https://github.com/raszi/node-tmp/issues/217): name tests must use tmpName ([@silkentrance](https://github.com/silkentrance)) +* [#223](https://github.com/raszi/node-tmp/pull/223) Closes [#214](https://github.com/raszi/node-tmp/issues/214): refactor tests and lib ([@silkentrance](https://github.com/silkentrance)) +* [#198](https://github.com/raszi/node-tmp/pull/198) Update dependencies to latest versions ([@matsev](https://github.com/matsev)) + +#### Committers: 2 +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- Mattias Severson ([@matsev](https://github.com/matsev)) + + +## v0.1.0 (2019-03-20) + +#### :rocket: Enhancement +* [#177](https://github.com/raszi/node-tmp/pull/177) fix: fail early if there is no tmp dir specified ([@silkentrance](https://github.com/silkentrance)) +* [#159](https://github.com/raszi/node-tmp/pull/159) Closes [#121](https://github.com/raszi/node-tmp/issues/121) ([@silkentrance](https://github.com/silkentrance)) +* [#161](https://github.com/raszi/node-tmp/pull/161) Closes [#155](https://github.com/raszi/node-tmp/issues/155) ([@silkentrance](https://github.com/silkentrance)) +* [#166](https://github.com/raszi/node-tmp/pull/166) fix: avoid relying on Node’s internals ([@addaleax](https://github.com/addaleax)) +* [#144](https://github.com/raszi/node-tmp/pull/144) prepend opts.dir || tmpDir to template if no path is given ([@silkentrance](https://github.com/silkentrance)) + +#### :bug: Bug Fix +* [#183](https://github.com/raszi/node-tmp/pull/183) Closes [#182](https://github.com/raszi/node-tmp/issues/182) fileSync takes empty string postfix option ([@gutte](https://github.com/gutte)) +* [#130](https://github.com/raszi/node-tmp/pull/130) Closes [#129](https://github.com/raszi/node-tmp/issues/129) install process listeners safely ([@silkentrance](https://github.com/silkentrance)) + +#### :memo: Documentation +* [#188](https://github.com/raszi/node-tmp/pull/188) HOTCloses [#187](https://github.com/raszi/node-tmp/issues/187): restore behaviour for #182 ([@silkentrance](https://github.com/silkentrance)) +* [#180](https://github.com/raszi/node-tmp/pull/180) fix gh-179: template no longer accepts arbitrary paths ([@silkentrance](https://github.com/silkentrance)) +* [#175](https://github.com/raszi/node-tmp/pull/175) docs: add `unsafeCleanup` option to jsdoc ([@kerimdzhanov](https://github.com/kerimdzhanov)) +* [#151](https://github.com/raszi/node-tmp/pull/151) docs: fix link to tmp-promise ([@silkentrance](https://github.com/silkentrance)) + +#### :house: Internal +* [#184](https://github.com/raszi/node-tmp/pull/184) test: add missing tests for #182 ([@silkentrance](https://github.com/silkentrance)) +* [#171](https://github.com/raszi/node-tmp/pull/171) chore: drop old NodeJS support ([@poppinlp](https://github.com/poppinlp)) +* [#170](https://github.com/raszi/node-tmp/pull/170) chore: update dependencies ([@raszi](https://github.com/raszi)) +* [#165](https://github.com/raszi/node-tmp/pull/165) test: add missing tests ([@raszi](https://github.com/raszi)) +* [#163](https://github.com/raszi/node-tmp/pull/163) chore: add lint npm task ([@raszi](https://github.com/raszi)) +* [#107](https://github.com/raszi/node-tmp/pull/107) chore: add coverage report ([@raszi](https://github.com/raszi)) +* [#141](https://github.com/raszi/node-tmp/pull/141) test: refactor tests for mocha ([@silkentrance](https://github.com/silkentrance)) +* [#154](https://github.com/raszi/node-tmp/pull/154) chore: change Travis configuration ([@raszi](https://github.com/raszi)) +* [#152](https://github.com/raszi/node-tmp/pull/152) fix: drop Node v0.6.0 ([@raszi](https://github.com/raszi)) + +#### Committers: 6 +- Anna Henningsen ([@addaleax](https://github.com/addaleax)) +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- Dan Kerimdzhanov ([@kerimdzhanov](https://github.com/kerimdzhanov)) +- Gustav Klingstedt ([@gutte](https://github.com/gutte)) +- KARASZI István ([@raszi](https://github.com/raszi)) +- PoppinL ([@poppinlp](https://github.com/poppinlp)) + + +## v0.0.33 (2017-08-12) + +#### :rocket: Enhancement +* [#147](https://github.com/raszi/node-tmp/pull/147) fix: with name option try at most once to get a unique tmp name ([@silkentrance](https://github.com/silkentrance)) + +#### :bug: Bug Fix +* [#149](https://github.com/raszi/node-tmp/pull/149) fix(fileSync): must honor detachDescriptor and discardDescriptor options ([@silkentrance](https://github.com/silkentrance)) +* [#119](https://github.com/raszi/node-tmp/pull/119) Closes [#115](https://github.com/raszi/node-tmp/issues/115) ([@silkentrance](https://github.com/silkentrance)) + +#### :memo: Documentation +* [#128](https://github.com/raszi/node-tmp/pull/128) Closes [#127](https://github.com/raszi/node-tmp/issues/127) add reference to tmp-promise ([@silkentrance](https://github.com/silkentrance)) + +#### :house: Internal +* [#135](https://github.com/raszi/node-tmp/pull/135) Closes [#133](https://github.com/raszi/node-tmp/issues/133), #134 ([@silkentrance](https://github.com/silkentrance)) +* [#123](https://github.com/raszi/node-tmp/pull/123) docs: update tmp.js MIT license header to 2017 ([@madnight](https://github.com/madnight)) +* [#122](https://github.com/raszi/node-tmp/pull/122) chore: add issue template ([@silkentrance](https://github.com/silkentrance)) + +#### Committers: 2 +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- Fabian Beuke ([@madnight](https://github.com/madnight)) + + +## v0.0.32 (2017-03-24) + +#### :memo: Documentation +* [#106](https://github.com/raszi/node-tmp/pull/106) doc: add proper JSDoc documentation ([@raszi](https://github.com/raszi)) + +#### :house: Internal +* [#111](https://github.com/raszi/node-tmp/pull/111) test: add Windows tests ([@binki](https://github.com/binki)) +* [#110](https://github.com/raszi/node-tmp/pull/110) chore: add AppVeyor ([@binki](https://github.com/binki)) +* [#105](https://github.com/raszi/node-tmp/pull/105) chore: use const where possible ([@raszi](https://github.com/raszi)) +* [#104](https://github.com/raszi/node-tmp/pull/104) style: fix various style issues ([@raszi](https://github.com/raszi)) + +#### Committers: 2 +- KARASZI István ([@raszi](https://github.com/raszi)) +- Nathan Phillip Brink ([@binki](https://github.com/binki)) + + +## v0.0.31 (2016-11-21) + +#### :rocket: Enhancement +* [#99](https://github.com/raszi/node-tmp/pull/99) feat: add next callback functionality ([@silkentrance](https://github.com/silkentrance)) +* [#94](https://github.com/raszi/node-tmp/pull/94) feat: add options to control descriptor management ([@pabigot](https://github.com/pabigot)) + +#### :house: Internal +* [#101](https://github.com/raszi/node-tmp/pull/101) fix: Include files in the package.json ([@raszi](https://github.com/raszi)) + +#### Committers: 3 +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- KARASZI István ([@raszi](https://github.com/raszi)) +- Peter A. Bigot ([@pabigot](https://github.com/pabigot)) + + +## v0.0.30 (2016-11-01) + +#### :bug: Bug Fix +* [#96](https://github.com/raszi/node-tmp/pull/96) fix: constants for Node 6 ([@jnj16180340](https://github.com/jnj16180340)) +* [#98](https://github.com/raszi/node-tmp/pull/98) fix: garbage collector ([@Ari-H](https://github.com/Ari-H)) + +#### Committers: 2 +- Nate Johnson ([@jnj16180340](https://github.com/jnj16180340)) +- [@Ari-H](https://github.com/Ari-H) + + +## v0.0.29 (2016-09-18) + +#### :rocket: Enhancement +* [#87](https://github.com/raszi/node-tmp/pull/87) fix: replace calls to deprecated fs API functions ([@OlliV](https://github.com/OlliV)) + +#### :bug: Bug Fix +* [#70](https://github.com/raszi/node-tmp/pull/70) fix: prune `_removeObjects` correctly ([@joliss](https://github.com/joliss)) +* [#71](https://github.com/raszi/node-tmp/pull/71) Fix typo ([@gcampax](https://github.com/gcampax)) + +#### :memo: Documentation +* [#77](https://github.com/raszi/node-tmp/pull/77) docs: change mkstemps to mkstemp ([@thefourtheye](https://github.com/thefourtheye)) + +#### :house: Internal +* [#92](https://github.com/raszi/node-tmp/pull/92) chore: add Travis CI support for Node 6 ([@amilajack](https://github.com/amilajack)) +* [#79](https://github.com/raszi/node-tmp/pull/79) fix: remove unneeded require statement ([@whmountains](https://github.com/whmountains)) + +#### Committers: 6 +- Amila Welihinda ([@amilajack](https://github.com/amilajack)) +- Caleb Whiting ([@whmountains](https://github.com/whmountains)) +- Giovanni Campagna ([@gcampax](https://github.com/gcampax)) +- Jo Liss ([@joliss](https://github.com/joliss)) +- Olli Vanhoja ([@OlliV](https://github.com/OlliV)) +- Sakthipriyan Vairamani ([@thefourtheye](https://github.com/thefourtheye)) + + +## v0.0.28 (2015-09-27) + +#### :bug: Bug Fix +* [#63](https://github.com/raszi/node-tmp/pull/63) fix: delete for _rmdirRecursiveSync ([@voltrevo](https://github.com/voltrevo)) + +#### :memo: Documentation +* [#64](https://github.com/raszi/node-tmp/pull/64) docs: fix typo in the README ([@JTKnox91](https://github.com/JTKnox91)) + +#### :house: Internal +* [#67](https://github.com/raszi/node-tmp/pull/67) test: add node v4.0 v4.1 to travis config ([@raszi](https://github.com/raszi)) +* [#66](https://github.com/raszi/node-tmp/pull/66) chore(deps): update deps ([@raszi](https://github.com/raszi)) + +#### Committers: 3 +- Andrew Morris ([@voltrevo](https://github.com/voltrevo)) +- John T. Knox ([@JTKnox91](https://github.com/JTKnox91)) +- KARASZI István ([@raszi](https://github.com/raszi)) + + +## v0.0.27 (2015-08-15) + +#### :bug: Bug Fix +* [#60](https://github.com/raszi/node-tmp/pull/60) fix: unlinking when the file has been already removed ([@silkentrance](https://github.com/silkentrance)) + +#### :memo: Documentation +* [#55](https://github.com/raszi/node-tmp/pull/55) docs(README): update README ([@raszi](https://github.com/raszi)) + +#### :house: Internal +* [#56](https://github.com/raszi/node-tmp/pull/56) style(jshint): fix JSHint error ([@raszi](https://github.com/raszi)) +* [#53](https://github.com/raszi/node-tmp/pull/53) chore: update license attribute ([@pdehaan](https://github.com/pdehaan)) + +#### Committers: 3 +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- KARASZI István ([@raszi](https://github.com/raszi)) +- Peter deHaan ([@pdehaan](https://github.com/pdehaan)) + + +## v0.0.26 (2015-05-12) + +#### :rocket: Enhancement +* [#40](https://github.com/raszi/node-tmp/pull/40) Fix for #39 ([@silkentrance](https://github.com/silkentrance)) +* [#42](https://github.com/raszi/node-tmp/pull/42) Fix for #17 ([@silkentrance](https://github.com/silkentrance)) +* [#41](https://github.com/raszi/node-tmp/pull/41) Fix for #37 ([@silkentrance](https://github.com/silkentrance)) +* [#32](https://github.com/raszi/node-tmp/pull/32) add ability to customize file/dir names ([@shime](https://github.com/shime)) +* [#29](https://github.com/raszi/node-tmp/pull/29) tmp.file have responsibility to close file, not only unlink file ([@vhain](https://github.com/vhain)) + +#### :bug: Bug Fix +* [#51](https://github.com/raszi/node-tmp/pull/51) fix(windows): fix tempDir on windows ([@raszi](https://github.com/raszi)) +* [#49](https://github.com/raszi/node-tmp/pull/49) remove object from _removeObjects if cleanup fn is called Closes [#48](https://github.com/raszi/node-tmp/issues/48) ([@bmeck](https://github.com/bmeck)) + +#### :memo: Documentation +* [#45](https://github.com/raszi/node-tmp/pull/45) Fix for #44 ([@silkentrance](https://github.com/silkentrance)) + +#### :house: Internal +* [#34](https://github.com/raszi/node-tmp/pull/34) Create LICENSE ([@ScottWeinstein](https://github.com/ScottWeinstein)) + +#### Committers: 6 +- Bradley Farias ([@bmeck](https://github.com/bmeck)) +- Carsten Klein ([@silkentrance](https://github.com/silkentrance)) +- Hrvoje Šimić ([@shime](https://github.com/shime)) +- Juwan Yoo ([@vhain](https://github.com/vhain)) +- KARASZI István ([@raszi](https://github.com/raszi)) +- Scott Weinstein ([@ScottWeinstein](https://github.com/ScottWeinstein)) + + +## v0.0.24 (2014-07-11) + +#### :rocket: Enhancement +* [#25](https://github.com/raszi/node-tmp/pull/25) Added removeCallback passing ([@foxel](https://github.com/foxel)) + +#### Committers: 1 +- Andrey Kupreychik ([@foxel](https://github.com/foxel)) + + +## v0.0.23 (2013-12-03) + +#### :rocket: Enhancement +* [#21](https://github.com/raszi/node-tmp/pull/21) If we are not on node 0.8, don't register an uncaughtException handler ([@wibblymat](https://github.com/wibblymat)) + +#### Committers: 1 +- Mat Scales ([@wibblymat](https://github.com/wibblymat)) + + +## v0.0.22 (2013-11-29) + +#### :rocket: Enhancement +* [#19](https://github.com/raszi/node-tmp/pull/19) Rethrow only on node v0.8. ([@mcollina](https://github.com/mcollina)) + +#### Committers: 1 +- Matteo Collina ([@mcollina](https://github.com/mcollina)) + + +## v0.0.21 (2013-08-07) + +#### :bug: Bug Fix +* [#16](https://github.com/raszi/node-tmp/pull/16) Fix bug where we delete contents of symlinks ([@lightsofapollo](https://github.com/lightsofapollo)) + +#### Committers: 1 +- James Lal ([@lightsofapollo](https://github.com/lightsofapollo)) + + +## v0.0.17 (2013-04-09) + +#### :rocket: Enhancement +* [#9](https://github.com/raszi/node-tmp/pull/9) add recursive remove option ([@oscar-broman](https://github.com/oscar-broman)) + +#### Committers: 1 +- [@oscar-broman](https://github.com/oscar-broman) + + +## v0.0.14 (2012-08-26) + +#### :rocket: Enhancement +* [#5](https://github.com/raszi/node-tmp/pull/5) Export _getTmpName for temporary file name creation ([@joscha](https://github.com/joscha)) + +#### Committers: 1 +- Joscha Feth ([@joscha](https://github.com/joscha)) + + +## Previous Releases < v0.0.14 + +- no information available diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/tmp/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/LICENSE new file mode 100644 index 00000000..72418bd9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 KARASZI István + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/tmp/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/README.md new file mode 100644 index 00000000..bb20fb7b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/README.md @@ -0,0 +1,365 @@ +# Tmp + +A simple temporary file and directory creator for [node.js.][1] + +[![Build Status](https://travis-ci.org/raszi/node-tmp.svg?branch=master)](https://travis-ci.org/raszi/node-tmp) +[![Dependencies](https://david-dm.org/raszi/node-tmp.svg)](https://david-dm.org/raszi/node-tmp) +[![npm version](https://badge.fury.io/js/tmp.svg)](https://badge.fury.io/js/tmp) +[![API documented](https://img.shields.io/badge/API-documented-brightgreen.svg)](https://raszi.github.io/node-tmp/) +[![Known Vulnerabilities](https://snyk.io/test/npm/tmp/badge.svg)](https://snyk.io/test/npm/tmp) + +## About + +This is a [widely used library][2] to create temporary files and directories +in a [node.js][1] environment. + +Tmp offers both an asynchronous and a synchronous API. For all API calls, all +the parameters are optional. There also exists a promisified version of the +API, see [tmp-promise][5]. + +Tmp uses crypto for determining random file names, or, when using templates, +a six letter random identifier. And just in case that you do not have that much +entropy left on your system, Tmp will fall back to pseudo random numbers. + +You can set whether you want to remove the temporary file on process exit or +not. + +If you do not want to store your temporary directories and files in the +standard OS temporary directory, then you are free to override that as well. + +## An Important Note on Compatibility + +See the [CHANGELOG](./CHANGELOG.md) for more information. + +### Version 0.1.0 + +Since version 0.1.0, all support for node versions < 0.10.0 has been dropped. + +Most importantly, any support for earlier versions of node-tmp was also dropped. + +If you still require node versions < 0.10.0, then you must limit your node-tmp +dependency to versions below 0.1.0. + +### Version 0.0.33 + +Since version 0.0.33, all support for node versions < 0.8 has been dropped. + +If you still require node version 0.8, then you must limit your node-tmp +dependency to version 0.0.33. + +For node versions < 0.8 you must limit your node-tmp dependency to +versions < 0.0.33. + +## How to install + +```bash +npm install tmp +``` + +## Usage + +Please also check [API docs][4]. + +### Asynchronous file creation + +Simple temporary file creation, the file will be closed and unlinked on process exit. + +```javascript +const tmp = require('tmp'); + +tmp.file(function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + + console.log('File: ', path); + console.log('Filedescriptor: ', fd); + + // If we don't need the file anymore we could manually call the cleanupCallback + // But that is not necessary if we didn't pass the keep option because the library + // will clean after itself. + cleanupCallback(); +}); +``` + +### Synchronous file creation + +A synchronous version of the above. + +```javascript +const tmp = require('tmp'); + +const tmpobj = tmp.fileSync(); +console.log('File: ', tmpobj.name); +console.log('Filedescriptor: ', tmpobj.fd); + +// If we don't need the file anymore we could manually call the removeCallback +// But that is not necessary if we didn't pass the keep option because the library +// will clean after itself. +tmpobj.removeCallback(); +``` + +Note that this might throw an exception if either the maximum limit of retries +for creating a temporary name fails, or, in case that you do not have the permission +to write to the directory where the temporary file should be created in. + +### Asynchronous directory creation + +Simple temporary directory creation, it will be removed on process exit. + +If the directory still contains items on process exit, then it won't be removed. + +```javascript +const tmp = require('tmp'); + +tmp.dir(function _tempDirCreated(err, path, cleanupCallback) { + if (err) throw err; + + console.log('Dir: ', path); + + // Manual cleanup + cleanupCallback(); +}); +``` + +If you want to cleanup the directory even when there are entries in it, then +you can pass the `unsafeCleanup` option when creating it. + +### Synchronous directory creation + +A synchronous version of the above. + +```javascript +const tmp = require('tmp'); + +const tmpobj = tmp.dirSync(); +console.log('Dir: ', tmpobj.name); +// Manual cleanup +tmpobj.removeCallback(); +``` + +Note that this might throw an exception if either the maximum limit of retries +for creating a temporary name fails, or, in case that you do not have the permission +to write to the directory where the temporary directory should be created in. + +### Asynchronous filename generation + +It is possible with this library to generate a unique filename in the specified +directory. + +```javascript +const tmp = require('tmp'); + +tmp.tmpName(function _tempNameGenerated(err, path) { + if (err) throw err; + + console.log('Created temporary filename: ', path); +}); +``` + +### Synchronous filename generation + +A synchronous version of the above. + +```javascript +const tmp = require('tmp'); + +const name = tmp.tmpNameSync(); +console.log('Created temporary filename: ', name); +``` + +## Advanced usage + +### Asynchronous file creation + +Creates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`. + +```javascript +const tmp = require('tmp'); + +tmp.file({ mode: 0o644, prefix: 'prefix-', postfix: '.txt' }, function _tempFileCreated(err, path, fd) { + if (err) throw err; + + console.log('File: ', path); + console.log('Filedescriptor: ', fd); +}); +``` + +### Synchronous file creation + +A synchronous version of the above. + +```javascript +const tmp = require('tmp'); + +const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'prefix-', postfix: '.txt' }); +console.log('File: ', tmpobj.name); +console.log('Filedescriptor: ', tmpobj.fd); +``` + +### Controlling the Descriptor + +As a side effect of creating a unique file `tmp` gets a file descriptor that is +returned to the user as the `fd` parameter. The descriptor may be used by the +application and is closed when the `removeCallback` is invoked. + +In some use cases the application does not need the descriptor, needs to close it +without removing the file, or needs to remove the file without closing the +descriptor. Two options control how the descriptor is managed: + +* `discardDescriptor` - if `true` causes `tmp` to close the descriptor after the file + is created. In this case the `fd` parameter is undefined. +* `detachDescriptor` - if `true` causes `tmp` to return the descriptor in the `fd` + parameter, but it is the application's responsibility to close it when it is no + longer needed. + +```javascript +const tmp = require('tmp'); + +tmp.file({ discardDescriptor: true }, function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + // fd will be undefined, allowing application to use fs.createReadStream(path) + // without holding an unused descriptor open. +}); +``` + +```javascript +const tmp = require('tmp'); + +tmp.file({ detachDescriptor: true }, function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + + cleanupCallback(); + // Application can store data through fd here; the space used will automatically + // be reclaimed by the operating system when the descriptor is closed or program + // terminates. +}); +``` + +### Asynchronous directory creation + +Creates a directory with mode `0755`, prefix will be `myTmpDir_`. + +```javascript +const tmp = require('tmp'); + +tmp.dir({ mode: 0o750, prefix: 'myTmpDir_' }, function _tempDirCreated(err, path) { + if (err) throw err; + + console.log('Dir: ', path); +}); +``` + +### Synchronous directory creation + +Again, a synchronous version of the above. + +```javascript +const tmp = require('tmp'); + +const tmpobj = tmp.dirSync({ mode: 0750, prefix: 'myTmpDir_' }); +console.log('Dir: ', tmpobj.name); +``` + +### mkstemp like, asynchronously + +Creates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`. + +IMPORTANT NOTE: template no longer accepts a path. Use the dir option instead if you +require tmp to create your temporary filesystem object in a different place than the +default `tmp.tmpdir`. + +```javascript +const tmp = require('tmp'); + +tmp.dir({ template: 'tmp-XXXXXX' }, function _tempDirCreated(err, path) { + if (err) throw err; + + console.log('Dir: ', path); +}); +``` + +### mkstemp like, synchronously + +This will behave similarly to the asynchronous version. + +```javascript +const tmp = require('tmp'); + +const tmpobj = tmp.dirSync({ template: 'tmp-XXXXXX' }); +console.log('Dir: ', tmpobj.name); +``` + +### Asynchronous filename generation + +Using `tmpName()` you can create temporary file names asynchronously. +The function accepts all standard options, e.g. `prefix`, `postfix`, `dir`, and so on. + +You can also leave out the options altogether and just call the function with a callback as first parameter. + +```javascript +const tmp = require('tmp'); + +const options = {}; + +tmp.tmpName(options, function _tempNameGenerated(err, path) { + if (err) throw err; + + console.log('Created temporary filename: ', path); +}); +``` + +### Synchronous filename generation + +The `tmpNameSync()` function works similarly to `tmpName()`. +Again, you can leave out the options altogether and just invoke the function without any parameters. + +```javascript +const tmp = require('tmp'); +const options = {}; +const tmpname = tmp.tmpNameSync(options); +console.log('Created temporary filename: ', tmpname); +``` + +## Graceful cleanup + +If graceful cleanup is set, tmp will remove all controlled temporary objects on process exit, otherwise the +temporary objects will remain in place, waiting to be cleaned up on system restart or otherwise scheduled temporary +object removal. + +To enforce this, you can call the `setGracefulCleanup()` method: + +```javascript +const tmp = require('tmp'); + +tmp.setGracefulCleanup(); +``` + +## Options + +All options are optional :) + + * `name`: a fixed name that overrides random name generation, the name must be relative and must not contain path segments + * `mode`: the file mode to create with, falls back to `0o600` on file creation and `0o700` on directory creation + * `prefix`: the optional prefix, defaults to `tmp` + * `postfix`: the optional postfix + * `template`: [`mkstemp`][3] like filename template, no default, can be either an absolute or a relative path that resolves + to a relative path of the system's default temporary directory, must include `XXXXXX` once for random name generation, e.g. + 'foo/bar/XXXXXX'. Absolute paths are also fine as long as they are relative to os.tmpdir(). + Any directories along the so specified path must exist, otherwise a ENOENT error will be thrown upon access, + as tmp will not check the availability of the path, nor will it establish the requested path for you. + * `dir`: the optional temporary directory that must be relative to the system's default temporary directory. + absolute paths are fine as long as they point to a location under the system's default temporary directory. + Any directories along the so specified path must exist, otherwise a ENOENT error will be thrown upon access, + as tmp will not check the availability of the path, nor will it establish the requested path for you. + * `tmpdir`: allows you to override the system's root tmp directory + * `tries`: how many times should the function try to get a unique filename before giving up, default `3` + * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false` + * In order to clean up, you will have to call the provided `cleanupCallback` function manually. + * `unsafeCleanup`: recursively removes the created temporary directory, even when it's not empty. default is `false` + * `detachDescriptor`: detaches the file descriptor, caller is responsible for closing the file, tmp will no longer try closing the file during garbage collection + * `discardDescriptor`: discards the file descriptor (closes file, fd is -1), tmp will no longer try closing the file during garbage collection + +[1]: http://nodejs.org/ +[2]: https://www.npmjs.com/browse/depended/tmp +[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html +[4]: https://raszi.github.io/node-tmp/ +[5]: https://github.com/benjamingr/tmp-promise diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/tmp/lib/tmp.js b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/lib/tmp.js new file mode 100644 index 00000000..b41c29d4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/lib/tmp.js @@ -0,0 +1,780 @@ +/*! + * Tmp + * + * Copyright (c) 2011-2017 KARASZI Istvan + * + * MIT Licensed + */ + +/* + * Module dependencies. + */ +const fs = require('fs'); +const os = require('os'); +const path = require('path'); +const crypto = require('crypto'); +const _c = { fs: fs.constants, os: os.constants }; +const rimraf = require('rimraf'); + +/* + * The working inner variables. + */ +const + // the random characters to choose from + RANDOM_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', + + TEMPLATE_PATTERN = /XXXXXX/, + + DEFAULT_TRIES = 3, + + CREATE_FLAGS = (_c.O_CREAT || _c.fs.O_CREAT) | (_c.O_EXCL || _c.fs.O_EXCL) | (_c.O_RDWR || _c.fs.O_RDWR), + + // constants are off on the windows platform and will not match the actual errno codes + IS_WIN32 = os.platform() === 'win32', + EBADF = _c.EBADF || _c.os.errno.EBADF, + ENOENT = _c.ENOENT || _c.os.errno.ENOENT, + + DIR_MODE = 0o700 /* 448 */, + FILE_MODE = 0o600 /* 384 */, + + EXIT = 'exit', + + // this will hold the objects need to be removed on exit + _removeObjects = [], + + // API change in fs.rmdirSync leads to error when passing in a second parameter, e.g. the callback + FN_RMDIR_SYNC = fs.rmdirSync.bind(fs), + FN_RIMRAF_SYNC = rimraf.sync; + +let + _gracefulCleanup = false; + +/** + * Gets a temporary file name. + * + * @param {(Options|tmpNameCallback)} options options or callback + * @param {?tmpNameCallback} callback the callback function + */ +function tmpName(options, callback) { + const + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1]; + + try { + _assertAndSanitizeOptions(opts); + } catch (err) { + return cb(err); + } + + let tries = opts.tries; + (function _getUniqueName() { + try { + const name = _generateTmpName(opts); + + // check whether the path exists then retry if needed + fs.stat(name, function (err) { + /* istanbul ignore else */ + if (!err) { + /* istanbul ignore else */ + if (tries-- > 0) return _getUniqueName(); + + return cb(new Error('Could not get a unique tmp filename, max tries reached ' + name)); + } + + cb(null, name); + }); + } catch (err) { + cb(err); + } + }()); +} + +/** + * Synchronous version of tmpName. + * + * @param {Object} options + * @returns {string} the generated random name + * @throws {Error} if the options are invalid or could not generate a filename + */ +function tmpNameSync(options) { + const + args = _parseArguments(options), + opts = args[0]; + + _assertAndSanitizeOptions(opts); + + let tries = opts.tries; + do { + const name = _generateTmpName(opts); + try { + fs.statSync(name); + } catch (e) { + return name; + } + } while (tries-- > 0); + + throw new Error('Could not get a unique tmp filename, max tries reached'); +} + +/** + * Creates and opens a temporary file. + * + * @param {(Options|null|undefined|fileCallback)} options the config options or the callback function or null or undefined + * @param {?fileCallback} callback + */ +function file(options, callback) { + const + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1]; + + // gets a temporary filename + tmpName(opts, function _tmpNameCreated(err, name) { + /* istanbul ignore else */ + if (err) return cb(err); + + // create and open the file + fs.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err, fd) { + /* istanbu ignore else */ + if (err) return cb(err); + + if (opts.discardDescriptor) { + return fs.close(fd, function _discardCallback(possibleErr) { + // the chance of getting an error on close here is rather low and might occur in the most edgiest cases only + return cb(possibleErr, name, undefined, _prepareTmpFileRemoveCallback(name, -1, opts, false)); + }); + } else { + // detachDescriptor passes the descriptor whereas discardDescriptor closes it, either way, we no longer care + // about the descriptor + const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor; + cb(null, name, fd, _prepareTmpFileRemoveCallback(name, discardOrDetachDescriptor ? -1 : fd, opts, false)); + } + }); + }); +} + +/** + * Synchronous version of file. + * + * @param {Options} options + * @returns {FileSyncObject} object consists of name, fd and removeCallback + * @throws {Error} if cannot create a file + */ +function fileSync(options) { + const + args = _parseArguments(options), + opts = args[0]; + + const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor; + const name = tmpNameSync(opts); + var fd = fs.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE); + /* istanbul ignore else */ + if (opts.discardDescriptor) { + fs.closeSync(fd); + fd = undefined; + } + + return { + name: name, + fd: fd, + removeCallback: _prepareTmpFileRemoveCallback(name, discardOrDetachDescriptor ? -1 : fd, opts, true) + }; +} + +/** + * Creates a temporary directory. + * + * @param {(Options|dirCallback)} options the options or the callback function + * @param {?dirCallback} callback + */ +function dir(options, callback) { + const + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1]; + + // gets a temporary filename + tmpName(opts, function _tmpNameCreated(err, name) { + /* istanbul ignore else */ + if (err) return cb(err); + + // create the directory + fs.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err) { + /* istanbul ignore else */ + if (err) return cb(err); + + cb(null, name, _prepareTmpDirRemoveCallback(name, opts, false)); + }); + }); +} + +/** + * Synchronous version of dir. + * + * @param {Options} options + * @returns {DirSyncObject} object consists of name and removeCallback + * @throws {Error} if it cannot create a directory + */ +function dirSync(options) { + const + args = _parseArguments(options), + opts = args[0]; + + const name = tmpNameSync(opts); + fs.mkdirSync(name, opts.mode || DIR_MODE); + + return { + name: name, + removeCallback: _prepareTmpDirRemoveCallback(name, opts, true) + }; +} + +/** + * Removes files asynchronously. + * + * @param {Object} fdPath + * @param {Function} next + * @private + */ +function _removeFileAsync(fdPath, next) { + const _handler = function (err) { + if (err && !_isENOENT(err)) { + // reraise any unanticipated error + return next(err); + } + next(); + }; + + if (0 <= fdPath[0]) + fs.close(fdPath[0], function () { + fs.unlink(fdPath[1], _handler); + }); + else fs.unlink(fdPath[1], _handler); +} + +/** + * Removes files synchronously. + * + * @param {Object} fdPath + * @private + */ +function _removeFileSync(fdPath) { + let rethrownException = null; + try { + if (0 <= fdPath[0]) fs.closeSync(fdPath[0]); + } catch (e) { + // reraise any unanticipated error + if (!_isEBADF(e) && !_isENOENT(e)) throw e; + } finally { + try { + fs.unlinkSync(fdPath[1]); + } + catch (e) { + // reraise any unanticipated error + if (!_isENOENT(e)) rethrownException = e; + } + } + if (rethrownException !== null) { + throw rethrownException; + } +} + +/** + * Prepares the callback for removal of the temporary file. + * + * Returns either a sync callback or a async callback depending on whether + * fileSync or file was called, which is expressed by the sync parameter. + * + * @param {string} name the path of the file + * @param {number} fd file descriptor + * @param {Object} opts + * @param {boolean} sync + * @returns {fileCallback | fileCallbackSync} + * @private + */ +function _prepareTmpFileRemoveCallback(name, fd, opts, sync) { + const removeCallbackSync = _prepareRemoveCallback(_removeFileSync, [fd, name], sync); + const removeCallback = _prepareRemoveCallback(_removeFileAsync, [fd, name], sync, removeCallbackSync); + + if (!opts.keep) _removeObjects.unshift(removeCallbackSync); + + return sync ? removeCallbackSync : removeCallback; +} + +/** + * Prepares the callback for removal of the temporary directory. + * + * Returns either a sync callback or a async callback depending on whether + * tmpFileSync or tmpFile was called, which is expressed by the sync parameter. + * + * @param {string} name + * @param {Object} opts + * @param {boolean} sync + * @returns {Function} the callback + * @private + */ +function _prepareTmpDirRemoveCallback(name, opts, sync) { + const removeFunction = opts.unsafeCleanup ? rimraf : fs.rmdir.bind(fs); + const removeFunctionSync = opts.unsafeCleanup ? FN_RIMRAF_SYNC : FN_RMDIR_SYNC; + const removeCallbackSync = _prepareRemoveCallback(removeFunctionSync, name, sync); + const removeCallback = _prepareRemoveCallback(removeFunction, name, sync, removeCallbackSync); + if (!opts.keep) _removeObjects.unshift(removeCallbackSync); + + return sync ? removeCallbackSync : removeCallback; +} + +/** + * Creates a guarded function wrapping the removeFunction call. + * + * The cleanup callback is save to be called multiple times. + * Subsequent invocations will be ignored. + * + * @param {Function} removeFunction + * @param {string} fileOrDirName + * @param {boolean} sync + * @param {cleanupCallbackSync?} cleanupCallbackSync + * @returns {cleanupCallback | cleanupCallbackSync} + * @private + */ +function _prepareRemoveCallback(removeFunction, fileOrDirName, sync, cleanupCallbackSync) { + let called = false; + + // if sync is true, the next parameter will be ignored + return function _cleanupCallback(next) { + + /* istanbul ignore else */ + if (!called) { + // remove cleanupCallback from cache + const toRemove = cleanupCallbackSync || _cleanupCallback; + const index = _removeObjects.indexOf(toRemove); + /* istanbul ignore else */ + if (index >= 0) _removeObjects.splice(index, 1); + + called = true; + if (sync || removeFunction === FN_RMDIR_SYNC || removeFunction === FN_RIMRAF_SYNC) { + return removeFunction(fileOrDirName); + } else { + return removeFunction(fileOrDirName, next || function() {}); + } + } + }; +} + +/** + * The garbage collector. + * + * @private + */ +function _garbageCollector() { + /* istanbul ignore else */ + if (!_gracefulCleanup) return; + + // the function being called removes itself from _removeObjects, + // loop until _removeObjects is empty + while (_removeObjects.length) { + try { + _removeObjects[0](); + } catch (e) { + // already removed? + } + } +} + +/** + * Random name generator based on crypto. + * Adapted from http://blog.tompawlak.org/how-to-generate-random-values-nodejs-javascript + * + * @param {number} howMany + * @returns {string} the generated random name + * @private + */ +function _randomChars(howMany) { + let + value = [], + rnd = null; + + // make sure that we do not fail because we ran out of entropy + try { + rnd = crypto.randomBytes(howMany); + } catch (e) { + rnd = crypto.pseudoRandomBytes(howMany); + } + + for (var i = 0; i < howMany; i++) { + value.push(RANDOM_CHARS[rnd[i] % RANDOM_CHARS.length]); + } + + return value.join(''); +} + +/** + * Helper which determines whether a string s is blank, that is undefined, or empty or null. + * + * @private + * @param {string} s + * @returns {Boolean} true whether the string s is blank, false otherwise + */ +function _isBlank(s) { + return s === null || _isUndefined(s) || !s.trim(); +} + +/** + * Checks whether the `obj` parameter is defined or not. + * + * @param {Object} obj + * @returns {boolean} true if the object is undefined + * @private + */ +function _isUndefined(obj) { + return typeof obj === 'undefined'; +} + +/** + * Parses the function arguments. + * + * This function helps to have optional arguments. + * + * @param {(Options|null|undefined|Function)} options + * @param {?Function} callback + * @returns {Array} parsed arguments + * @private + */ +function _parseArguments(options, callback) { + /* istanbul ignore else */ + if (typeof options === 'function') { + return [{}, options]; + } + + /* istanbul ignore else */ + if (_isUndefined(options)) { + return [{}, callback]; + } + + // copy options so we do not leak the changes we make internally + const actualOptions = {}; + for (const key of Object.getOwnPropertyNames(options)) { + actualOptions[key] = options[key]; + } + + return [actualOptions, callback]; +} + +/** + * Generates a new temporary name. + * + * @param {Object} opts + * @returns {string} the new random name according to opts + * @private + */ +function _generateTmpName(opts) { + + const tmpDir = opts.tmpdir; + + /* istanbul ignore else */ + if (!_isUndefined(opts.name)) + return path.join(tmpDir, opts.dir, opts.name); + + /* istanbul ignore else */ + if (!_isUndefined(opts.template)) + return path.join(tmpDir, opts.dir, opts.template).replace(TEMPLATE_PATTERN, _randomChars(6)); + + // prefix and postfix + const name = [ + opts.prefix ? opts.prefix : 'tmp', + '-', + process.pid, + '-', + _randomChars(12), + opts.postfix ? '-' + opts.postfix : '' + ].join(''); + + return path.join(tmpDir, opts.dir, name); +} + +/** + * Asserts whether the specified options are valid, also sanitizes options and provides sane defaults for missing + * options. + * + * @param {Options} options + * @private + */ +function _assertAndSanitizeOptions(options) { + + options.tmpdir = _getTmpDir(options); + + const tmpDir = options.tmpdir; + + /* istanbul ignore else */ + if (!_isUndefined(options.name)) + _assertIsRelative(options.name, 'name', tmpDir); + /* istanbul ignore else */ + if (!_isUndefined(options.dir)) + _assertIsRelative(options.dir, 'dir', tmpDir); + /* istanbul ignore else */ + if (!_isUndefined(options.template)) { + _assertIsRelative(options.template, 'template', tmpDir); + if (!options.template.match(TEMPLATE_PATTERN)) + throw new Error(`Invalid template, found "${options.template}".`); + } + /* istanbul ignore else */ + if (!_isUndefined(options.tries) && isNaN(options.tries) || options.tries < 0) + throw new Error(`Invalid tries, found "${options.tries}".`); + + // if a name was specified we will try once + options.tries = _isUndefined(options.name) ? options.tries || DEFAULT_TRIES : 1; + options.keep = !!options.keep; + options.detachDescriptor = !!options.detachDescriptor; + options.discardDescriptor = !!options.discardDescriptor; + options.unsafeCleanup = !!options.unsafeCleanup; + + // sanitize dir, also keep (multiple) blanks if the user, purportedly sane, requests us to + options.dir = _isUndefined(options.dir) ? '' : path.relative(tmpDir, _resolvePath(options.dir, tmpDir)); + options.template = _isUndefined(options.template) ? undefined : path.relative(tmpDir, _resolvePath(options.template, tmpDir)); + // sanitize further if template is relative to options.dir + options.template = _isBlank(options.template) ? undefined : path.relative(options.dir, options.template); + + // for completeness' sake only, also keep (multiple) blanks if the user, purportedly sane, requests us to + options.name = _isUndefined(options.name) ? undefined : _sanitizeName(options.name); + options.prefix = _isUndefined(options.prefix) ? '' : options.prefix; + options.postfix = _isUndefined(options.postfix) ? '' : options.postfix; +} + +/** + * Resolve the specified path name in respect to tmpDir. + * + * The specified name might include relative path components, e.g. ../ + * so we need to resolve in order to be sure that is is located inside tmpDir + * + * @param name + * @param tmpDir + * @returns {string} + * @private + */ +function _resolvePath(name, tmpDir) { + const sanitizedName = _sanitizeName(name); + if (sanitizedName.startsWith(tmpDir)) { + return path.resolve(sanitizedName); + } else { + return path.resolve(path.join(tmpDir, sanitizedName)); + } +} + +/** + * Sanitize the specified path name by removing all quote characters. + * + * @param name + * @returns {string} + * @private + */ +function _sanitizeName(name) { + if (_isBlank(name)) { + return name; + } + return name.replace(/["']/g, ''); +} + +/** + * Asserts whether specified name is relative to the specified tmpDir. + * + * @param {string} name + * @param {string} option + * @param {string} tmpDir + * @throws {Error} + * @private + */ +function _assertIsRelative(name, option, tmpDir) { + if (option === 'name') { + // assert that name is not absolute and does not contain a path + if (path.isAbsolute(name)) + throw new Error(`${option} option must not contain an absolute path, found "${name}".`); + // must not fail on valid . or .. or similar such constructs + let basename = path.basename(name); + if (basename === '..' || basename === '.' || basename !== name) + throw new Error(`${option} option must not contain a path, found "${name}".`); + } + else { // if (option === 'dir' || option === 'template') { + // assert that dir or template are relative to tmpDir + if (path.isAbsolute(name) && !name.startsWith(tmpDir)) { + throw new Error(`${option} option must be relative to "${tmpDir}", found "${name}".`); + } + let resolvedPath = _resolvePath(name, tmpDir); + if (!resolvedPath.startsWith(tmpDir)) + throw new Error(`${option} option must be relative to "${tmpDir}", found "${resolvedPath}".`); + } +} + +/** + * Helper for testing against EBADF to compensate changes made to Node 7.x under Windows. + * + * @private + */ +function _isEBADF(error) { + return _isExpectedError(error, -EBADF, 'EBADF'); +} + +/** + * Helper for testing against ENOENT to compensate changes made to Node 7.x under Windows. + * + * @private + */ +function _isENOENT(error) { + return _isExpectedError(error, -ENOENT, 'ENOENT'); +} + +/** + * Helper to determine whether the expected error code matches the actual code and errno, + * which will differ between the supported node versions. + * + * - Node >= 7.0: + * error.code {string} + * error.errno {number} any numerical value will be negated + * + * CAVEAT + * + * On windows, the errno for EBADF is -4083 but os.constants.errno.EBADF is different and we must assume that ENOENT + * is no different here. + * + * @param {SystemError} error + * @param {number} errno + * @param {string} code + * @private + */ +function _isExpectedError(error, errno, code) { + return IS_WIN32 ? error.code === code : error.code === code && error.errno === errno; +} + +/** + * Sets the graceful cleanup. + * + * If graceful cleanup is set, tmp will remove all controlled temporary objects on process exit, otherwise the + * temporary objects will remain in place, waiting to be cleaned up on system restart or otherwise scheduled temporary + * object removals. + */ +function setGracefulCleanup() { + _gracefulCleanup = true; +} + +/** + * Returns the currently configured tmp dir from os.tmpdir(). + * + * @private + * @param {?Options} options + * @returns {string} the currently configured tmp dir + */ +function _getTmpDir(options) { + return path.resolve(_sanitizeName(options && options.tmpdir || os.tmpdir())); +} + +// Install process exit listener +process.addListener(EXIT, _garbageCollector); + +/** + * Configuration options. + * + * @typedef {Object} Options + * @property {?boolean} keep the temporary object (file or dir) will not be garbage collected + * @property {?number} tries the number of tries before give up the name generation + * @property (?int) mode the access mode, defaults are 0o700 for directories and 0o600 for files + * @property {?string} template the "mkstemp" like filename template + * @property {?string} name fixed name relative to tmpdir or the specified dir option + * @property {?string} dir tmp directory relative to the root tmp directory in use + * @property {?string} prefix prefix for the generated name + * @property {?string} postfix postfix for the generated name + * @property {?string} tmpdir the root tmp directory which overrides the os tmpdir + * @property {?boolean} unsafeCleanup recursively removes the created temporary directory, even when it's not empty + * @property {?boolean} detachDescriptor detaches the file descriptor, caller is responsible for closing the file, tmp will no longer try closing the file during garbage collection + * @property {?boolean} discardDescriptor discards the file descriptor (closes file, fd is -1), tmp will no longer try closing the file during garbage collection + */ + +/** + * @typedef {Object} FileSyncObject + * @property {string} name the name of the file + * @property {string} fd the file descriptor or -1 if the fd has been discarded + * @property {fileCallback} removeCallback the callback function to remove the file + */ + +/** + * @typedef {Object} DirSyncObject + * @property {string} name the name of the directory + * @property {fileCallback} removeCallback the callback function to remove the directory + */ + +/** + * @callback tmpNameCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + */ + +/** + * @callback fileCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {number} fd the file descriptor or -1 if the fd had been discarded + * @param {cleanupCallback} fn the cleanup callback function + */ + +/** + * @callback fileCallbackSync + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {number} fd the file descriptor or -1 if the fd had been discarded + * @param {cleanupCallbackSync} fn the cleanup callback function + */ + +/** + * @callback dirCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {cleanupCallback} fn the cleanup callback function + */ + +/** + * @callback dirCallbackSync + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {cleanupCallbackSync} fn the cleanup callback function + */ + +/** + * Removes the temporary created file or directory. + * + * @callback cleanupCallback + * @param {simpleCallback} [next] function to call whenever the tmp object needs to be removed + */ + +/** + * Removes the temporary created file or directory. + * + * @callback cleanupCallbackSync + */ + +/** + * Callback function for function composition. + * @see {@link https://github.com/raszi/node-tmp/issues/57|raszi/node-tmp#57} + * + * @callback simpleCallback + */ + +// exporting all the needed methods + +// evaluate _getTmpDir() lazily, mainly for simplifying testing but it also will +// allow users to reconfigure the temporary directory +Object.defineProperty(module.exports, 'tmpdir', { + enumerable: true, + configurable: false, + get: function () { + return _getTmpDir(); + } +}); + +module.exports.dir = dir; +module.exports.dirSync = dirSync; + +module.exports.file = file; +module.exports.fileSync = fileSync; + +module.exports.tmpName = tmpName; +module.exports.tmpNameSync = tmpNameSync; + +module.exports.setGracefulCleanup = setGracefulCleanup; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/tmp/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/package.json new file mode 100644 index 00000000..d98a9108 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/tmp/package.json @@ -0,0 +1,58 @@ +{ + "name": "tmp", + "version": "0.2.1", + "description": "Temporary file and directory creator", + "author": "KARASZI István (http://raszi.hu/)", + "contributors": [ + "Carsten Klein (https://github.com/silkentrance)" + ], + "keywords": [ + "temporary", + "tmp", + "temp", + "tempdir", + "tempfile", + "tmpdir", + "tmpfile" + ], + "license": "MIT", + "repository": "https://github.com/raszi/node-tmp.git", + "homepage": "http://github.com/raszi/node-tmp", + "bugs": { + "url": "http://github.com/raszi/node-tmp/issues" + }, + "engines": { + "node": ">=8.17.0" + }, + "dependencies": { + "rimraf": "^3.0.0" + }, + "devDependencies": { + "eslint": "^6.3.0", + "eslint-plugin-mocha": "^6.1.1", + "istanbul": "^0.4.5", + "lerna-changelog": "^1.0.1", + "mocha": "^6.2.0" + }, + "main": "lib/tmp.js", + "files": [ + "lib/" + ], + "changelog": { + "labels": { + "breaking": ":boom: Breaking Change", + "enhancement": ":rocket: Enhancement", + "bug": ":bug: Bug Fix", + "documentation": ":memo: Documentation", + "internal": ":house: Internal" + }, + "cacheDir": ".changelog" + }, + "scripts": { + "changelog": "lerna-changelog", + "lint": "eslint lib --env mocha test", + "clean": "rm -Rf ./coverage", + "test": "npm run clean && istanbul cover ./node_modules/mocha/bin/_mocha --report none --print none --dir ./coverage/json -u exports -R test/*-test.js && istanbul report --root ./coverage/json html && istanbul report text-summary", + "doc": "jsdoc -c .jsdoc.json" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/CHANGELOG.md b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/CHANGELOG.md new file mode 100644 index 00000000..974a9690 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/CHANGELOG.md @@ -0,0 +1,52 @@ +1.0.6 / 2019-01-31 +------------------ + +- Unicode update to 10.0.0. +- Fixed `Z` content (added missed line and paragraph seperators), #10. + + +1.0.5 / 2018-01-26 +------------------ + +- Remove outdated license info from readme (missed in previous update). + + +1.0.4 / 2018-01-26 +------------------ + +- Unicode update to 10.0.0. +- Clarified license, should be MIT, #6. + + +1.0.3 / 2016-09-14 +------------------ + +- Unicode update to 9.0.0. +- Rewrite update script (use npm instead of Makefile). +- Added integrity tests. + + +1.0.2 / 2015-06-24 +------------------ + +- License info clarify, #3. + + +1.0.1 / 2015-05-30 +------------------ + +- Update to Unicode 8.+. +- Also automatically fix possible ReDOS in `Any`, if source used to generate + patterns like `(Any)+`. + + +1.0.0 / 2015-03-10 +------------------ + +- Export all in index.js. + + +0.1.0 / 2015-02-22 +------------------ + +- First release. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/LICENSE.txt b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/LICENSE.txt new file mode 100644 index 00000000..a41e0a7e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/README.md new file mode 100644 index 00000000..3c555ea7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/README.md @@ -0,0 +1,14 @@ +# uc.micro + +[![Build Status](https://img.shields.io/travis/markdown-it/uc.micro/master.svg?style=flat)](https://travis-ci.org/markdown-it/uc.micro) +[![NPM version](https://img.shields.io/npm/v/uc.micro.svg?style=flat)](https://www.npmjs.org/package/uc.micro) + +> Micro subset of unicode data files for [markdown-it](https://github.com/markdown-it) projects. + +Content of this repo is autogenerated from `unicode-` package, +maintained by [Mathias Bynens](https://github.com/mathiasbynens). + +That's just a proxy to reduce dependencies/install size. + +**This package content is ONLY for [markdown-it](https://github.com/markdown-it) +projects needs. Don't ask to extend it!** diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cc/regex.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cc/regex.js new file mode 100644 index 00000000..99be991f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cc/regex.js @@ -0,0 +1 @@ +module.exports=/[\0-\x1F\x7F-\x9F]/ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cf/regex.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cf/regex.js new file mode 100644 index 00000000..e89eff62 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Cf/regex.js @@ -0,0 +1 @@ +module.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/P/regex.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/P/regex.js new file mode 100644 index 00000000..7e18fa73 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/P/regex.js @@ -0,0 +1 @@ +module.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Z/regex.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Z/regex.js new file mode 100644 index 00000000..76976a4d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/categories/Z/regex.js @@ -0,0 +1 @@ +module.exports=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/index.js new file mode 100644 index 00000000..03b6d4ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/index.js @@ -0,0 +1,7 @@ +'use strict'; + +exports.Any = require('./properties/Any/regex'); +exports.Cc = require('./categories/Cc/regex'); +exports.Cf = require('./categories/Cf/regex'); +exports.P = require('./categories/P/regex'); +exports.Z = require('./categories/Z/regex'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/package.json new file mode 100644 index 00000000..798e4bba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/package.json @@ -0,0 +1,21 @@ +{ + "name": "uc.micro", + "version": "1.0.6", + "description": "Micro subset of unicode data files for markdown-it projects.", + "repository": "markdown-it/uc.micro", + "license": "MIT", + "files": [ + "categories/", + "properties/", + "index.js" + ], + "scripts": { + "test": "mocha", + "update": "node update.js && npm test" + }, + "devDependencies": { + "mocha": "^5.0.0", + "shelljs": "^0.8.1", + "unicode-11.0.0": "^0.7.8" + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/properties/Any/regex.js b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/properties/Any/regex.js new file mode 100644 index 00000000..22afa15a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/uc.micro/properties/Any/regex.js @@ -0,0 +1 @@ +module.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/ \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/LICENSE new file mode 100644 index 00000000..12a7f05a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/README.md new file mode 100644 index 00000000..9beae505 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/README.md @@ -0,0 +1,34 @@ + __ + /\ \ __ + __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ + /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ + \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ + \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ + \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ + \ \____/ + \/___/ + +Underscore.js is a utility-belt library for JavaScript that provides +support for the usual functional suspects (each, map, reduce, filter...) +without extending any core JavaScript objects. + +For Docs, License, Tests, and pre-packed downloads, see: +https://underscorejs.org + +For support and questions, please consult +our [security policy](SECURITY.md), +[the gitter channel](https://gitter.im/jashkenas/underscore) +or [stackoverflow](https://stackoverflow.com/search?q=underscore.js) + +Underscore is an open-sourced component of DocumentCloud: +https://github.com/documentcloud + +Many thanks to our contributors: +https://github.com/jashkenas/underscore/contributors + +You can support the project by donating on +[Patreon](https://patreon.com/juliangonggrijp). +Enterprise coverage is available as part of the +[Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-underscore?utm_source=npm-underscore&utm_medium=referral&utm_campaign=enterprise). + +This project adheres to a [code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseCreate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseCreate.js new file mode 100644 index 00000000..34ae6def --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseCreate.js @@ -0,0 +1,21 @@ +define(['./isObject', './_setup'], function (isObject, _setup) { + + // Create a naked function reference for surrogate-prototype-swapping. + function ctor() { + return function(){}; + } + + // An internal function for creating a new object that inherits from another. + function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (_setup.nativeCreate) return _setup.nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + } + + return baseCreate; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseIteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseIteratee.js new file mode 100644 index 00000000..6579215b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_baseIteratee.js @@ -0,0 +1,15 @@ +define(['./identity', './isFunction', './isObject', './isArray', './matcher', './property', './_optimizeCb'], function (identity, isFunction, isObject, isArray, matcher, property, _optimizeCb) { + + // An internal function to generate callbacks that can be applied to each + // element in a collection, returning the desired result — either `_.identity`, + // an arbitrary callback, a property matcher, or a property accessor. + function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction(value)) return _optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); + } + + return baseIteratee; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_cb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_cb.js new file mode 100644 index 00000000..6544623b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_cb.js @@ -0,0 +1,12 @@ +define(['./underscore', './_baseIteratee', './iteratee'], function (underscore, _baseIteratee, iteratee) { + + // The function we call internally to generate a callback. It invokes + // `_.iteratee` if overridden, otherwise `baseIteratee`. + function cb(value, context, argCount) { + if (underscore.iteratee !== iteratee) return underscore.iteratee(value, context); + return _baseIteratee(value, context, argCount); + } + + return cb; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_chainResult.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_chainResult.js new file mode 100644 index 00000000..f9e3002d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_chainResult.js @@ -0,0 +1,10 @@ +define(['./underscore'], function (underscore) { + + // Helper function to continue chaining intermediate results. + function chainResult(instance, obj) { + return instance._chain ? underscore(obj).chain() : obj; + } + + return chainResult; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_collectNonEnumProps.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_collectNonEnumProps.js new file mode 100644 index 00000000..cb8af807 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_collectNonEnumProps.js @@ -0,0 +1,42 @@ +define(['./_setup', './isFunction', './_has'], function (_setup, isFunction, _has) { + + // Internal helper to create a simple lookup structure. + // `collectNonEnumProps` used to depend on `_.contains`, but this led to + // circular imports. `emulatedSet` is a one-off solution that only works for + // arrays of strings. + function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; + } + + // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't + // be iterated by `for key in ...` and thus missed. Extends `keys` in place if + // needed. + function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = _setup.nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction(constructor) && constructor.prototype) || _setup.ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (_has(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = _setup.nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } + } + + return collectNonEnumProps; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createAssigner.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createAssigner.js new file mode 100644 index 00000000..deb5902d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createAssigner.js @@ -0,0 +1,24 @@ +define(function () { + + // An internal function for creating assigner functions. + function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + } + + return createAssigner; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createEscaper.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createEscaper.js new file mode 100644 index 00000000..385ad84e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createEscaper.js @@ -0,0 +1,21 @@ +define(['./keys'], function (keys) { + + // Internal helper to generate functions for escaping and unescaping strings + // to/from HTML interpolation. + function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + } + + return createEscaper; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createIndexFinder.js new file mode 100644 index 00000000..400fb05d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createIndexFinder.js @@ -0,0 +1,30 @@ +define(['./_getLength', './_setup', './isNaN'], function (_getLength, _setup, _isNaN) { + + // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = _getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(_setup.slice.call(array, i, length), _isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + return createIndexFinder; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createPredicateIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createPredicateIndexFinder.js new file mode 100644 index 00000000..27635f2e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createPredicateIndexFinder.js @@ -0,0 +1,18 @@ +define(['./_cb', './_getLength'], function (_cb, _getLength) { + + // Internal function to generate `_.findIndex` and `_.findLastIndex`. + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = _cb(predicate, context); + var length = _getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + return createPredicateIndexFinder; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createReduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createReduce.js new file mode 100644 index 00000000..303a6d85 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createReduce.js @@ -0,0 +1,30 @@ +define(['./_isArrayLike', './keys', './_optimizeCb'], function (_isArrayLike, keys, _optimizeCb) { + + // Internal helper to create a reducing function, iterating left or right. + function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, _optimizeCb(iteratee, context, 4), memo, initial); + }; + } + + return createReduce; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createSizePropertyCheck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createSizePropertyCheck.js new file mode 100644 index 00000000..83ce2c43 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_createSizePropertyCheck.js @@ -0,0 +1,13 @@ +define(['./_setup'], function (_setup) { + + // Common internal logic for `isArrayLike` and `isBufferLike`. + function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= _setup.MAX_ARRAY_INDEX; + } + } + + return createSizePropertyCheck; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_deepGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_deepGet.js new file mode 100644 index 00000000..e0751085 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_deepGet.js @@ -0,0 +1,15 @@ +define(function () { + + // Internal function to obtain a nested property in `obj` along `path`. + function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; + } + + return deepGet; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_escapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_escapeMap.js new file mode 100644 index 00000000..584873e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_escapeMap.js @@ -0,0 +1,15 @@ +define(function () { + + // Internal list of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + + return escapeMap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_executeBound.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_executeBound.js new file mode 100644 index 00000000..b3ac1cb9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_executeBound.js @@ -0,0 +1,16 @@ +define(['./_baseCreate', './isObject'], function (_baseCreate, isObject) { + + // Internal function to execute `sourceFunc` bound to `context` with optional + // `args`. Determines whether to execute a function as a constructor or as a + // normal function. + function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = _baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; + } + + return executeBound; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_flatten.js new file mode 100644 index 00000000..26ca34d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_flatten.js @@ -0,0 +1,32 @@ +define(['./_getLength', './_isArrayLike', './isArray', './isArguments'], function (_getLength, _isArrayLike, isArray, isArguments) { + + // Internal implementation of a recursive `flatten` function. + function flatten(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = _getLength(input); i < length; i++) { + var value = input[i]; + if (_isArrayLike(value) && (isArray(value) || isArguments(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + } + + return flatten; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getByteLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getByteLength.js new file mode 100644 index 00000000..c6d9974a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getByteLength.js @@ -0,0 +1,8 @@ +define(['./_shallowProperty'], function (_shallowProperty) { + + // Internal helper to obtain the `byteLength` property of an object. + var getByteLength = _shallowProperty('byteLength'); + + return getByteLength; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getLength.js new file mode 100644 index 00000000..f889b985 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_getLength.js @@ -0,0 +1,8 @@ +define(['./_shallowProperty'], function (_shallowProperty) { + + // Internal helper to obtain the `length` property of an object. + var getLength = _shallowProperty('length'); + + return getLength; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_group.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_group.js new file mode 100644 index 00000000..d9805520 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_group.js @@ -0,0 +1,18 @@ +define(['./_cb', './each'], function (_cb, each) { + + // An internal function used for aggregate "group by" operations. + function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = _cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + } + + return group; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_has.js new file mode 100644 index 00000000..983f0602 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_has.js @@ -0,0 +1,10 @@ +define(['./_setup'], function (_setup) { + + // Internal function to check whether `key` is an own property name of `obj`. + function has(obj, key) { + return obj != null && _setup.hasOwnProperty.call(obj, key); + } + + return has; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_hasObjectTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_hasObjectTag.js new file mode 100644 index 00000000..bb9bee63 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_hasObjectTag.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var hasObjectTag = _tagTester('Object'); + + return hasObjectTag; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isArrayLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isArrayLike.js new file mode 100644 index 00000000..2137c4b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isArrayLike.js @@ -0,0 +1,11 @@ +define(['./_createSizePropertyCheck', './_getLength'], function (_createSizePropertyCheck, _getLength) { + + // Internal helper for collection methods to determine whether a collection + // should be iterated as an array or as an object. + // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var isArrayLike = _createSizePropertyCheck(_getLength); + + return isArrayLike; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isBufferLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isBufferLike.js new file mode 100644 index 00000000..813641d8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_isBufferLike.js @@ -0,0 +1,9 @@ +define(['./_createSizePropertyCheck', './_getByteLength'], function (_createSizePropertyCheck, _getByteLength) { + + // Internal helper to determine whether we should spend extensive checks against + // `ArrayBuffer` et al. + var isBufferLike = _createSizePropertyCheck(_getByteLength); + + return isBufferLike; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_keyInObj.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_keyInObj.js new file mode 100644 index 00000000..ba269d98 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_keyInObj.js @@ -0,0 +1,11 @@ +define(function () { + + // Internal `_.pick` helper function to determine whether `key` is an enumerable + // property name of `obj`. + function keyInObj(value, key, obj) { + return key in obj; + } + + return keyInObj; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_methodFingerprint.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_methodFingerprint.js new file mode 100644 index 00000000..c651f61f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_methodFingerprint.js @@ -0,0 +1,44 @@ +define(['exports', './_getLength', './isFunction', './allKeys'], function (exports, _getLength, isFunction, allKeys) { + + // Since the regular `Object.prototype.toString` type tests don't work for + // some types in IE 11, we use a fingerprinting heuristic instead, based + // on the methods. It's not great, but it's the best we got. + // The fingerprint method lists are defined below. + function ie11fingerprint(methods) { + var length = _getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (_getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction(obj[forEachName]); + }; + } + + // In the interest of compact minification, we write + // each string in the fingerprints only once. + var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + + // `Map`, `WeakMap` and `Set` each have slightly different + // combinations of the above sublists. + var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + + exports.ie11fingerprint = ie11fingerprint; + exports.mapMethods = mapMethods; + exports.setMethods = setMethods; + exports.weakMapMethods = weakMapMethods; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_optimizeCb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_optimizeCb.js new file mode 100644 index 00000000..0ed8c681 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_optimizeCb.js @@ -0,0 +1,27 @@ +define(function () { + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + } + + return optimizeCb; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_setup.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_setup.js new file mode 100644 index 00000000..97581a71 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_setup.js @@ -0,0 +1,70 @@ +define(['exports'], function (exports) { + + // Current version. + var VERSION = '1.13.4'; + + // Establish the root object, `window` (`self`) in the browser, `global` + // on the server, or `this` in some virtual machines. We use `self` + // instead of `window` for `WebWorker` support. + var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // Modern feature detection. + var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + + // All **ECMAScript 5+** native function implementations that we hope to use + // are declared here. + var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + + // Create references to these builtin functions because we override them. + var _isNaN = isNaN, + _isFinite = isFinite; + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + // The largest integer that can be represented exactly. + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + + exports.ArrayProto = ArrayProto; + exports.MAX_ARRAY_INDEX = MAX_ARRAY_INDEX; + exports.ObjProto = ObjProto; + exports.SymbolProto = SymbolProto; + exports.VERSION = VERSION; + exports._isFinite = _isFinite; + exports._isNaN = _isNaN; + exports.hasEnumBug = hasEnumBug; + exports.hasOwnProperty = hasOwnProperty; + exports.nativeCreate = nativeCreate; + exports.nativeIsArray = nativeIsArray; + exports.nativeIsView = nativeIsView; + exports.nativeKeys = nativeKeys; + exports.nonEnumerableProps = nonEnumerableProps; + exports.push = push; + exports.root = root; + exports.slice = slice; + exports.supportsArrayBuffer = supportsArrayBuffer; + exports.supportsDataView = supportsDataView; + exports.toString = toString; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_shallowProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_shallowProperty.js new file mode 100644 index 00000000..e0ca2269 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_shallowProperty.js @@ -0,0 +1,12 @@ +define(function () { + + // Internal helper to generate a function to obtain property `key` from `obj`. + function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + } + + return shallowProperty; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_stringTagBug.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_stringTagBug.js new file mode 100644 index 00000000..c4ec5b1e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_stringTagBug.js @@ -0,0 +1,16 @@ +define(['exports', './_setup', './_hasObjectTag'], function (exports, _setup, _hasObjectTag) { + + // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. + // In IE 11, the most common among them, this problem also applies to + // `Map`, `WeakMap` and `Set`. + var hasStringTagBug = ( + _setup.supportsDataView && _hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && _hasObjectTag(new Map)); + + exports.hasStringTagBug = hasStringTagBug; + exports.isIE11 = isIE11; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_tagTester.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_tagTester.js new file mode 100644 index 00000000..6b1f09eb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_tagTester.js @@ -0,0 +1,13 @@ +define(['./_setup'], function (_setup) { + + // Internal function for creating a `toString`-based type tester. + function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return _setup.toString.call(obj) === tag; + }; + } + + return tagTester; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toBufferView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toBufferView.js new file mode 100644 index 00000000..e9464a32 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toBufferView.js @@ -0,0 +1,15 @@ +define(['./_getByteLength'], function (_getByteLength) { + + // Internal function to wrap or shallow-copy an ArrayBuffer, + // typed array or DataView to a new view, reusing the buffer. + function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + _getByteLength(bufferSource) + ); + } + + return toBufferView; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toPath.js new file mode 100644 index 00000000..e692cfd9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_toPath.js @@ -0,0 +1,11 @@ +define(['./underscore', './toPath'], function (underscore, toPath$1) { + + // Internal wrapper for `_.toPath` to enable minification. + // Similar to `cb` for `_.iteratee`. + function toPath(path) { + return underscore.toPath(path); + } + + return toPath; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_unescapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_unescapeMap.js new file mode 100644 index 00000000..28cf0709 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/_unescapeMap.js @@ -0,0 +1,8 @@ +define(['./invert', './_escapeMap'], function (invert, _escapeMap) { + + // Internal list of HTML entities for unescaping. + var unescapeMap = invert(_escapeMap); + + return unescapeMap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/after.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/after.js new file mode 100644 index 00000000..69b73c69 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/after.js @@ -0,0 +1,14 @@ +define(function () { + + // Returns a function that will only be executed on and after the Nth call. + function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + } + + return after; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/allKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/allKeys.js new file mode 100644 index 00000000..1be84f1c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/allKeys.js @@ -0,0 +1,15 @@ +define(['./isObject', './_setup', './_collectNonEnumProps'], function (isObject, _setup, _collectNonEnumProps) { + + // Retrieve all the enumerable property names of an object. + function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (_setup.hasEnumBug) _collectNonEnumProps(obj, keys); + return keys; + } + + return allKeys; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/before.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/before.js new file mode 100644 index 00000000..bd856c69 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/before.js @@ -0,0 +1,18 @@ +define(function () { + + // Returns a function that will only be executed up to (but not including) the + // Nth call. + function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + } + + return before; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bind.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bind.js new file mode 100644 index 00000000..d41ec562 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bind.js @@ -0,0 +1,15 @@ +define(['./restArguments', './isFunction', './_executeBound'], function (restArguments, isFunction, _executeBound) { + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). + var bind = restArguments(function(func, context, args) { + if (!isFunction(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return _executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + + return bind; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bindAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bindAll.js new file mode 100644 index 00000000..26dcef1e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/bindAll.js @@ -0,0 +1,19 @@ +define(['./restArguments', './_flatten', './bind'], function (restArguments, _flatten, bind) { + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + var bindAll = restArguments(function(obj, keys) { + keys = _flatten(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; + }); + + return bindAll; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chain.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chain.js new file mode 100644 index 00000000..ba42101d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chain.js @@ -0,0 +1,12 @@ +define(['./underscore'], function (underscore) { + + // Start chaining a wrapped Underscore object. + function chain(obj) { + var instance = underscore(obj); + instance._chain = true; + return instance; + } + + return chain; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chunk.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chunk.js new file mode 100644 index 00000000..ed4e0865 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/chunk.js @@ -0,0 +1,17 @@ +define(['./_setup'], function (_setup) { + + // Chunk a single array into multiple arrays, each containing `count` or fewer + // items. + function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(_setup.slice.call(array, i, i += count)); + } + return result; + } + + return chunk; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/clone.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/clone.js new file mode 100644 index 00000000..1a196300 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/clone.js @@ -0,0 +1,11 @@ +define(['./isObject', './isArray', './extend'], function (isObject, isArray, extend) { + + // Create a (shallow-cloned) duplicate of an object. + function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); + } + + return clone; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compact.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compact.js new file mode 100644 index 00000000..202433b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compact.js @@ -0,0 +1,10 @@ +define(['./filter'], function (filter) { + + // Trim out all falsy values from an array. + function compact(array) { + return filter(array, Boolean); + } + + return compact; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compose.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compose.js new file mode 100644 index 00000000..93d8c36e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/compose.js @@ -0,0 +1,18 @@ +define(function () { + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + } + + return compose; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/constant.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/constant.js new file mode 100644 index 00000000..6d3ac2cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/constant.js @@ -0,0 +1,12 @@ +define(function () { + + // Predicate-generating function. Often useful outside of Underscore. + function constant(value) { + return function() { + return value; + }; + } + + return constant; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/contains.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/contains.js new file mode 100644 index 00000000..578b0501 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/contains.js @@ -0,0 +1,12 @@ +define(['./_isArrayLike', './values', './indexOf'], function (_isArrayLike, values, indexOf) { + + // Determine if the array or object contains a given item (using `===`). + function contains(obj, item, fromIndex, guard) { + if (!_isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; + } + + return contains; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/countBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/countBy.js new file mode 100644 index 00000000..0ab64227 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/countBy.js @@ -0,0 +1,12 @@ +define(['./_group', './_has'], function (_group, _has) { + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + var countBy = _group(function(result, value, key) { + if (_has(result, key)) result[key]++; else result[key] = 1; + }); + + return countBy; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/create.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/create.js new file mode 100644 index 00000000..d5e28136 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/create.js @@ -0,0 +1,14 @@ +define(['./_baseCreate', './extendOwn'], function (_baseCreate, extendOwn) { + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + function create(prototype, props) { + var result = _baseCreate(prototype); + if (props) extendOwn(result, props); + return result; + } + + return create; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/debounce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/debounce.js new file mode 100644 index 00000000..1d88168f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/debounce.js @@ -0,0 +1,43 @@ +define(['./restArguments', './now'], function (restArguments, now) { + + // When a sequence of calls of the returned function ends, the argument + // function is triggered. The end of a sequence is defined by the `wait` + // parameter. If `immediate` is passed, the argument function will be + // triggered at the beginning of the sequence instead of at the end. + function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; + } + + return debounce; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defaults.js new file mode 100644 index 00000000..6903faac --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defaults.js @@ -0,0 +1,8 @@ +define(['./_createAssigner', './allKeys'], function (_createAssigner, allKeys) { + + // Fill in a given object with default properties. + var defaults = _createAssigner(allKeys, true); + + return defaults; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defer.js new file mode 100644 index 00000000..ce338a7b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/defer.js @@ -0,0 +1,9 @@ +define(['./partial', './delay', './underscore'], function (partial, delay, underscore) { + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + var defer = partial(delay, underscore, 1); + + return defer; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/delay.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/delay.js new file mode 100644 index 00000000..715d24d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/delay.js @@ -0,0 +1,13 @@ +define(['./restArguments'], function (restArguments) { + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + + return delay; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/difference.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/difference.js new file mode 100644 index 00000000..11f19027 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/difference.js @@ -0,0 +1,14 @@ +define(['./restArguments', './_flatten', './filter', './contains'], function (restArguments, _flatten, filter, contains) { + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + var difference = restArguments(function(array, rest) { + rest = _flatten(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); + }); + + return difference; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/each.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/each.js new file mode 100644 index 00000000..f5c47ab8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/each.js @@ -0,0 +1,25 @@ +define(['./_optimizeCb', './_isArrayLike', './keys'], function (_optimizeCb, _isArrayLike, keys) { + + // The cornerstone for collection functions, an `each` + // implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + function each(obj, iteratee, context) { + iteratee = _optimizeCb(iteratee, context); + var i, length; + if (_isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; + } + + return each; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/escape.js new file mode 100644 index 00000000..6714d122 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/escape.js @@ -0,0 +1,8 @@ +define(['./_createEscaper', './_escapeMap'], function (_createEscaper, _escapeMap) { + + // Function for escaping strings to HTML interpolation. + var _escape = _createEscaper(_escapeMap); + + return _escape; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/every.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/every.js new file mode 100644 index 00000000..1180c445 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/every.js @@ -0,0 +1,17 @@ +define(['./_cb', './_isArrayLike', './keys'], function (_cb, _isArrayLike, keys) { + + // Determine whether all of the elements pass a truth test. + function every(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + } + + return every; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extend.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extend.js new file mode 100644 index 00000000..35d87616 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extend.js @@ -0,0 +1,8 @@ +define(['./_createAssigner', './allKeys'], function (_createAssigner, allKeys) { + + // Extend a given object with all the properties in passed-in object(s). + var extend = _createAssigner(allKeys); + + return extend; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extendOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extendOwn.js new file mode 100644 index 00000000..2e1e4b5d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/extendOwn.js @@ -0,0 +1,10 @@ +define(['./_createAssigner', './keys'], function (_createAssigner, keys) { + + // Assigns a given object with all the own properties in the passed-in + // object(s). + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + var extendOwn = _createAssigner(keys); + + return extendOwn; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/filter.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/filter.js new file mode 100644 index 00000000..a7675687 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/filter.js @@ -0,0 +1,15 @@ +define(['./_cb', './each'], function (_cb, each) { + + // Return all the elements that pass a truth test. + function filter(obj, predicate, context) { + var results = []; + predicate = _cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + } + + return filter; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/find.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/find.js new file mode 100644 index 00000000..586518d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/find.js @@ -0,0 +1,12 @@ +define(['./_isArrayLike', './findIndex', './findKey'], function (_isArrayLike, findIndex, findKey) { + + // Return the first value which passes a truth test. + function find(obj, predicate, context) { + var keyFinder = _isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; + } + + return find; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findIndex.js new file mode 100644 index 00000000..90d4cf3f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findIndex.js @@ -0,0 +1,8 @@ +define(['./_createPredicateIndexFinder'], function (_createPredicateIndexFinder) { + + // Returns the first index on an array-like that passes a truth test. + var findIndex = _createPredicateIndexFinder(1); + + return findIndex; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findKey.js new file mode 100644 index 00000000..80a5beb8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findKey.js @@ -0,0 +1,15 @@ +define(['./_cb', './keys'], function (_cb, keys) { + + // Returns the first key on an object that passes a truth test. + function findKey(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + } + + return findKey; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findLastIndex.js new file mode 100644 index 00000000..f3e78a06 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findLastIndex.js @@ -0,0 +1,8 @@ +define(['./_createPredicateIndexFinder'], function (_createPredicateIndexFinder) { + + // Returns the last index on an array-like that passes a truth test. + var findLastIndex = _createPredicateIndexFinder(-1); + + return findLastIndex; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findWhere.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findWhere.js new file mode 100644 index 00000000..40695859 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/findWhere.js @@ -0,0 +1,11 @@ +define(['./find', './matcher'], function (find, matcher) { + + // Convenience version of a common use case of `_.find`: getting the first + // object containing specific `key:value` pairs. + function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); + } + + return findWhere; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/first.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/first.js new file mode 100644 index 00000000..96c5a56a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/first.js @@ -0,0 +1,13 @@ +define(['./initial'], function (initial) { + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. The **guard** check allows it to work with `_.map`. + function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); + } + + return first; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/flatten.js new file mode 100644 index 00000000..7d2891aa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/flatten.js @@ -0,0 +1,11 @@ +define(['./_flatten'], function (_flatten) { + + // Flatten out an array, either recursively (by default), or up to `depth`. + // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. + function flatten(array, depth) { + return _flatten(array, depth, false); + } + + return flatten; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/functions.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/functions.js new file mode 100644 index 00000000..b929883b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/functions.js @@ -0,0 +1,14 @@ +define(['./isFunction'], function (isFunction) { + + // Return a sorted list of the function names available on the object. + function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction(obj[key])) names.push(key); + } + return names.sort(); + } + + return functions; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/get.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/get.js new file mode 100644 index 00000000..1404ea02 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/get.js @@ -0,0 +1,14 @@ +define(['./_toPath', './_deepGet', './isUndefined'], function (_toPath, _deepGet, isUndefined) { + + // Get the value of the (deep) property on `path` from `object`. + // If any property in `path` does not exist or if the value is + // `undefined`, return `defaultValue` instead. + // The `path` is normalized through `_.toPath`. + function get(object, path, defaultValue) { + var value = _deepGet(object, _toPath(path)); + return isUndefined(value) ? defaultValue : value; + } + + return get; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/groupBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/groupBy.js new file mode 100644 index 00000000..4374d768 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/groupBy.js @@ -0,0 +1,11 @@ +define(['./_group', './_has'], function (_group, _has) { + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + var groupBy = _group(function(result, value, key) { + if (_has(result, key)) result[key].push(value); else result[key] = [value]; + }); + + return groupBy; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/has.js new file mode 100644 index 00000000..a81ec08f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/has.js @@ -0,0 +1,19 @@ +define(['./_has', './_toPath'], function (_has, _toPath) { + + // Shortcut function for checking if an object has a given property directly on + // itself (in other words, not on a prototype). Unlike the internal `has` + // function, this public version can also traverse nested properties. + function has(obj, path) { + path = _toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!_has(obj, key)) return false; + obj = obj[key]; + } + return !!length; + } + + return has; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/identity.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/identity.js new file mode 100644 index 00000000..fee04583 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/identity.js @@ -0,0 +1,10 @@ +define(function () { + + // Keep the identity function around for default iteratees. + function identity(value) { + return value; + } + + return identity; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index-default.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index-default.js new file mode 100644 index 00000000..0f506052 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index-default.js @@ -0,0 +1,12 @@ +define(['./index', './mixin'], function (index, mixin) { + + // Default Export + + // Add all of the Underscore functions to the wrapper object. + var _ = mixin(index); + // Legacy Node.js API. + _._ = _; + + return _; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index.js new file mode 100644 index 00000000..14a7179e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/index.js @@ -0,0 +1,154 @@ +define(['exports', './_setup', './restArguments', './isObject', './isNull', './isUndefined', './isBoolean', './isElement', './isString', './isNumber', './isDate', './isRegExp', './isError', './isSymbol', './isArrayBuffer', './isDataView', './isArray', './isFunction', './isArguments', './isFinite', './isNaN', './isTypedArray', './isEmpty', './isMatch', './isEqual', './isMap', './isWeakMap', './isSet', './isWeakSet', './keys', './allKeys', './values', './pairs', './invert', './functions', './extend', './extendOwn', './defaults', './create', './clone', './tap', './get', './has', './mapObject', './identity', './constant', './noop', './toPath', './property', './propertyOf', './matcher', './times', './random', './now', './escape', './unescape', './templateSettings', './template', './result', './uniqueId', './chain', './iteratee', './partial', './bind', './bindAll', './memoize', './delay', './defer', './throttle', './debounce', './wrap', './negate', './compose', './after', './before', './once', './findKey', './findIndex', './findLastIndex', './sortedIndex', './indexOf', './lastIndexOf', './find', './findWhere', './each', './map', './reduce', './reduceRight', './filter', './reject', './every', './some', './contains', './invoke', './pluck', './where', './max', './min', './shuffle', './sample', './sortBy', './groupBy', './indexBy', './countBy', './partition', './toArray', './size', './pick', './omit', './first', './initial', './last', './rest', './compact', './flatten', './without', './uniq', './union', './intersection', './difference', './unzip', './zip', './object', './range', './chunk', './mixin', './underscore-array-methods', './underscore'], function (exports, _setup, restArguments, isObject, isNull, isUndefined, isBoolean, isElement, isString, isNumber, isDate, isRegExp, isError, isSymbol, isArrayBuffer, isDataView, isArray, isFunction, isArguments, _isFinite, _isNaN, isTypedArray, isEmpty, isMatch, isEqual, isMap, isWeakMap, isSet, isWeakSet, keys, allKeys, values, pairs, invert, functions, extend, extendOwn, defaults, create, clone, tap, get, has, mapObject, identity, constant, noop, toPath, property, propertyOf, matcher, times, random, now, _escape, _unescape, templateSettings, template, result, uniqueId, chain, iteratee, partial, bind, bindAll, memoize, delay, defer, throttle, debounce, wrap, negate, compose, after, before, once, findKey, findIndex, findLastIndex, sortedIndex, indexOf, lastIndexOf, find, findWhere, each, map, reduce, reduceRight, filter, reject, every, some, contains, invoke, pluck, where, max, min, shuffle, sample, sortBy, groupBy, indexBy, countBy, partition, toArray, size, pick, omit, first, initial, last, rest, compact, flatten, without, uniq, union, intersection, difference, unzip, zip, object, range, chunk, mixin, underscoreArrayMethods, underscore) { + + // Named Exports + + exports.VERSION = _setup.VERSION; + exports.restArguments = restArguments; + exports.isObject = isObject; + exports.isNull = isNull; + exports.isUndefined = isUndefined; + exports.isBoolean = isBoolean; + exports.isElement = isElement; + exports.isString = isString; + exports.isNumber = isNumber; + exports.isDate = isDate; + exports.isRegExp = isRegExp; + exports.isError = isError; + exports.isSymbol = isSymbol; + exports.isArrayBuffer = isArrayBuffer; + exports.isDataView = isDataView; + exports.isArray = isArray; + exports.isFunction = isFunction; + exports.isArguments = isArguments; + exports.isFinite = _isFinite; + exports.isNaN = _isNaN; + exports.isTypedArray = isTypedArray; + exports.isEmpty = isEmpty; + exports.isMatch = isMatch; + exports.isEqual = isEqual; + exports.isMap = isMap; + exports.isWeakMap = isWeakMap; + exports.isSet = isSet; + exports.isWeakSet = isWeakSet; + exports.keys = keys; + exports.allKeys = allKeys; + exports.values = values; + exports.pairs = pairs; + exports.invert = invert; + exports.functions = functions; + exports.methods = functions; + exports.extend = extend; + exports.assign = extendOwn; + exports.extendOwn = extendOwn; + exports.defaults = defaults; + exports.create = create; + exports.clone = clone; + exports.tap = tap; + exports.get = get; + exports.has = has; + exports.mapObject = mapObject; + exports.identity = identity; + exports.constant = constant; + exports.noop = noop; + exports.toPath = toPath; + exports.property = property; + exports.propertyOf = propertyOf; + exports.matcher = matcher; + exports.matches = matcher; + exports.times = times; + exports.random = random; + exports.now = now; + exports.escape = _escape; + exports.unescape = _unescape; + exports.templateSettings = templateSettings; + exports.template = template; + exports.result = result; + exports.uniqueId = uniqueId; + exports.chain = chain; + exports.iteratee = iteratee; + exports.partial = partial; + exports.bind = bind; + exports.bindAll = bindAll; + exports.memoize = memoize; + exports.delay = delay; + exports.defer = defer; + exports.throttle = throttle; + exports.debounce = debounce; + exports.wrap = wrap; + exports.negate = negate; + exports.compose = compose; + exports.after = after; + exports.before = before; + exports.once = once; + exports.findKey = findKey; + exports.findIndex = findIndex; + exports.findLastIndex = findLastIndex; + exports.sortedIndex = sortedIndex; + exports.indexOf = indexOf; + exports.lastIndexOf = lastIndexOf; + exports.detect = find; + exports.find = find; + exports.findWhere = findWhere; + exports.each = each; + exports.forEach = each; + exports.collect = map; + exports.map = map; + exports.foldl = reduce; + exports.inject = reduce; + exports.reduce = reduce; + exports.foldr = reduceRight; + exports.reduceRight = reduceRight; + exports.filter = filter; + exports.select = filter; + exports.reject = reject; + exports.all = every; + exports.every = every; + exports.any = some; + exports.some = some; + exports.contains = contains; + exports.include = contains; + exports.includes = contains; + exports.invoke = invoke; + exports.pluck = pluck; + exports.where = where; + exports.max = max; + exports.min = min; + exports.shuffle = shuffle; + exports.sample = sample; + exports.sortBy = sortBy; + exports.groupBy = groupBy; + exports.indexBy = indexBy; + exports.countBy = countBy; + exports.partition = partition; + exports.toArray = toArray; + exports.size = size; + exports.pick = pick; + exports.omit = omit; + exports.first = first; + exports.head = first; + exports.take = first; + exports.initial = initial; + exports.last = last; + exports.drop = rest; + exports.rest = rest; + exports.tail = rest; + exports.compact = compact; + exports.flatten = flatten; + exports.without = without; + exports.uniq = uniq; + exports.unique = uniq; + exports.union = union; + exports.intersection = intersection; + exports.difference = difference; + exports.transpose = unzip; + exports.unzip = unzip; + exports.zip = zip; + exports.object = object; + exports.range = range; + exports.chunk = chunk; + exports.mixin = mixin; + exports.default = underscore; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexBy.js new file mode 100644 index 00000000..dacc792a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexBy.js @@ -0,0 +1,11 @@ +define(['./_group'], function (_group) { + + // Indexes the object's values by a criterion, similar to `_.groupBy`, but for + // when you know that your index values will be unique. + var indexBy = _group(function(result, value, key) { + result[key] = value; + }); + + return indexBy; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexOf.js new file mode 100644 index 00000000..108f201f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/indexOf.js @@ -0,0 +1,11 @@ +define(['./sortedIndex', './findIndex', './_createIndexFinder'], function (sortedIndex, findIndex, _createIndexFinder) { + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + var indexOf = _createIndexFinder(1, findIndex, sortedIndex); + + return indexOf; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/initial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/initial.js new file mode 100644 index 00000000..ca73c1a4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/initial.js @@ -0,0 +1,12 @@ +define(['./_setup'], function (_setup) { + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + function initial(array, n, guard) { + return _setup.slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + } + + return initial; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/intersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/intersection.js new file mode 100644 index 00000000..8592d750 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/intersection.js @@ -0,0 +1,22 @@ +define(['./_getLength', './contains'], function (_getLength, contains) { + + // Produce an array that contains every item shared between all the + // passed-in arrays. + function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = _getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + } + + return intersection; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invert.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invert.js new file mode 100644 index 00000000..446b8cb7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invert.js @@ -0,0 +1,15 @@ +define(['./keys'], function (keys) { + + // Invert the keys and values of an object. The values must be serializable. + function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; + } + + return invert; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invoke.js new file mode 100644 index 00000000..72684f46 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/invoke.js @@ -0,0 +1,28 @@ +define(['./restArguments', './isFunction', './map', './_deepGet', './_toPath'], function (restArguments, isFunction, map, _deepGet, _toPath) { + + // Invoke a method (with arguments) on every item in a collection. + var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction(path)) { + func = path; + } else { + path = _toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = _deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + + return invoke; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArguments.js new file mode 100644 index 00000000..c4448f4d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArguments.js @@ -0,0 +1,19 @@ +define(['./_tagTester', './_has'], function (_tagTester, _has) { + + var isArguments = _tagTester('Arguments'); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return _has(obj, 'callee'); + }; + } + }()); + + var isArguments$1 = isArguments; + + return isArguments$1; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArray.js new file mode 100644 index 00000000..ef305850 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArray.js @@ -0,0 +1,9 @@ +define(['./_setup', './_tagTester'], function (_setup, _tagTester) { + + // Is a given value an array? + // Delegates to ECMA5's native `Array.isArray`. + var isArray = _setup.nativeIsArray || _tagTester('Array'); + + return isArray; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArrayBuffer.js new file mode 100644 index 00000000..e739aa89 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isArrayBuffer.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isArrayBuffer = _tagTester('ArrayBuffer'); + + return isArrayBuffer; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isBoolean.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isBoolean.js new file mode 100644 index 00000000..e3f1d8b1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isBoolean.js @@ -0,0 +1,10 @@ +define(['./_setup'], function (_setup) { + + // Is a given value a boolean? + function isBoolean(obj) { + return obj === true || obj === false || _setup.toString.call(obj) === '[object Boolean]'; + } + + return isBoolean; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDataView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDataView.js new file mode 100644 index 00000000..3668b0aa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDataView.js @@ -0,0 +1,15 @@ +define(['./_tagTester', './isFunction', './isArrayBuffer', './_stringTagBug'], function (_tagTester, isFunction, isArrayBuffer, _stringTagBug) { + + var isDataView = _tagTester('DataView'); + + // In IE 10 - Edge 13, we need a different heuristic + // to determine whether an object is a `DataView`. + function ie10IsDataView(obj) { + return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer); + } + + var isDataView$1 = (_stringTagBug.hasStringTagBug ? ie10IsDataView : isDataView); + + return isDataView$1; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDate.js new file mode 100644 index 00000000..8a84bcde --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isDate.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isDate = _tagTester('Date'); + + return isDate; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isElement.js new file mode 100644 index 00000000..f1812e1e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isElement.js @@ -0,0 +1,10 @@ +define(function () { + + // Is a given value a DOM element? + function isElement(obj) { + return !!(obj && obj.nodeType === 1); + } + + return isElement; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEmpty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEmpty.js new file mode 100644 index 00000000..b0119161 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEmpty.js @@ -0,0 +1,18 @@ +define(['./_getLength', './isArray', './isString', './isArguments', './keys'], function (_getLength, isArray, isString, isArguments, keys) { + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = _getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments(obj) + )) return length === 0; + return _getLength(keys(obj)) === 0; + } + + return isEmpty; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEqual.js new file mode 100644 index 00000000..683c62ff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isEqual.js @@ -0,0 +1,133 @@ +define(['./underscore', './_setup', './_getByteLength', './isTypedArray', './isFunction', './_stringTagBug', './isDataView', './keys', './_has', './_toBufferView'], function (underscore, _setup, _getByteLength, isTypedArray, isFunction, _stringTagBug, isDataView, keys, _has, _toBufferView) { + + // We use this string twice, so give it a name for minification. + var tagDataView = '[object DataView]'; + + // Internal recursive comparison function for `_.isEqual`. + function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); + } + + // Internal recursive comparison function for `_.isEqual`. + function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof underscore) a = a._wrapped; + if (b instanceof underscore) b = b._wrapped; + // Compare `[[Class]]` names. + var className = _setup.toString.call(a); + if (className !== _setup.toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (_stringTagBug.hasStringTagBug && className == '[object Object]' && isDataView(a)) { + if (!isDataView(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return _setup.SymbolProto.valueOf.call(a) === _setup.SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(_toBufferView(a), _toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray(a)) { + var byteLength = _getByteLength(a); + if (byteLength !== _getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && + isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(_has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + } + + // Perform a deep comparison to check if two objects are equal. + function isEqual(a, b) { + return eq(a, b); + } + + return isEqual; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isError.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isError.js new file mode 100644 index 00000000..dd349a82 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isError.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isError = _tagTester('Error'); + + return isError; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFinite.js new file mode 100644 index 00000000..b2a8d182 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFinite.js @@ -0,0 +1,10 @@ +define(['./_setup', './isSymbol'], function (_setup, isSymbol) { + + // Is a given object a finite number? + function isFinite(obj) { + return !isSymbol(obj) && _setup._isFinite(obj) && !isNaN(parseFloat(obj)); + } + + return isFinite; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFunction.js new file mode 100644 index 00000000..4dabb909 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isFunction.js @@ -0,0 +1,18 @@ +define(['./_tagTester', './_setup'], function (_tagTester, _setup) { + + var isFunction = _tagTester('Function'); + + // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old + // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). + var nodelist = _setup.root.document && _setup.root.document.childNodes; + if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + var isFunction$1 = isFunction; + + return isFunction$1; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMap.js new file mode 100644 index 00000000..c3470b4e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMap.js @@ -0,0 +1,7 @@ +define(['./_tagTester', './_stringTagBug', './_methodFingerprint'], function (_tagTester, _stringTagBug, _methodFingerprint) { + + var isMap = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.mapMethods) : _tagTester('Map'); + + return isMap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMatch.js new file mode 100644 index 00000000..c3864783 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isMatch.js @@ -0,0 +1,17 @@ +define(['./keys'], function (keys) { + + // Returns whether an object has a given set of `key:value` pairs. + function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + } + + return isMatch; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNaN.js new file mode 100644 index 00000000..01bf22de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNaN.js @@ -0,0 +1,10 @@ +define(['./_setup', './isNumber'], function (_setup, isNumber) { + + // Is the given value `NaN`? + function isNaN(obj) { + return isNumber(obj) && _setup._isNaN(obj); + } + + return isNaN; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNull.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNull.js new file mode 100644 index 00000000..c8b7bc60 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNull.js @@ -0,0 +1,10 @@ +define(function () { + + // Is a given value equal to null? + function isNull(obj) { + return obj === null; + } + + return isNull; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNumber.js new file mode 100644 index 00000000..a5d0152c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isNumber.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isNumber = _tagTester('Number'); + + return isNumber; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isObject.js new file mode 100644 index 00000000..9a244504 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isObject.js @@ -0,0 +1,11 @@ +define(function () { + + // Is a given variable an object? + function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); + } + + return isObject; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isRegExp.js new file mode 100644 index 00000000..b1d5adeb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isRegExp.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isRegExp = _tagTester('RegExp'); + + return isRegExp; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSet.js new file mode 100644 index 00000000..c04a5d80 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSet.js @@ -0,0 +1,7 @@ +define(['./_tagTester', './_stringTagBug', './_methodFingerprint'], function (_tagTester, _stringTagBug, _methodFingerprint) { + + var isSet = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.setMethods) : _tagTester('Set'); + + return isSet; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isString.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isString.js new file mode 100644 index 00000000..dd8d9e2f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isString.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isString = _tagTester('String'); + + return isString; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSymbol.js new file mode 100644 index 00000000..b2ebc620 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isSymbol.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isSymbol = _tagTester('Symbol'); + + return isSymbol; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isTypedArray.js new file mode 100644 index 00000000..db728f6e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isTypedArray.js @@ -0,0 +1,16 @@ +define(['./_setup', './isDataView', './constant', './_isBufferLike'], function (_setup, isDataView, constant, _isBufferLike) { + + // Is a given value a typed array? + var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return _setup.nativeIsView ? (_setup.nativeIsView(obj) && !isDataView(obj)) : + _isBufferLike(obj) && typedArrayPattern.test(_setup.toString.call(obj)); + } + + var isTypedArray$1 = _setup.supportsArrayBuffer ? isTypedArray : constant(false); + + return isTypedArray$1; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isUndefined.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isUndefined.js new file mode 100644 index 00000000..2372b0cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isUndefined.js @@ -0,0 +1,10 @@ +define(function () { + + // Is a given variable undefined? + function isUndefined(obj) { + return obj === void 0; + } + + return isUndefined; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakMap.js new file mode 100644 index 00000000..cf66b26c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakMap.js @@ -0,0 +1,7 @@ +define(['./_tagTester', './_stringTagBug', './_methodFingerprint'], function (_tagTester, _stringTagBug, _methodFingerprint) { + + var isWeakMap = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.weakMapMethods) : _tagTester('WeakMap'); + + return isWeakMap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakSet.js new file mode 100644 index 00000000..a7258525 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/isWeakSet.js @@ -0,0 +1,7 @@ +define(['./_tagTester'], function (_tagTester) { + + var isWeakSet = _tagTester('WeakSet'); + + return isWeakSet; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/iteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/iteratee.js new file mode 100644 index 00000000..52a1d6f7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/iteratee.js @@ -0,0 +1,13 @@ +define(['./underscore', './_baseIteratee'], function (underscore, _baseIteratee) { + + // External wrapper for our callback generator. Users may customize + // `_.iteratee` if they want additional predicate/iteratee shorthand styles. + // This abstraction hides the internal-only `argCount` argument. + function iteratee(value, context) { + return _baseIteratee(value, context, Infinity); + } + underscore.iteratee = iteratee; + + return iteratee; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/keys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/keys.js new file mode 100644 index 00000000..6db6bf4c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/keys.js @@ -0,0 +1,17 @@ +define(['./isObject', './_setup', './_has', './_collectNonEnumProps'], function (isObject, _setup, _has, _collectNonEnumProps) { + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys`. + function keys(obj) { + if (!isObject(obj)) return []; + if (_setup.nativeKeys) return _setup.nativeKeys(obj); + var keys = []; + for (var key in obj) if (_has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (_setup.hasEnumBug) _collectNonEnumProps(obj, keys); + return keys; + } + + return keys; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/last.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/last.js new file mode 100644 index 00000000..dfe3df2e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/last.js @@ -0,0 +1,13 @@ +define(['./rest'], function (rest) { + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); + } + + return last; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/lastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/lastIndexOf.js new file mode 100644 index 00000000..da1c8b5b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/lastIndexOf.js @@ -0,0 +1,9 @@ +define(['./findLastIndex', './_createIndexFinder'], function (findLastIndex, _createIndexFinder) { + + // Return the position of the last occurrence of an item in an array, + // or -1 if the item is not included in the array. + var lastIndexOf = _createIndexFinder(-1, findLastIndex); + + return lastIndexOf; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/map.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/map.js new file mode 100644 index 00000000..0a045c09 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/map.js @@ -0,0 +1,18 @@ +define(['./_cb', './_isArrayLike', './keys'], function (_cb, _isArrayLike, keys) { + + // Return the results of applying the iteratee to each element. + function map(obj, iteratee, context) { + iteratee = _cb(iteratee, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + return map; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mapObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mapObject.js new file mode 100644 index 00000000..abf15a99 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mapObject.js @@ -0,0 +1,19 @@ +define(['./_cb', './keys'], function (_cb, keys) { + + // Returns the results of applying the `iteratee` to each element of `obj`. + // In contrast to `_.map` it returns an object. + function mapObject(obj, iteratee, context) { + iteratee = _cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + return mapObject; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/matcher.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/matcher.js new file mode 100644 index 00000000..e5c85789 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/matcher.js @@ -0,0 +1,14 @@ +define(['./extendOwn', './isMatch'], function (extendOwn, isMatch) { + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; + } + + return matcher; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/max.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/max.js new file mode 100644 index 00000000..5d566765 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/max.js @@ -0,0 +1,30 @@ +define(['./_isArrayLike', './values', './_cb', './each'], function (_isArrayLike, values, _cb, each) { + + // Return the maximum element (or element-based computation). + function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = _isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = _cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + return max; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/memoize.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/memoize.js new file mode 100644 index 00000000..ae3d473a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/memoize.js @@ -0,0 +1,17 @@ +define(['./_has'], function (_has) { + + // Memoize an expensive function by storing its results. + function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!_has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + } + + return memoize; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/min.js new file mode 100644 index 00000000..a298bdb3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/min.js @@ -0,0 +1,30 @@ +define(['./_isArrayLike', './values', './_cb', './each'], function (_isArrayLike, values, _cb, each) { + + // Return the minimum element (or element-based computation). + function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = _isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = _cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + return min; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mixin.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mixin.js new file mode 100644 index 00000000..a64604a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/mixin.js @@ -0,0 +1,18 @@ +define(['./underscore', './each', './functions', './_setup', './_chainResult'], function (underscore, each, functions, _setup, _chainResult) { + + // Add your own custom functions to the Underscore object. + function mixin(obj) { + each(functions(obj), function(name) { + var func = underscore[name] = obj[name]; + underscore.prototype[name] = function() { + var args = [this._wrapped]; + _setup.push.apply(args, arguments); + return _chainResult(this, func.apply(underscore, args)); + }; + }); + return underscore; + } + + return mixin; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/negate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/negate.js new file mode 100644 index 00000000..420113d3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/negate.js @@ -0,0 +1,12 @@ +define(function () { + + // Returns a negated version of the passed-in predicate. + function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + } + + return negate; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/noop.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/noop.js new file mode 100644 index 00000000..df96fc52 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/noop.js @@ -0,0 +1,8 @@ +define(function () { + + // Predicate-generating function. Often useful outside of Underscore. + function noop(){} + + return noop; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/now.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/now.js new file mode 100644 index 00000000..a59807a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/now.js @@ -0,0 +1,10 @@ +define(function () { + + // A (possibly faster) way to get the current timestamp as an integer. + var now = Date.now || function() { + return new Date().getTime(); + }; + + return now; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/object.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/object.js new file mode 100644 index 00000000..02862521 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/object.js @@ -0,0 +1,20 @@ +define(['./_getLength'], function (_getLength) { + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. Passing by pairs is the reverse of `_.pairs`. + function object(list, values) { + var result = {}; + for (var i = 0, length = _getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + } + + return object; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/omit.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/omit.js new file mode 100644 index 00000000..81d691cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/omit.js @@ -0,0 +1,20 @@ +define(['./restArguments', './isFunction', './negate', './map', './_flatten', './contains', './pick'], function (restArguments, isFunction, negate, map, _flatten, contains, pick) { + + // Return a copy of the object without the disallowed properties. + var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(_flatten(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); + }); + + return omit; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/once.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/once.js new file mode 100644 index 00000000..4fc1ddf2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/once.js @@ -0,0 +1,9 @@ +define(['./partial', './before'], function (partial, before) { + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + var once = partial(before, 2); + + return once; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pairs.js new file mode 100644 index 00000000..47576813 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pairs.js @@ -0,0 +1,17 @@ +define(['./keys'], function (keys) { + + // Convert an object into a list of `[key, value]` pairs. + // The opposite of `_.object` with one argument. + function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; + } + + return pairs; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partial.js new file mode 100644 index 00000000..64f95dfa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partial.js @@ -0,0 +1,25 @@ +define(['./restArguments', './_executeBound', './underscore'], function (restArguments, _executeBound, underscore) { + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. `_` acts + // as a placeholder by default, allowing any combination of arguments to be + // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. + var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return _executeBound(func, bound, this, this, args); + }; + return bound; + }); + + partial.placeholder = underscore; + + return partial; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partition.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partition.js new file mode 100644 index 00000000..a87e5fb9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/partition.js @@ -0,0 +1,11 @@ +define(['./_group'], function (_group) { + + // Split a collection into two arrays: one whose elements all pass the given + // truth test, and one whose elements all do not pass the truth test. + var partition = _group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); + }, true); + + return partition; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pick.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pick.js new file mode 100644 index 00000000..1d4d89a2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pick.js @@ -0,0 +1,25 @@ +define(['./restArguments', './isFunction', './_optimizeCb', './allKeys', './_keyInObj', './_flatten'], function (restArguments, isFunction, _optimizeCb, allKeys, _keyInObj, _flatten) { + + // Return a copy of the object only containing the allowed properties. + var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction(iteratee)) { + if (keys.length > 1) iteratee = _optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = _keyInObj; + keys = _flatten(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }); + + return pick; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pluck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pluck.js new file mode 100644 index 00000000..d93d80c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/pluck.js @@ -0,0 +1,10 @@ +define(['./map', './property'], function (map, property) { + + // Convenience version of a common use case of `_.map`: fetching a property. + function pluck(obj, key) { + return map(obj, property(key)); + } + + return pluck; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/property.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/property.js new file mode 100644 index 00000000..94c6ccca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/property.js @@ -0,0 +1,14 @@ +define(['./_deepGet', './_toPath'], function (_deepGet, _toPath) { + + // Creates a function that, when passed an object, will traverse that object’s + // properties down the given `path`, specified as an array of keys or indices. + function property(path) { + path = _toPath(path); + return function(obj) { + return _deepGet(obj, path); + }; + } + + return property; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/propertyOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/propertyOf.js new file mode 100644 index 00000000..13cfb750 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/propertyOf.js @@ -0,0 +1,13 @@ +define(['./noop', './get'], function (noop, get) { + + // Generates a function for a given object that returns a given property. + function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; + } + + return propertyOf; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/random.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/random.js new file mode 100644 index 00000000..ba82815c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/random.js @@ -0,0 +1,14 @@ +define(function () { + + // Return a random integer between `min` and `max` (inclusive). + function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + } + + return random; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/range.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/range.js new file mode 100644 index 00000000..47eb9edc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/range.js @@ -0,0 +1,27 @@ +define(function () { + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](https://docs.python.org/library/functions.html#range). + function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + } + + return range; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduce.js new file mode 100644 index 00000000..2aae8cae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduce.js @@ -0,0 +1,9 @@ +define(['./_createReduce'], function (_createReduce) { + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + var reduce = _createReduce(1); + + return reduce; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduceRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduceRight.js new file mode 100644 index 00000000..ccb17392 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reduceRight.js @@ -0,0 +1,8 @@ +define(['./_createReduce'], function (_createReduce) { + + // The right-associative version of reduce, also known as `foldr`. + var reduceRight = _createReduce(-1); + + return reduceRight; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reject.js new file mode 100644 index 00000000..acc91cf4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/reject.js @@ -0,0 +1,10 @@ +define(['./filter', './negate', './_cb'], function (filter, negate, _cb) { + + // Return all the elements for which a truth test fails. + function reject(obj, predicate, context) { + return filter(obj, negate(_cb(predicate)), context); + } + + return reject; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/rest.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/rest.js new file mode 100644 index 00000000..ecf6b74a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/rest.js @@ -0,0 +1,12 @@ +define(['./_setup'], function (_setup) { + + // Returns everything but the first entry of the `array`. Especially useful on + // the `arguments` object. Passing an **n** will return the rest N values in the + // `array`. + function rest(array, n, guard) { + return _setup.slice.call(array, n == null || guard ? 1 : n); + } + + return rest; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/restArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/restArguments.js new file mode 100644 index 00000000..dd712748 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/restArguments.js @@ -0,0 +1,33 @@ +define(function () { + + // Some functions take a variable number of arguments, or a few expected + // arguments at the beginning and then a variable number of values to operate + // on. This helper accumulates all remaining arguments past the function’s + // argument length (or an explicit `startIndex`), into an array that becomes + // the last argument. Similar to ES6’s "rest parameter". + function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; + } + + return restArguments; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/result.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/result.js new file mode 100644 index 00000000..093a9113 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/result.js @@ -0,0 +1,25 @@ +define(['./isFunction', './_toPath'], function (isFunction, _toPath) { + + // Traverses the children of `obj` along `path`. If a child is a function, it + // is invoked with its parent as context. Returns the value of the final + // child, or `fallback` if any child is undefined. + function result(obj, path, fallback) { + path = _toPath(path); + var length = path.length; + if (!length) { + return isFunction(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction(prop) ? prop.call(obj) : prop; + } + return obj; + } + + return result; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sample.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sample.js new file mode 100644 index 00000000..0189bb58 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sample.js @@ -0,0 +1,27 @@ +define(['./_isArrayLike', './values', './_getLength', './random', './toArray'], function (_isArrayLike, values, _getLength, random, toArray) { + + // Sample **n** random values from a collection using the modern version of the + // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `_.map`. + function sample(obj, n, guard) { + if (n == null || guard) { + if (!_isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = _getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); + } + + return sample; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/shuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/shuffle.js new file mode 100644 index 00000000..ff14021b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/shuffle.js @@ -0,0 +1,10 @@ +define(['./sample'], function (sample) { + + // Shuffle a collection. + function shuffle(obj) { + return sample(obj, Infinity); + } + + return shuffle; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/size.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/size.js new file mode 100644 index 00000000..b741f4e0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/size.js @@ -0,0 +1,11 @@ +define(['./_isArrayLike', './keys'], function (_isArrayLike, keys) { + + // Return the number of elements in a collection. + function size(obj) { + if (obj == null) return 0; + return _isArrayLike(obj) ? obj.length : keys(obj).length; + } + + return size; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/some.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/some.js new file mode 100644 index 00000000..bb4e966a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/some.js @@ -0,0 +1,17 @@ +define(['./_cb', './_isArrayLike', './keys'], function (_cb, _isArrayLike, keys) { + + // Determine if at least one element in the object passes a truth test. + function some(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + } + + return some; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortBy.js new file mode 100644 index 00000000..a4af6cb0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortBy.js @@ -0,0 +1,26 @@ +define(['./_cb', './pluck', './map'], function (_cb, pluck, map) { + + // Sort the object's values by a criterion produced by an iteratee. + function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = _cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + } + + return sortBy; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortedIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortedIndex.js new file mode 100644 index 00000000..83aac9ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/sortedIndex.js @@ -0,0 +1,18 @@ +define(['./_cb', './_getLength'], function (_cb, _getLength) { + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + function sortedIndex(array, obj, iteratee, context) { + iteratee = _cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = _getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + } + + return sortedIndex; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/tap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/tap.js new file mode 100644 index 00000000..8605d102 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/tap.js @@ -0,0 +1,13 @@ +define(function () { + + // Invokes `interceptor` with the `obj` and then returns `obj`. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + function tap(obj, interceptor) { + interceptor(obj); + return obj; + } + + return tap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/template.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/template.js new file mode 100644 index 00000000..65695ba5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/template.js @@ -0,0 +1,103 @@ +define(['./defaults', './underscore', './templateSettings'], function (defaults, underscore, templateSettings) { + + // When customizing `_.templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + + function escapeChar(match) { + return '\\' + escapes[match]; + } + + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, underscore.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, underscore); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + } + + return template; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/templateSettings.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/templateSettings.js new file mode 100644 index 00000000..94abcb53 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/templateSettings.js @@ -0,0 +1,13 @@ +define(['./underscore'], function (underscore) { + + // By default, Underscore uses ERB-style template delimiters. Change the + // following template settings to use alternative delimiters. + var templateSettings = underscore.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + + return templateSettings; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/throttle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/throttle.js new file mode 100644 index 00000000..555100ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/throttle.js @@ -0,0 +1,51 @@ +define(['./now'], function (now) { + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; + } + + return throttle; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/times.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/times.js new file mode 100644 index 00000000..d70145d3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/times.js @@ -0,0 +1,13 @@ +define(['./_optimizeCb'], function (_optimizeCb) { + + // Run a function **n** times. + function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = _optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + } + + return times; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toArray.js new file mode 100644 index 00000000..27b41699 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toArray.js @@ -0,0 +1,18 @@ +define(['./isArray', './_setup', './isString', './_isArrayLike', './map', './identity', './values'], function (isArray, _setup, isString, _isArrayLike, map, identity, values) { + + // Safely create a real, live array from anything iterable. + var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return _setup.slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (_isArrayLike(obj)) return map(obj, identity); + return values(obj); + } + + return toArray; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toPath.js new file mode 100644 index 00000000..e2dfb23a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/toPath.js @@ -0,0 +1,12 @@ +define(['./underscore', './isArray'], function (underscore, isArray) { + + // Normalize a (deep) property `path` to array. + // Like `_.iteratee`, this function can be customized. + function toPath(path) { + return isArray(path) ? path : [path]; + } + underscore.toPath = toPath; + + return toPath; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore-array-methods.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore-array-methods.js new file mode 100644 index 00000000..bb56875f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore-array-methods.js @@ -0,0 +1,30 @@ +define(['./underscore', './each', './_setup', './_chainResult'], function (underscore, each, _setup, _chainResult) { + + // Add all mutator `Array` functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = _setup.ArrayProto[name]; + underscore.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return _chainResult(this, obj); + }; + }); + + // Add all accessor `Array` functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = _setup.ArrayProto[name]; + underscore.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return _chainResult(this, obj); + }; + }); + + return underscore; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore.js new file mode 100644 index 00000000..03492abf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/underscore.js @@ -0,0 +1,29 @@ +define(['./_setup'], function (_setup) { + + // If Underscore is called as a function, it returns a wrapped object that can + // be used OO-style. This wrapper holds altered versions of all functions added + // through `_.mixin`. Wrapped objects may be chained. + function _(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + } + + _.VERSION = _setup.VERSION; + + // Extracts the result from a wrapped and chained object. + _.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxies for some methods used in engine operations + // such as arithmetic and JSON stringification. + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + + _.prototype.toString = function() { + return String(this._wrapped); + }; + + return _; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unescape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unescape.js new file mode 100644 index 00000000..b48d4447 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unescape.js @@ -0,0 +1,8 @@ +define(['./_createEscaper', './_unescapeMap'], function (_createEscaper, _unescapeMap) { + + // Function for unescaping strings from HTML interpolation. + var _unescape = _createEscaper(_unescapeMap); + + return _unescape; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/union.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/union.js new file mode 100644 index 00000000..67884bad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/union.js @@ -0,0 +1,11 @@ +define(['./restArguments', './uniq', './_flatten'], function (restArguments, uniq, _flatten) { + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + var union = restArguments(function(arrays) { + return uniq(_flatten(arrays, true, true)); + }); + + return union; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniq.js new file mode 100644 index 00000000..5e05e41b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniq.js @@ -0,0 +1,37 @@ +define(['./isBoolean', './_cb', './_getLength', './contains'], function (isBoolean, _cb, _getLength, contains) { + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // The faster algorithm will not work with an iteratee if the iteratee + // is not a one-to-one function, so providing an iteratee will disable + // the faster algorithm. + function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = _cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = _getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; + } + + return uniq; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniqueId.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniqueId.js new file mode 100644 index 00000000..4c99d645 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/uniqueId.js @@ -0,0 +1,13 @@ +define(function () { + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + } + + return uniqueId; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unzip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unzip.js new file mode 100644 index 00000000..28232232 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/unzip.js @@ -0,0 +1,17 @@ +define(['./max', './_getLength', './pluck'], function (max, _getLength, pluck) { + + // Complement of zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices. + function unzip(array) { + var length = (array && max(array, _getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; + } + + return unzip; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/values.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/values.js new file mode 100644 index 00000000..f42830ab --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/values.js @@ -0,0 +1,16 @@ +define(['./keys'], function (keys) { + + // Retrieve the values of an object's properties. + function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; + } + + return values; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/where.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/where.js new file mode 100644 index 00000000..a9d8b253 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/where.js @@ -0,0 +1,11 @@ +define(['./filter', './matcher'], function (filter, matcher) { + + // Convenience version of a common use case of `_.filter`: selecting only + // objects containing specific `key:value` pairs. + function where(obj, attrs) { + return filter(obj, matcher(attrs)); + } + + return where; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/without.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/without.js new file mode 100644 index 00000000..eb0ac62e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/without.js @@ -0,0 +1,10 @@ +define(['./restArguments', './difference'], function (restArguments, difference) { + + // Return a version of the array that does not contain the specified value(s). + var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); + }); + + return without; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/wrap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/wrap.js new file mode 100644 index 00000000..25f19952 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/wrap.js @@ -0,0 +1,12 @@ +define(['./partial'], function (partial) { + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + function wrap(func, wrapper) { + return partial(wrapper, func); + } + + return wrap; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/zip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/zip.js new file mode 100644 index 00000000..25e61fe3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/amd/zip.js @@ -0,0 +1,9 @@ +define(['./restArguments', './unzip'], function (restArguments, unzip) { + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + var zip = restArguments(unzip); + + return zip; + +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseCreate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseCreate.js new file mode 100644 index 00000000..aacc4f47 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseCreate.js @@ -0,0 +1,20 @@ +var isObject = require('./isObject.js'); +var _setup = require('./_setup.js'); + +// Create a naked function reference for surrogate-prototype-swapping. +function ctor() { + return function(){}; +} + +// An internal function for creating a new object that inherits from another. +function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (_setup.nativeCreate) return _setup.nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; +} + +module.exports = baseCreate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseIteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseIteratee.js new file mode 100644 index 00000000..a826d1a2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_baseIteratee.js @@ -0,0 +1,19 @@ +var identity = require('./identity.js'); +var isFunction = require('./isFunction.js'); +var isObject = require('./isObject.js'); +var isArray = require('./isArray.js'); +var matcher = require('./matcher.js'); +var property = require('./property.js'); +var _optimizeCb = require('./_optimizeCb.js'); + +// An internal function to generate callbacks that can be applied to each +// element in a collection, returning the desired result — either `_.identity`, +// an arbitrary callback, a property matcher, or a property accessor. +function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction(value)) return _optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); +} + +module.exports = baseIteratee; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_cb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_cb.js new file mode 100644 index 00000000..8b5d3898 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_cb.js @@ -0,0 +1,12 @@ +var underscore = require('./underscore.js'); +var _baseIteratee = require('./_baseIteratee.js'); +var iteratee = require('./iteratee.js'); + +// The function we call internally to generate a callback. It invokes +// `_.iteratee` if overridden, otherwise `baseIteratee`. +function cb(value, context, argCount) { + if (underscore.iteratee !== iteratee) return underscore.iteratee(value, context); + return _baseIteratee(value, context, argCount); +} + +module.exports = cb; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_chainResult.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_chainResult.js new file mode 100644 index 00000000..8670e3d8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_chainResult.js @@ -0,0 +1,8 @@ +var underscore = require('./underscore.js'); + +// Helper function to continue chaining intermediate results. +function chainResult(instance, obj) { + return instance._chain ? underscore(obj).chain() : obj; +} + +module.exports = chainResult; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_collectNonEnumProps.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_collectNonEnumProps.js new file mode 100644 index 00000000..6e62c916 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_collectNonEnumProps.js @@ -0,0 +1,42 @@ +var _setup = require('./_setup.js'); +var isFunction = require('./isFunction.js'); +var _has = require('./_has.js'); + +// Internal helper to create a simple lookup structure. +// `collectNonEnumProps` used to depend on `_.contains`, but this led to +// circular imports. `emulatedSet` is a one-off solution that only works for +// arrays of strings. +function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; +} + +// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't +// be iterated by `for key in ...` and thus missed. Extends `keys` in place if +// needed. +function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = _setup.nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction(constructor) && constructor.prototype) || _setup.ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (_has(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = _setup.nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } +} + +module.exports = collectNonEnumProps; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createAssigner.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createAssigner.js new file mode 100644 index 00000000..13fa0ddf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createAssigner.js @@ -0,0 +1,20 @@ +// An internal function for creating assigner functions. +function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; +} + +module.exports = createAssigner; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createEscaper.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createEscaper.js new file mode 100644 index 00000000..c3b7ac4a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createEscaper.js @@ -0,0 +1,19 @@ +var keys = require('./keys.js'); + +// Internal helper to generate functions for escaping and unescaping strings +// to/from HTML interpolation. +function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +} + +module.exports = createEscaper; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createIndexFinder.js new file mode 100644 index 00000000..7f390392 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createIndexFinder.js @@ -0,0 +1,30 @@ +var _getLength = require('./_getLength.js'); +var _setup = require('./_setup.js'); +var _isNaN = require('./isNaN.js'); + +// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. +function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = _getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(_setup.slice.call(array, i, length), _isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; +} + +module.exports = createIndexFinder; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createPredicateIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createPredicateIndexFinder.js new file mode 100644 index 00000000..e954419c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createPredicateIndexFinder.js @@ -0,0 +1,17 @@ +var _cb = require('./_cb.js'); +var _getLength = require('./_getLength.js'); + +// Internal function to generate `_.findIndex` and `_.findLastIndex`. +function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = _cb(predicate, context); + var length = _getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; +} + +module.exports = createPredicateIndexFinder; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createReduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createReduce.js new file mode 100644 index 00000000..fb246081 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createReduce.js @@ -0,0 +1,30 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); +var _optimizeCb = require('./_optimizeCb.js'); + +// Internal helper to create a reducing function, iterating left or right. +function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, _optimizeCb(iteratee, context, 4), memo, initial); + }; +} + +module.exports = createReduce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createSizePropertyCheck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createSizePropertyCheck.js new file mode 100644 index 00000000..72711297 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_createSizePropertyCheck.js @@ -0,0 +1,11 @@ +var _setup = require('./_setup.js'); + +// Common internal logic for `isArrayLike` and `isBufferLike`. +function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= _setup.MAX_ARRAY_INDEX; + } +} + +module.exports = createSizePropertyCheck; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_deepGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_deepGet.js new file mode 100644 index 00000000..90170589 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_deepGet.js @@ -0,0 +1,11 @@ +// Internal function to obtain a nested property in `obj` along `path`. +function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; +} + +module.exports = deepGet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_escapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_escapeMap.js new file mode 100644 index 00000000..821501ed --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_escapeMap.js @@ -0,0 +1,11 @@ +// Internal list of HTML entities for escaping. +var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; + +module.exports = escapeMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_executeBound.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_executeBound.js new file mode 100644 index 00000000..de0220ea --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_executeBound.js @@ -0,0 +1,15 @@ +var _baseCreate = require('./_baseCreate.js'); +var isObject = require('./isObject.js'); + +// Internal function to execute `sourceFunc` bound to `context` with optional +// `args`. Determines whether to execute a function as a constructor or as a +// normal function. +function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = _baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; +} + +module.exports = executeBound; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_flatten.js new file mode 100644 index 00000000..830221d0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_flatten.js @@ -0,0 +1,33 @@ +var _getLength = require('./_getLength.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var isArray = require('./isArray.js'); +var isArguments = require('./isArguments.js'); + +// Internal implementation of a recursive `flatten` function. +function flatten(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = _getLength(input); i < length; i++) { + var value = input[i]; + if (_isArrayLike(value) && (isArray(value) || isArguments(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; +} + +module.exports = flatten; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getByteLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getByteLength.js new file mode 100644 index 00000000..49acd7f8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getByteLength.js @@ -0,0 +1,6 @@ +var _shallowProperty = require('./_shallowProperty.js'); + +// Internal helper to obtain the `byteLength` property of an object. +var getByteLength = _shallowProperty('byteLength'); + +module.exports = getByteLength; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getLength.js new file mode 100644 index 00000000..1ad70920 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_getLength.js @@ -0,0 +1,6 @@ +var _shallowProperty = require('./_shallowProperty.js'); + +// Internal helper to obtain the `length` property of an object. +var getLength = _shallowProperty('length'); + +module.exports = getLength; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_group.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_group.js new file mode 100644 index 00000000..cb1f5a85 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_group.js @@ -0,0 +1,17 @@ +var _cb = require('./_cb.js'); +var each = require('./each.js'); + +// An internal function used for aggregate "group by" operations. +function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = _cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; +} + +module.exports = group; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_has.js new file mode 100644 index 00000000..6540346b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_has.js @@ -0,0 +1,8 @@ +var _setup = require('./_setup.js'); + +// Internal function to check whether `key` is an own property name of `obj`. +function has(obj, key) { + return obj != null && _setup.hasOwnProperty.call(obj, key); +} + +module.exports = has; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_hasObjectTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_hasObjectTag.js new file mode 100644 index 00000000..fb714528 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_hasObjectTag.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var hasObjectTag = _tagTester('Object'); + +module.exports = hasObjectTag; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isArrayLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isArrayLike.js new file mode 100644 index 00000000..b835307c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isArrayLike.js @@ -0,0 +1,10 @@ +var _createSizePropertyCheck = require('./_createSizePropertyCheck.js'); +var _getLength = require('./_getLength.js'); + +// Internal helper for collection methods to determine whether a collection +// should be iterated as an array or as an object. +// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength +// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 +var isArrayLike = _createSizePropertyCheck(_getLength); + +module.exports = isArrayLike; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isBufferLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isBufferLike.js new file mode 100644 index 00000000..bf919aa8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_isBufferLike.js @@ -0,0 +1,8 @@ +var _createSizePropertyCheck = require('./_createSizePropertyCheck.js'); +var _getByteLength = require('./_getByteLength.js'); + +// Internal helper to determine whether we should spend extensive checks against +// `ArrayBuffer` et al. +var isBufferLike = _createSizePropertyCheck(_getByteLength); + +module.exports = isBufferLike; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_keyInObj.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_keyInObj.js new file mode 100644 index 00000000..12adc826 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_keyInObj.js @@ -0,0 +1,7 @@ +// Internal `_.pick` helper function to determine whether `key` is an enumerable +// property name of `obj`. +function keyInObj(value, key, obj) { + return key in obj; +} + +module.exports = keyInObj; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_methodFingerprint.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_methodFingerprint.js new file mode 100644 index 00000000..26028c9c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_methodFingerprint.js @@ -0,0 +1,44 @@ +Object.defineProperty(exports, '__esModule', { value: true }); + +var _getLength = require('./_getLength.js'); +var isFunction = require('./isFunction.js'); +var allKeys = require('./allKeys.js'); + +// Since the regular `Object.prototype.toString` type tests don't work for +// some types in IE 11, we use a fingerprinting heuristic instead, based +// on the methods. It's not great, but it's the best we got. +// The fingerprint method lists are defined below. +function ie11fingerprint(methods) { + var length = _getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (_getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction(obj[forEachName]); + }; +} + +// In the interest of compact minification, we write +// each string in the fingerprints only once. +var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + +// `Map`, `WeakMap` and `Set` each have slightly different +// combinations of the above sublists. +var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + +exports.ie11fingerprint = ie11fingerprint; +exports.mapMethods = mapMethods; +exports.setMethods = setMethods; +exports.weakMapMethods = weakMapMethods; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_optimizeCb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_optimizeCb.js new file mode 100644 index 00000000..e6c25386 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_optimizeCb.js @@ -0,0 +1,23 @@ +// Internal function that returns an efficient (for current engines) version +// of the passed-in callback, to be repeatedly applied in other Underscore +// functions. +function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; +} + +module.exports = optimizeCb; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_setup.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_setup.js new file mode 100644 index 00000000..5fdfb5c5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_setup.js @@ -0,0 +1,66 @@ +Object.defineProperty(exports, '__esModule', { value: true }); + +// Current version. +var VERSION = '1.13.4'; + +// Establish the root object, `window` (`self`) in the browser, `global` +// on the server, or `this` in some virtual machines. We use `self` +// instead of `window` for `WebWorker` support. +var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + +// Save bytes in the minified (but not gzipped) version: +var ArrayProto = Array.prototype, ObjProto = Object.prototype; +var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + +// Create quick reference variables for speed access to core prototypes. +var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + +// Modern feature detection. +var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + +// All **ECMAScript 5+** native function implementations that we hope to use +// are declared here. +var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + +// Create references to these builtin functions because we override them. +var _isNaN = isNaN, + _isFinite = isFinite; + +// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. +var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); +var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + +// The largest integer that can be represented exactly. +var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + +exports.ArrayProto = ArrayProto; +exports.MAX_ARRAY_INDEX = MAX_ARRAY_INDEX; +exports.ObjProto = ObjProto; +exports.SymbolProto = SymbolProto; +exports.VERSION = VERSION; +exports._isFinite = _isFinite; +exports._isNaN = _isNaN; +exports.hasEnumBug = hasEnumBug; +exports.hasOwnProperty = hasOwnProperty; +exports.nativeCreate = nativeCreate; +exports.nativeIsArray = nativeIsArray; +exports.nativeIsView = nativeIsView; +exports.nativeKeys = nativeKeys; +exports.nonEnumerableProps = nonEnumerableProps; +exports.push = push; +exports.root = root; +exports.slice = slice; +exports.supportsArrayBuffer = supportsArrayBuffer; +exports.supportsDataView = supportsDataView; +exports.toString = toString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_shallowProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_shallowProperty.js new file mode 100644 index 00000000..aabdc625 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_shallowProperty.js @@ -0,0 +1,8 @@ +// Internal helper to generate a function to obtain property `key` from `obj`. +function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; +} + +module.exports = shallowProperty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_stringTagBug.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_stringTagBug.js new file mode 100644 index 00000000..b5b21caf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_stringTagBug.js @@ -0,0 +1,15 @@ +Object.defineProperty(exports, '__esModule', { value: true }); + +var _setup = require('./_setup.js'); +var _hasObjectTag = require('./_hasObjectTag.js'); + +// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. +// In IE 11, the most common among them, this problem also applies to +// `Map`, `WeakMap` and `Set`. +var hasStringTagBug = ( + _setup.supportsDataView && _hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && _hasObjectTag(new Map)); + +exports.hasStringTagBug = hasStringTagBug; +exports.isIE11 = isIE11; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_tagTester.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_tagTester.js new file mode 100644 index 00000000..2578e9b6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_tagTester.js @@ -0,0 +1,11 @@ +var _setup = require('./_setup.js'); + +// Internal function for creating a `toString`-based type tester. +function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return _setup.toString.call(obj) === tag; + }; +} + +module.exports = tagTester; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toBufferView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toBufferView.js new file mode 100644 index 00000000..3ad4e881 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toBufferView.js @@ -0,0 +1,13 @@ +var _getByteLength = require('./_getByteLength.js'); + +// Internal function to wrap or shallow-copy an ArrayBuffer, +// typed array or DataView to a new view, reusing the buffer. +function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + _getByteLength(bufferSource) + ); +} + +module.exports = toBufferView; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toPath.js new file mode 100644 index 00000000..33f1fa7c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_toPath.js @@ -0,0 +1,10 @@ +var underscore = require('./underscore.js'); +require('./toPath.js'); + +// Internal wrapper for `_.toPath` to enable minification. +// Similar to `cb` for `_.iteratee`. +function toPath(path) { + return underscore.toPath(path); +} + +module.exports = toPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_unescapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_unescapeMap.js new file mode 100644 index 00000000..b2f68c8b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/_unescapeMap.js @@ -0,0 +1,7 @@ +var invert = require('./invert.js'); +var _escapeMap = require('./_escapeMap.js'); + +// Internal list of HTML entities for unescaping. +var unescapeMap = invert(_escapeMap); + +module.exports = unescapeMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/after.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/after.js new file mode 100644 index 00000000..c047e20b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/after.js @@ -0,0 +1,10 @@ +// Returns a function that will only be executed on and after the Nth call. +function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; +} + +module.exports = after; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/allKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/allKeys.js new file mode 100644 index 00000000..1eb5e842 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/allKeys.js @@ -0,0 +1,15 @@ +var isObject = require('./isObject.js'); +var _setup = require('./_setup.js'); +var _collectNonEnumProps = require('./_collectNonEnumProps.js'); + +// Retrieve all the enumerable property names of an object. +function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (_setup.hasEnumBug) _collectNonEnumProps(obj, keys); + return keys; +} + +module.exports = allKeys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/before.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/before.js new file mode 100644 index 00000000..714a31e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/before.js @@ -0,0 +1,14 @@ +// Returns a function that will only be executed up to (but not including) the +// Nth call. +function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; +} + +module.exports = before; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bind.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bind.js new file mode 100644 index 00000000..59bc5ee6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bind.js @@ -0,0 +1,15 @@ +var restArguments = require('./restArguments.js'); +var isFunction = require('./isFunction.js'); +var _executeBound = require('./_executeBound.js'); + +// Create a function bound to a given object (assigning `this`, and arguments, +// optionally). +var bind = restArguments(function(func, context, args) { + if (!isFunction(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return _executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; +}); + +module.exports = bind; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bindAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bindAll.js new file mode 100644 index 00000000..12c14023 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/bindAll.js @@ -0,0 +1,19 @@ +var restArguments = require('./restArguments.js'); +var _flatten = require('./_flatten.js'); +var bind = require('./bind.js'); + +// Bind a number of an object's methods to that object. Remaining arguments +// are the method names to be bound. Useful for ensuring that all callbacks +// defined on an object belong to it. +var bindAll = restArguments(function(obj, keys) { + keys = _flatten(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; +}); + +module.exports = bindAll; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chain.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chain.js new file mode 100644 index 00000000..07e35eaf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chain.js @@ -0,0 +1,10 @@ +var underscore = require('./underscore.js'); + +// Start chaining a wrapped Underscore object. +function chain(obj) { + var instance = underscore(obj); + instance._chain = true; + return instance; +} + +module.exports = chain; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chunk.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chunk.js new file mode 100644 index 00000000..3e10d88e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/chunk.js @@ -0,0 +1,15 @@ +var _setup = require('./_setup.js'); + +// Chunk a single array into multiple arrays, each containing `count` or fewer +// items. +function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(_setup.slice.call(array, i, i += count)); + } + return result; +} + +module.exports = chunk; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/clone.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/clone.js new file mode 100644 index 00000000..91b3e5b8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/clone.js @@ -0,0 +1,11 @@ +var isObject = require('./isObject.js'); +var isArray = require('./isArray.js'); +var extend = require('./extend.js'); + +// Create a (shallow-cloned) duplicate of an object. +function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); +} + +module.exports = clone; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compact.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compact.js new file mode 100644 index 00000000..8fd210e1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compact.js @@ -0,0 +1,8 @@ +var filter = require('./filter.js'); + +// Trim out all falsy values from an array. +function compact(array) { + return filter(array, Boolean); +} + +module.exports = compact; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compose.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compose.js new file mode 100644 index 00000000..f95f8905 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/compose.js @@ -0,0 +1,14 @@ +// Returns a function that is the composition of a list of functions, each +// consuming the return value of the function that follows. +function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; +} + +module.exports = compose; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/constant.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/constant.js new file mode 100644 index 00000000..0b2904b2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/constant.js @@ -0,0 +1,8 @@ +// Predicate-generating function. Often useful outside of Underscore. +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/contains.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/contains.js new file mode 100644 index 00000000..bfe13415 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/contains.js @@ -0,0 +1,12 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var values = require('./values.js'); +var indexOf = require('./indexOf.js'); + +// Determine if the array or object contains a given item (using `===`). +function contains(obj, item, fromIndex, guard) { + if (!_isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; +} + +module.exports = contains; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/countBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/countBy.js new file mode 100644 index 00000000..88803264 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/countBy.js @@ -0,0 +1,11 @@ +var _group = require('./_group.js'); +var _has = require('./_has.js'); + +// Counts instances of an object that group by a certain criterion. Pass +// either a string attribute to count by, or a function that returns the +// criterion. +var countBy = _group(function(result, value, key) { + if (_has(result, key)) result[key]++; else result[key] = 1; +}); + +module.exports = countBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/create.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/create.js new file mode 100644 index 00000000..68332186 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/create.js @@ -0,0 +1,13 @@ +var _baseCreate = require('./_baseCreate.js'); +var extendOwn = require('./extendOwn.js'); + +// Creates an object that inherits from the given prototype object. +// If additional properties are provided then they will be added to the +// created object. +function create(prototype, props) { + var result = _baseCreate(prototype); + if (props) extendOwn(result, props); + return result; +} + +module.exports = create; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/debounce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/debounce.js new file mode 100644 index 00000000..517086c2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/debounce.js @@ -0,0 +1,42 @@ +var restArguments = require('./restArguments.js'); +var now = require('./now.js'); + +// When a sequence of calls of the returned function ends, the argument +// function is triggered. The end of a sequence is defined by the `wait` +// parameter. If `immediate` is passed, the argument function will be +// triggered at the beginning of the sequence instead of at the end. +function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; +} + +module.exports = debounce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defaults.js new file mode 100644 index 00000000..180cdd14 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defaults.js @@ -0,0 +1,7 @@ +var _createAssigner = require('./_createAssigner.js'); +var allKeys = require('./allKeys.js'); + +// Fill in a given object with default properties. +var defaults = _createAssigner(allKeys, true); + +module.exports = defaults; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defer.js new file mode 100644 index 00000000..2f1ef252 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/defer.js @@ -0,0 +1,9 @@ +var partial = require('./partial.js'); +var delay = require('./delay.js'); +var underscore = require('./underscore.js'); + +// Defers a function, scheduling it to run after the current call stack has +// cleared. +var defer = partial(delay, underscore, 1); + +module.exports = defer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/delay.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/delay.js new file mode 100644 index 00000000..49b5387e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/delay.js @@ -0,0 +1,11 @@ +var restArguments = require('./restArguments.js'); + +// Delays a function for the given number of milliseconds, and then calls +// it with the arguments supplied. +var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); +}); + +module.exports = delay; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/difference.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/difference.js new file mode 100644 index 00000000..8e472d6e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/difference.js @@ -0,0 +1,15 @@ +var restArguments = require('./restArguments.js'); +var _flatten = require('./_flatten.js'); +var filter = require('./filter.js'); +var contains = require('./contains.js'); + +// Take the difference between one array and a number of other arrays. +// Only the elements present in just the first array will remain. +var difference = restArguments(function(array, rest) { + rest = _flatten(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); +}); + +module.exports = difference; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/each.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/each.js new file mode 100644 index 00000000..f6fa21e4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/each.js @@ -0,0 +1,25 @@ +var _optimizeCb = require('./_optimizeCb.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); + +// The cornerstone for collection functions, an `each` +// implementation, aka `forEach`. +// Handles raw objects in addition to array-likes. Treats all +// sparse array-likes as if they were dense. +function each(obj, iteratee, context) { + iteratee = _optimizeCb(iteratee, context); + var i, length; + if (_isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; +} + +module.exports = each; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/escape.js new file mode 100644 index 00000000..0f29ef8a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/escape.js @@ -0,0 +1,7 @@ +var _createEscaper = require('./_createEscaper.js'); +var _escapeMap = require('./_escapeMap.js'); + +// Function for escaping strings to HTML interpolation. +var _escape = _createEscaper(_escapeMap); + +module.exports = _escape; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/every.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/every.js new file mode 100644 index 00000000..d0786954 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/every.js @@ -0,0 +1,17 @@ +var _cb = require('./_cb.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); + +// Determine whether all of the elements pass a truth test. +function every(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; +} + +module.exports = every; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extend.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extend.js new file mode 100644 index 00000000..7c5511c5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extend.js @@ -0,0 +1,7 @@ +var _createAssigner = require('./_createAssigner.js'); +var allKeys = require('./allKeys.js'); + +// Extend a given object with all the properties in passed-in object(s). +var extend = _createAssigner(allKeys); + +module.exports = extend; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extendOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extendOwn.js new file mode 100644 index 00000000..337195a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/extendOwn.js @@ -0,0 +1,9 @@ +var _createAssigner = require('./_createAssigner.js'); +var keys = require('./keys.js'); + +// Assigns a given object with all the own properties in the passed-in +// object(s). +// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) +var extendOwn = _createAssigner(keys); + +module.exports = extendOwn; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/filter.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/filter.js new file mode 100644 index 00000000..ba1a0634 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/filter.js @@ -0,0 +1,14 @@ +var _cb = require('./_cb.js'); +var each = require('./each.js'); + +// Return all the elements that pass a truth test. +function filter(obj, predicate, context) { + var results = []; + predicate = _cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; +} + +module.exports = filter; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/find.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/find.js new file mode 100644 index 00000000..03728b46 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/find.js @@ -0,0 +1,12 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var findIndex = require('./findIndex.js'); +var findKey = require('./findKey.js'); + +// Return the first value which passes a truth test. +function find(obj, predicate, context) { + var keyFinder = _isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; +} + +module.exports = find; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findIndex.js new file mode 100644 index 00000000..e5a1fecd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findIndex.js @@ -0,0 +1,6 @@ +var _createPredicateIndexFinder = require('./_createPredicateIndexFinder.js'); + +// Returns the first index on an array-like that passes a truth test. +var findIndex = _createPredicateIndexFinder(1); + +module.exports = findIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findKey.js new file mode 100644 index 00000000..4f2c2918 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findKey.js @@ -0,0 +1,14 @@ +var _cb = require('./_cb.js'); +var keys = require('./keys.js'); + +// Returns the first key on an object that passes a truth test. +function findKey(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } +} + +module.exports = findKey; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findLastIndex.js new file mode 100644 index 00000000..c9165cba --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findLastIndex.js @@ -0,0 +1,6 @@ +var _createPredicateIndexFinder = require('./_createPredicateIndexFinder.js'); + +// Returns the last index on an array-like that passes a truth test. +var findLastIndex = _createPredicateIndexFinder(-1); + +module.exports = findLastIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findWhere.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findWhere.js new file mode 100644 index 00000000..cf66e0d6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/findWhere.js @@ -0,0 +1,10 @@ +var find = require('./find.js'); +var matcher = require('./matcher.js'); + +// Convenience version of a common use case of `_.find`: getting the first +// object containing specific `key:value` pairs. +function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); +} + +module.exports = findWhere; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/first.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/first.js new file mode 100644 index 00000000..82b68463 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/first.js @@ -0,0 +1,11 @@ +var initial = require('./initial.js'); + +// Get the first element of an array. Passing **n** will return the first N +// values in the array. The **guard** check allows it to work with `_.map`. +function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); +} + +module.exports = first; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/flatten.js new file mode 100644 index 00000000..b8878390 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/flatten.js @@ -0,0 +1,9 @@ +var _flatten = require('./_flatten.js'); + +// Flatten out an array, either recursively (by default), or up to `depth`. +// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. +function flatten(array, depth) { + return _flatten(array, depth, false); +} + +module.exports = flatten; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/functions.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/functions.js new file mode 100644 index 00000000..f9afb43b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/functions.js @@ -0,0 +1,12 @@ +var isFunction = require('./isFunction.js'); + +// Return a sorted list of the function names available on the object. +function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction(obj[key])) names.push(key); + } + return names.sort(); +} + +module.exports = functions; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/get.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/get.js new file mode 100644 index 00000000..0f57fe04 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/get.js @@ -0,0 +1,14 @@ +var _toPath = require('./_toPath.js'); +var _deepGet = require('./_deepGet.js'); +var isUndefined = require('./isUndefined.js'); + +// Get the value of the (deep) property on `path` from `object`. +// If any property in `path` does not exist or if the value is +// `undefined`, return `defaultValue` instead. +// The `path` is normalized through `_.toPath`. +function get(object, path, defaultValue) { + var value = _deepGet(object, _toPath(path)); + return isUndefined(value) ? defaultValue : value; +} + +module.exports = get; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/groupBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/groupBy.js new file mode 100644 index 00000000..f152f9db --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/groupBy.js @@ -0,0 +1,10 @@ +var _group = require('./_group.js'); +var _has = require('./_has.js'); + +// Groups the object's values by a criterion. Pass either a string attribute +// to group by, or a function that returns the criterion. +var groupBy = _group(function(result, value, key) { + if (_has(result, key)) result[key].push(value); else result[key] = [value]; +}); + +module.exports = groupBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/has.js new file mode 100644 index 00000000..26c123d1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/has.js @@ -0,0 +1,18 @@ +var _has = require('./_has.js'); +var _toPath = require('./_toPath.js'); + +// Shortcut function for checking if an object has a given property directly on +// itself (in other words, not on a prototype). Unlike the internal `has` +// function, this public version can also traverse nested properties. +function has(obj, path) { + path = _toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!_has(obj, key)) return false; + obj = obj[key]; + } + return !!length; +} + +module.exports = has; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/identity.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/identity.js new file mode 100644 index 00000000..d65566a1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/identity.js @@ -0,0 +1,6 @@ +// Keep the identity function around for default iteratees. +function identity(value) { + return value; +} + +module.exports = identity; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index-default.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index-default.js new file mode 100644 index 00000000..46859496 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index-default.js @@ -0,0 +1,11 @@ +var index = require('./index.js'); +var mixin = require('./mixin.js'); + +// Default Export + +// Add all of the Underscore functions to the wrapper object. +var _ = mixin(index); +// Legacy Node.js API. +_._ = _; + +module.exports = _; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index.js new file mode 100644 index 00000000..cb06a751 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/index.js @@ -0,0 +1,278 @@ +Object.defineProperty(exports, '__esModule', { value: true }); + +var _setup = require('./_setup.js'); +var restArguments = require('./restArguments.js'); +var isObject = require('./isObject.js'); +var isNull = require('./isNull.js'); +var isUndefined = require('./isUndefined.js'); +var isBoolean = require('./isBoolean.js'); +var isElement = require('./isElement.js'); +var isString = require('./isString.js'); +var isNumber = require('./isNumber.js'); +var isDate = require('./isDate.js'); +var isRegExp = require('./isRegExp.js'); +var isError = require('./isError.js'); +var isSymbol = require('./isSymbol.js'); +var isArrayBuffer = require('./isArrayBuffer.js'); +var isDataView = require('./isDataView.js'); +var isArray = require('./isArray.js'); +var isFunction = require('./isFunction.js'); +var isArguments = require('./isArguments.js'); +var _isFinite = require('./isFinite.js'); +var _isNaN = require('./isNaN.js'); +var isTypedArray = require('./isTypedArray.js'); +var isEmpty = require('./isEmpty.js'); +var isMatch = require('./isMatch.js'); +var isEqual = require('./isEqual.js'); +var isMap = require('./isMap.js'); +var isWeakMap = require('./isWeakMap.js'); +var isSet = require('./isSet.js'); +var isWeakSet = require('./isWeakSet.js'); +var keys = require('./keys.js'); +var allKeys = require('./allKeys.js'); +var values = require('./values.js'); +var pairs = require('./pairs.js'); +var invert = require('./invert.js'); +var functions = require('./functions.js'); +var extend = require('./extend.js'); +var extendOwn = require('./extendOwn.js'); +var defaults = require('./defaults.js'); +var create = require('./create.js'); +var clone = require('./clone.js'); +var tap = require('./tap.js'); +var get = require('./get.js'); +var has = require('./has.js'); +var mapObject = require('./mapObject.js'); +var identity = require('./identity.js'); +var constant = require('./constant.js'); +var noop = require('./noop.js'); +var toPath = require('./toPath.js'); +var property = require('./property.js'); +var propertyOf = require('./propertyOf.js'); +var matcher = require('./matcher.js'); +var times = require('./times.js'); +var random = require('./random.js'); +var now = require('./now.js'); +var _escape = require('./escape.js'); +var _unescape = require('./unescape.js'); +var templateSettings = require('./templateSettings.js'); +var template = require('./template.js'); +var result = require('./result.js'); +var uniqueId = require('./uniqueId.js'); +var chain = require('./chain.js'); +var iteratee = require('./iteratee.js'); +var partial = require('./partial.js'); +var bind = require('./bind.js'); +var bindAll = require('./bindAll.js'); +var memoize = require('./memoize.js'); +var delay = require('./delay.js'); +var defer = require('./defer.js'); +var throttle = require('./throttle.js'); +var debounce = require('./debounce.js'); +var wrap = require('./wrap.js'); +var negate = require('./negate.js'); +var compose = require('./compose.js'); +var after = require('./after.js'); +var before = require('./before.js'); +var once = require('./once.js'); +var findKey = require('./findKey.js'); +var findIndex = require('./findIndex.js'); +var findLastIndex = require('./findLastIndex.js'); +var sortedIndex = require('./sortedIndex.js'); +var indexOf = require('./indexOf.js'); +var lastIndexOf = require('./lastIndexOf.js'); +var find = require('./find.js'); +var findWhere = require('./findWhere.js'); +var each = require('./each.js'); +var map = require('./map.js'); +var reduce = require('./reduce.js'); +var reduceRight = require('./reduceRight.js'); +var filter = require('./filter.js'); +var reject = require('./reject.js'); +var every = require('./every.js'); +var some = require('./some.js'); +var contains = require('./contains.js'); +var invoke = require('./invoke.js'); +var pluck = require('./pluck.js'); +var where = require('./where.js'); +var max = require('./max.js'); +var min = require('./min.js'); +var shuffle = require('./shuffle.js'); +var sample = require('./sample.js'); +var sortBy = require('./sortBy.js'); +var groupBy = require('./groupBy.js'); +var indexBy = require('./indexBy.js'); +var countBy = require('./countBy.js'); +var partition = require('./partition.js'); +var toArray = require('./toArray.js'); +var size = require('./size.js'); +var pick = require('./pick.js'); +var omit = require('./omit.js'); +var first = require('./first.js'); +var initial = require('./initial.js'); +var last = require('./last.js'); +var rest = require('./rest.js'); +var compact = require('./compact.js'); +var flatten = require('./flatten.js'); +var without = require('./without.js'); +var uniq = require('./uniq.js'); +var union = require('./union.js'); +var intersection = require('./intersection.js'); +var difference = require('./difference.js'); +var unzip = require('./unzip.js'); +var zip = require('./zip.js'); +var object = require('./object.js'); +var range = require('./range.js'); +var chunk = require('./chunk.js'); +var mixin = require('./mixin.js'); +require('./underscore-array-methods.js'); +var underscore = require('./underscore.js'); + +// Named Exports + +exports.VERSION = _setup.VERSION; +exports.restArguments = restArguments; +exports.isObject = isObject; +exports.isNull = isNull; +exports.isUndefined = isUndefined; +exports.isBoolean = isBoolean; +exports.isElement = isElement; +exports.isString = isString; +exports.isNumber = isNumber; +exports.isDate = isDate; +exports.isRegExp = isRegExp; +exports.isError = isError; +exports.isSymbol = isSymbol; +exports.isArrayBuffer = isArrayBuffer; +exports.isDataView = isDataView; +exports.isArray = isArray; +exports.isFunction = isFunction; +exports.isArguments = isArguments; +exports.isFinite = _isFinite; +exports.isNaN = _isNaN; +exports.isTypedArray = isTypedArray; +exports.isEmpty = isEmpty; +exports.isMatch = isMatch; +exports.isEqual = isEqual; +exports.isMap = isMap; +exports.isWeakMap = isWeakMap; +exports.isSet = isSet; +exports.isWeakSet = isWeakSet; +exports.keys = keys; +exports.allKeys = allKeys; +exports.values = values; +exports.pairs = pairs; +exports.invert = invert; +exports.functions = functions; +exports.methods = functions; +exports.extend = extend; +exports.assign = extendOwn; +exports.extendOwn = extendOwn; +exports.defaults = defaults; +exports.create = create; +exports.clone = clone; +exports.tap = tap; +exports.get = get; +exports.has = has; +exports.mapObject = mapObject; +exports.identity = identity; +exports.constant = constant; +exports.noop = noop; +exports.toPath = toPath; +exports.property = property; +exports.propertyOf = propertyOf; +exports.matcher = matcher; +exports.matches = matcher; +exports.times = times; +exports.random = random; +exports.now = now; +exports.escape = _escape; +exports.unescape = _unescape; +exports.templateSettings = templateSettings; +exports.template = template; +exports.result = result; +exports.uniqueId = uniqueId; +exports.chain = chain; +exports.iteratee = iteratee; +exports.partial = partial; +exports.bind = bind; +exports.bindAll = bindAll; +exports.memoize = memoize; +exports.delay = delay; +exports.defer = defer; +exports.throttle = throttle; +exports.debounce = debounce; +exports.wrap = wrap; +exports.negate = negate; +exports.compose = compose; +exports.after = after; +exports.before = before; +exports.once = once; +exports.findKey = findKey; +exports.findIndex = findIndex; +exports.findLastIndex = findLastIndex; +exports.sortedIndex = sortedIndex; +exports.indexOf = indexOf; +exports.lastIndexOf = lastIndexOf; +exports.detect = find; +exports.find = find; +exports.findWhere = findWhere; +exports.each = each; +exports.forEach = each; +exports.collect = map; +exports.map = map; +exports.foldl = reduce; +exports.inject = reduce; +exports.reduce = reduce; +exports.foldr = reduceRight; +exports.reduceRight = reduceRight; +exports.filter = filter; +exports.select = filter; +exports.reject = reject; +exports.all = every; +exports.every = every; +exports.any = some; +exports.some = some; +exports.contains = contains; +exports.include = contains; +exports.includes = contains; +exports.invoke = invoke; +exports.pluck = pluck; +exports.where = where; +exports.max = max; +exports.min = min; +exports.shuffle = shuffle; +exports.sample = sample; +exports.sortBy = sortBy; +exports.groupBy = groupBy; +exports.indexBy = indexBy; +exports.countBy = countBy; +exports.partition = partition; +exports.toArray = toArray; +exports.size = size; +exports.pick = pick; +exports.omit = omit; +exports.first = first; +exports.head = first; +exports.take = first; +exports.initial = initial; +exports.last = last; +exports.drop = rest; +exports.rest = rest; +exports.tail = rest; +exports.compact = compact; +exports.flatten = flatten; +exports.without = without; +exports.uniq = uniq; +exports.unique = uniq; +exports.union = union; +exports.intersection = intersection; +exports.difference = difference; +exports.transpose = unzip; +exports.unzip = unzip; +exports.zip = zip; +exports.object = object; +exports.range = range; +exports.chunk = chunk; +exports.mixin = mixin; +exports.default = underscore; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexBy.js new file mode 100644 index 00000000..89ff21af --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexBy.js @@ -0,0 +1,9 @@ +var _group = require('./_group.js'); + +// Indexes the object's values by a criterion, similar to `_.groupBy`, but for +// when you know that your index values will be unique. +var indexBy = _group(function(result, value, key) { + result[key] = value; +}); + +module.exports = indexBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexOf.js new file mode 100644 index 00000000..ef3352b0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/indexOf.js @@ -0,0 +1,11 @@ +var sortedIndex = require('./sortedIndex.js'); +var findIndex = require('./findIndex.js'); +var _createIndexFinder = require('./_createIndexFinder.js'); + +// Return the position of the first occurrence of an item in an array, +// or -1 if the item is not included in the array. +// If the array is large and already in sort order, pass `true` +// for **isSorted** to use binary search. +var indexOf = _createIndexFinder(1, findIndex, sortedIndex); + +module.exports = indexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/initial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/initial.js new file mode 100644 index 00000000..9db2cd28 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/initial.js @@ -0,0 +1,10 @@ +var _setup = require('./_setup.js'); + +// Returns everything but the last entry of the array. Especially useful on +// the arguments object. Passing **n** will return all the values in +// the array, excluding the last N. +function initial(array, n, guard) { + return _setup.slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); +} + +module.exports = initial; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/intersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/intersection.js new file mode 100644 index 00000000..e28fe2fd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/intersection.js @@ -0,0 +1,21 @@ +var _getLength = require('./_getLength.js'); +var contains = require('./contains.js'); + +// Produce an array that contains every item shared between all the +// passed-in arrays. +function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = _getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; +} + +module.exports = intersection; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invert.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invert.js new file mode 100644 index 00000000..a0c51506 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invert.js @@ -0,0 +1,13 @@ +var keys = require('./keys.js'); + +// Invert the keys and values of an object. The values must be serializable. +function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; +} + +module.exports = invert; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invoke.js new file mode 100644 index 00000000..e2f1267c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/invoke.js @@ -0,0 +1,30 @@ +var restArguments = require('./restArguments.js'); +var isFunction = require('./isFunction.js'); +var map = require('./map.js'); +var _deepGet = require('./_deepGet.js'); +var _toPath = require('./_toPath.js'); + +// Invoke a method (with arguments) on every item in a collection. +var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction(path)) { + func = path; + } else { + path = _toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = _deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); +}); + +module.exports = invoke; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArguments.js new file mode 100644 index 00000000..8b33b111 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArguments.js @@ -0,0 +1,18 @@ +var _tagTester = require('./_tagTester.js'); +var _has = require('./_has.js'); + +var isArguments = _tagTester('Arguments'); + +// Define a fallback version of the method in browsers (ahem, IE < 9), where +// there isn't any inspectable "Arguments" type. +(function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return _has(obj, 'callee'); + }; + } +}()); + +var isArguments$1 = isArguments; + +module.exports = isArguments$1; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArray.js new file mode 100644 index 00000000..abcdad3a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArray.js @@ -0,0 +1,8 @@ +var _setup = require('./_setup.js'); +var _tagTester = require('./_tagTester.js'); + +// Is a given value an array? +// Delegates to ECMA5's native `Array.isArray`. +var isArray = _setup.nativeIsArray || _tagTester('Array'); + +module.exports = isArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArrayBuffer.js new file mode 100644 index 00000000..c69523f3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isArrayBuffer.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isArrayBuffer = _tagTester('ArrayBuffer'); + +module.exports = isArrayBuffer; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isBoolean.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isBoolean.js new file mode 100644 index 00000000..29b82d81 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isBoolean.js @@ -0,0 +1,8 @@ +var _setup = require('./_setup.js'); + +// Is a given value a boolean? +function isBoolean(obj) { + return obj === true || obj === false || _setup.toString.call(obj) === '[object Boolean]'; +} + +module.exports = isBoolean; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDataView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDataView.js new file mode 100644 index 00000000..e74b6ec2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDataView.js @@ -0,0 +1,16 @@ +var _tagTester = require('./_tagTester.js'); +var isFunction = require('./isFunction.js'); +var isArrayBuffer = require('./isArrayBuffer.js'); +var _stringTagBug = require('./_stringTagBug.js'); + +var isDataView = _tagTester('DataView'); + +// In IE 10 - Edge 13, we need a different heuristic +// to determine whether an object is a `DataView`. +function ie10IsDataView(obj) { + return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer); +} + +var isDataView$1 = (_stringTagBug.hasStringTagBug ? ie10IsDataView : isDataView); + +module.exports = isDataView$1; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDate.js new file mode 100644 index 00000000..e342bc90 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isDate.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isDate = _tagTester('Date'); + +module.exports = isDate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isElement.js new file mode 100644 index 00000000..13b63ccf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isElement.js @@ -0,0 +1,6 @@ +// Is a given value a DOM element? +function isElement(obj) { + return !!(obj && obj.nodeType === 1); +} + +module.exports = isElement; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEmpty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEmpty.js new file mode 100644 index 00000000..2f1e315a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEmpty.js @@ -0,0 +1,20 @@ +var _getLength = require('./_getLength.js'); +var isArray = require('./isArray.js'); +var isString = require('./isString.js'); +var isArguments = require('./isArguments.js'); +var keys = require('./keys.js'); + +// Is a given array, string, or object empty? +// An "empty" object has no enumerable own-properties. +function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = _getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments(obj) + )) return length === 0; + return _getLength(keys(obj)) === 0; +} + +module.exports = isEmpty; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEqual.js new file mode 100644 index 00000000..34bf5e62 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isEqual.js @@ -0,0 +1,140 @@ +var underscore = require('./underscore.js'); +var _setup = require('./_setup.js'); +var _getByteLength = require('./_getByteLength.js'); +var isTypedArray = require('./isTypedArray.js'); +var isFunction = require('./isFunction.js'); +var _stringTagBug = require('./_stringTagBug.js'); +var isDataView = require('./isDataView.js'); +var keys = require('./keys.js'); +var _has = require('./_has.js'); +var _toBufferView = require('./_toBufferView.js'); + +// We use this string twice, so give it a name for minification. +var tagDataView = '[object DataView]'; + +// Internal recursive comparison function for `_.isEqual`. +function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); +} + +// Internal recursive comparison function for `_.isEqual`. +function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof underscore) a = a._wrapped; + if (b instanceof underscore) b = b._wrapped; + // Compare `[[Class]]` names. + var className = _setup.toString.call(a); + if (className !== _setup.toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (_stringTagBug.hasStringTagBug && className == '[object Object]' && isDataView(a)) { + if (!isDataView(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return _setup.SymbolProto.valueOf.call(a) === _setup.SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(_toBufferView(a), _toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray(a)) { + var byteLength = _getByteLength(a); + if (byteLength !== _getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && + isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(_has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; +} + +// Perform a deep comparison to check if two objects are equal. +function isEqual(a, b) { + return eq(a, b); +} + +module.exports = isEqual; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isError.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isError.js new file mode 100644 index 00000000..a2df9142 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isError.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isError = _tagTester('Error'); + +module.exports = isError; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFinite.js new file mode 100644 index 00000000..5359c3a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFinite.js @@ -0,0 +1,9 @@ +var _setup = require('./_setup.js'); +var isSymbol = require('./isSymbol.js'); + +// Is a given object a finite number? +function isFinite(obj) { + return !isSymbol(obj) && _setup._isFinite(obj) && !isNaN(parseFloat(obj)); +} + +module.exports = isFinite; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFunction.js new file mode 100644 index 00000000..a1c5968a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isFunction.js @@ -0,0 +1,17 @@ +var _tagTester = require('./_tagTester.js'); +var _setup = require('./_setup.js'); + +var isFunction = _tagTester('Function'); + +// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old +// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). +var nodelist = _setup.root.document && _setup.root.document.childNodes; +if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; +} + +var isFunction$1 = isFunction; + +module.exports = isFunction$1; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMap.js new file mode 100644 index 00000000..a7dfb03b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMap.js @@ -0,0 +1,7 @@ +var _tagTester = require('./_tagTester.js'); +var _stringTagBug = require('./_stringTagBug.js'); +var _methodFingerprint = require('./_methodFingerprint.js'); + +var isMap = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.mapMethods) : _tagTester('Map'); + +module.exports = isMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMatch.js new file mode 100644 index 00000000..7b6c5000 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isMatch.js @@ -0,0 +1,15 @@ +var keys = require('./keys.js'); + +// Returns whether an object has a given set of `key:value` pairs. +function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; +} + +module.exports = isMatch; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNaN.js new file mode 100644 index 00000000..f6ade7e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNaN.js @@ -0,0 +1,9 @@ +var _setup = require('./_setup.js'); +var isNumber = require('./isNumber.js'); + +// Is the given value `NaN`? +function isNaN(obj) { + return isNumber(obj) && _setup._isNaN(obj); +} + +module.exports = isNaN; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNull.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNull.js new file mode 100644 index 00000000..43705a42 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNull.js @@ -0,0 +1,6 @@ +// Is a given value equal to null? +function isNull(obj) { + return obj === null; +} + +module.exports = isNull; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNumber.js new file mode 100644 index 00000000..52d5b448 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isNumber.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isNumber = _tagTester('Number'); + +module.exports = isNumber; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isObject.js new file mode 100644 index 00000000..6f9ae3b9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isObject.js @@ -0,0 +1,7 @@ +// Is a given variable an object? +function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); +} + +module.exports = isObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isRegExp.js new file mode 100644 index 00000000..3026bab9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isRegExp.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isRegExp = _tagTester('RegExp'); + +module.exports = isRegExp; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSet.js new file mode 100644 index 00000000..a28c1d94 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSet.js @@ -0,0 +1,7 @@ +var _tagTester = require('./_tagTester.js'); +var _stringTagBug = require('./_stringTagBug.js'); +var _methodFingerprint = require('./_methodFingerprint.js'); + +var isSet = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.setMethods) : _tagTester('Set'); + +module.exports = isSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isString.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isString.js new file mode 100644 index 00000000..c7c38874 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isString.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isString = _tagTester('String'); + +module.exports = isString; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSymbol.js new file mode 100644 index 00000000..140a54ef --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isSymbol.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isSymbol = _tagTester('Symbol'); + +module.exports = isSymbol; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isTypedArray.js new file mode 100644 index 00000000..c3b467f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isTypedArray.js @@ -0,0 +1,17 @@ +var _setup = require('./_setup.js'); +var isDataView = require('./isDataView.js'); +var constant = require('./constant.js'); +var _isBufferLike = require('./_isBufferLike.js'); + +// Is a given value a typed array? +var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; +function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return _setup.nativeIsView ? (_setup.nativeIsView(obj) && !isDataView(obj)) : + _isBufferLike(obj) && typedArrayPattern.test(_setup.toString.call(obj)); +} + +var isTypedArray$1 = _setup.supportsArrayBuffer ? isTypedArray : constant(false); + +module.exports = isTypedArray$1; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isUndefined.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isUndefined.js new file mode 100644 index 00000000..e59c968b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isUndefined.js @@ -0,0 +1,6 @@ +// Is a given variable undefined? +function isUndefined(obj) { + return obj === void 0; +} + +module.exports = isUndefined; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakMap.js new file mode 100644 index 00000000..ee3c10e7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakMap.js @@ -0,0 +1,7 @@ +var _tagTester = require('./_tagTester.js'); +var _stringTagBug = require('./_stringTagBug.js'); +var _methodFingerprint = require('./_methodFingerprint.js'); + +var isWeakMap = _stringTagBug.isIE11 ? _methodFingerprint.ie11fingerprint(_methodFingerprint.weakMapMethods) : _tagTester('WeakMap'); + +module.exports = isWeakMap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakSet.js new file mode 100644 index 00000000..06104ea6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/isWeakSet.js @@ -0,0 +1,5 @@ +var _tagTester = require('./_tagTester.js'); + +var isWeakSet = _tagTester('WeakSet'); + +module.exports = isWeakSet; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/iteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/iteratee.js new file mode 100644 index 00000000..52b52758 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/iteratee.js @@ -0,0 +1,12 @@ +var underscore = require('./underscore.js'); +var _baseIteratee = require('./_baseIteratee.js'); + +// External wrapper for our callback generator. Users may customize +// `_.iteratee` if they want additional predicate/iteratee shorthand styles. +// This abstraction hides the internal-only `argCount` argument. +function iteratee(value, context) { + return _baseIteratee(value, context, Infinity); +} +underscore.iteratee = iteratee; + +module.exports = iteratee; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/keys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/keys.js new file mode 100644 index 00000000..9caff250 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/keys.js @@ -0,0 +1,18 @@ +var isObject = require('./isObject.js'); +var _setup = require('./_setup.js'); +var _has = require('./_has.js'); +var _collectNonEnumProps = require('./_collectNonEnumProps.js'); + +// Retrieve the names of an object's own properties. +// Delegates to **ECMAScript 5**'s native `Object.keys`. +function keys(obj) { + if (!isObject(obj)) return []; + if (_setup.nativeKeys) return _setup.nativeKeys(obj); + var keys = []; + for (var key in obj) if (_has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (_setup.hasEnumBug) _collectNonEnumProps(obj, keys); + return keys; +} + +module.exports = keys; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/last.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/last.js new file mode 100644 index 00000000..9a9ff6d1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/last.js @@ -0,0 +1,11 @@ +var rest = require('./rest.js'); + +// Get the last element of an array. Passing **n** will return the last N +// values in the array. +function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); +} + +module.exports = last; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/lastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/lastIndexOf.js new file mode 100644 index 00000000..d7af8580 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/lastIndexOf.js @@ -0,0 +1,8 @@ +var findLastIndex = require('./findLastIndex.js'); +var _createIndexFinder = require('./_createIndexFinder.js'); + +// Return the position of the last occurrence of an item in an array, +// or -1 if the item is not included in the array. +var lastIndexOf = _createIndexFinder(-1, findLastIndex); + +module.exports = lastIndexOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/map.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/map.js new file mode 100644 index 00000000..e44d51d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/map.js @@ -0,0 +1,18 @@ +var _cb = require('./_cb.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); + +// Return the results of applying the iteratee to each element. +function map(obj, iteratee, context) { + iteratee = _cb(iteratee, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +module.exports = map; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mapObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mapObject.js new file mode 100644 index 00000000..883caa75 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mapObject.js @@ -0,0 +1,18 @@ +var _cb = require('./_cb.js'); +var keys = require('./keys.js'); + +// Returns the results of applying the `iteratee` to each element of `obj`. +// In contrast to `_.map` it returns an object. +function mapObject(obj, iteratee, context) { + iteratee = _cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +module.exports = mapObject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/matcher.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/matcher.js new file mode 100644 index 00000000..579f8a8d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/matcher.js @@ -0,0 +1,13 @@ +var extendOwn = require('./extendOwn.js'); +var isMatch = require('./isMatch.js'); + +// Returns a predicate for checking whether an object has a given set of +// `key:value` pairs. +function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; +} + +module.exports = matcher; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/max.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/max.js new file mode 100644 index 00000000..2b06f514 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/max.js @@ -0,0 +1,31 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var values = require('./values.js'); +var _cb = require('./_cb.js'); +var each = require('./each.js'); + +// Return the maximum element (or element-based computation). +function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = _isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = _cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +module.exports = max; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/memoize.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/memoize.js new file mode 100644 index 00000000..9d5b4e2d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/memoize.js @@ -0,0 +1,15 @@ +var _has = require('./_has.js'); + +// Memoize an expensive function by storing its results. +function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!_has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; +} + +module.exports = memoize; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/min.js new file mode 100644 index 00000000..17de77dd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/min.js @@ -0,0 +1,31 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var values = require('./values.js'); +var _cb = require('./_cb.js'); +var each = require('./each.js'); + +// Return the minimum element (or element-based computation). +function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = _isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = _cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +module.exports = min; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mixin.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mixin.js new file mode 100644 index 00000000..a0fbb3a4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/mixin.js @@ -0,0 +1,20 @@ +var underscore = require('./underscore.js'); +var each = require('./each.js'); +var functions = require('./functions.js'); +var _setup = require('./_setup.js'); +var _chainResult = require('./_chainResult.js'); + +// Add your own custom functions to the Underscore object. +function mixin(obj) { + each(functions(obj), function(name) { + var func = underscore[name] = obj[name]; + underscore.prototype[name] = function() { + var args = [this._wrapped]; + _setup.push.apply(args, arguments); + return _chainResult(this, func.apply(underscore, args)); + }; + }); + return underscore; +} + +module.exports = mixin; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/negate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/negate.js new file mode 100644 index 00000000..d4a22ed4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/negate.js @@ -0,0 +1,8 @@ +// Returns a negated version of the passed-in predicate. +function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; +} + +module.exports = negate; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/noop.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/noop.js new file mode 100644 index 00000000..4d355ba5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/noop.js @@ -0,0 +1,4 @@ +// Predicate-generating function. Often useful outside of Underscore. +function noop(){} + +module.exports = noop; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/now.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/now.js new file mode 100644 index 00000000..746e66e6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/now.js @@ -0,0 +1,6 @@ +// A (possibly faster) way to get the current timestamp as an integer. +var now = Date.now || function() { + return new Date().getTime(); +}; + +module.exports = now; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/object.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/object.js new file mode 100644 index 00000000..583b3208 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/object.js @@ -0,0 +1,18 @@ +var _getLength = require('./_getLength.js'); + +// Converts lists into objects. Pass either a single array of `[key, value]` +// pairs, or two parallel arrays of the same length -- one of keys, and one of +// the corresponding values. Passing by pairs is the reverse of `_.pairs`. +function object(list, values) { + var result = {}; + for (var i = 0, length = _getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; +} + +module.exports = object; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/omit.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/omit.js new file mode 100644 index 00000000..b80651bf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/omit.js @@ -0,0 +1,24 @@ +var restArguments = require('./restArguments.js'); +var isFunction = require('./isFunction.js'); +var negate = require('./negate.js'); +var map = require('./map.js'); +var _flatten = require('./_flatten.js'); +var contains = require('./contains.js'); +var pick = require('./pick.js'); + +// Return a copy of the object without the disallowed properties. +var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(_flatten(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); +}); + +module.exports = omit; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/once.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/once.js new file mode 100644 index 00000000..d9cb81da --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/once.js @@ -0,0 +1,8 @@ +var partial = require('./partial.js'); +var before = require('./before.js'); + +// Returns a function that will be executed at most one time, no matter how +// often you call it. Useful for lazy initialization. +var once = partial(before, 2); + +module.exports = once; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pairs.js new file mode 100644 index 00000000..399243e0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pairs.js @@ -0,0 +1,15 @@ +var keys = require('./keys.js'); + +// Convert an object into a list of `[key, value]` pairs. +// The opposite of `_.object` with one argument. +function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; +} + +module.exports = pairs; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partial.js new file mode 100644 index 00000000..d6f5bd80 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partial.js @@ -0,0 +1,25 @@ +var restArguments = require('./restArguments.js'); +var _executeBound = require('./_executeBound.js'); +var underscore = require('./underscore.js'); + +// Partially apply a function by creating a version that has had some of its +// arguments pre-filled, without changing its dynamic `this` context. `_` acts +// as a placeholder by default, allowing any combination of arguments to be +// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. +var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return _executeBound(func, bound, this, this, args); + }; + return bound; +}); + +partial.placeholder = underscore; + +module.exports = partial; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partition.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partition.js new file mode 100644 index 00000000..294786fe --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/partition.js @@ -0,0 +1,9 @@ +var _group = require('./_group.js'); + +// Split a collection into two arrays: one whose elements all pass the given +// truth test, and one whose elements all do not pass the truth test. +var partition = _group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); +}, true); + +module.exports = partition; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pick.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pick.js new file mode 100644 index 00000000..df742202 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pick.js @@ -0,0 +1,28 @@ +var restArguments = require('./restArguments.js'); +var isFunction = require('./isFunction.js'); +var _optimizeCb = require('./_optimizeCb.js'); +var allKeys = require('./allKeys.js'); +var _keyInObj = require('./_keyInObj.js'); +var _flatten = require('./_flatten.js'); + +// Return a copy of the object only containing the allowed properties. +var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction(iteratee)) { + if (keys.length > 1) iteratee = _optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = _keyInObj; + keys = _flatten(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; +}); + +module.exports = pick; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pluck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pluck.js new file mode 100644 index 00000000..043c1b40 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/pluck.js @@ -0,0 +1,9 @@ +var map = require('./map.js'); +var property = require('./property.js'); + +// Convenience version of a common use case of `_.map`: fetching a property. +function pluck(obj, key) { + return map(obj, property(key)); +} + +module.exports = pluck; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/property.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/property.js new file mode 100644 index 00000000..e7b069d6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/property.js @@ -0,0 +1,13 @@ +var _deepGet = require('./_deepGet.js'); +var _toPath = require('./_toPath.js'); + +// Creates a function that, when passed an object, will traverse that object’s +// properties down the given `path`, specified as an array of keys or indices. +function property(path) { + path = _toPath(path); + return function(obj) { + return _deepGet(obj, path); + }; +} + +module.exports = property; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/propertyOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/propertyOf.js new file mode 100644 index 00000000..2039a32e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/propertyOf.js @@ -0,0 +1,12 @@ +var noop = require('./noop.js'); +var get = require('./get.js'); + +// Generates a function for a given object that returns a given property. +function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; +} + +module.exports = propertyOf; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/random.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/random.js new file mode 100644 index 00000000..cb9a0abc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/random.js @@ -0,0 +1,10 @@ +// Return a random integer between `min` and `max` (inclusive). +function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); +} + +module.exports = random; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/range.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/range.js new file mode 100644 index 00000000..7a5a2413 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/range.js @@ -0,0 +1,23 @@ +// Generate an integer Array containing an arithmetic progression. A port of +// the native Python `range()` function. See +// [the Python documentation](https://docs.python.org/library/functions.html#range). +function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; +} + +module.exports = range; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduce.js new file mode 100644 index 00000000..170b1b09 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduce.js @@ -0,0 +1,7 @@ +var _createReduce = require('./_createReduce.js'); + +// **Reduce** builds up a single result from a list of values, aka `inject`, +// or `foldl`. +var reduce = _createReduce(1); + +module.exports = reduce; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduceRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduceRight.js new file mode 100644 index 00000000..52413d79 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reduceRight.js @@ -0,0 +1,6 @@ +var _createReduce = require('./_createReduce.js'); + +// The right-associative version of reduce, also known as `foldr`. +var reduceRight = _createReduce(-1); + +module.exports = reduceRight; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reject.js new file mode 100644 index 00000000..8608b63c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/reject.js @@ -0,0 +1,10 @@ +var filter = require('./filter.js'); +var negate = require('./negate.js'); +var _cb = require('./_cb.js'); + +// Return all the elements for which a truth test fails. +function reject(obj, predicate, context) { + return filter(obj, negate(_cb(predicate)), context); +} + +module.exports = reject; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/rest.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/rest.js new file mode 100644 index 00000000..4ce76623 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/rest.js @@ -0,0 +1,10 @@ +var _setup = require('./_setup.js'); + +// Returns everything but the first entry of the `array`. Especially useful on +// the `arguments` object. Passing an **n** will return the rest N values in the +// `array`. +function rest(array, n, guard) { + return _setup.slice.call(array, n == null || guard ? 1 : n); +} + +module.exports = rest; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/restArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/restArguments.js new file mode 100644 index 00000000..b292cb4c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/restArguments.js @@ -0,0 +1,29 @@ +// Some functions take a variable number of arguments, or a few expected +// arguments at the beginning and then a variable number of values to operate +// on. This helper accumulates all remaining arguments past the function’s +// argument length (or an explicit `startIndex`), into an array that becomes +// the last argument. Similar to ES6’s "rest parameter". +function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; +} + +module.exports = restArguments; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/result.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/result.js new file mode 100644 index 00000000..7bd3fb65 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/result.js @@ -0,0 +1,24 @@ +var isFunction = require('./isFunction.js'); +var _toPath = require('./_toPath.js'); + +// Traverses the children of `obj` along `path`. If a child is a function, it +// is invoked with its parent as context. Returns the value of the final +// child, or `fallback` if any child is undefined. +function result(obj, path, fallback) { + path = _toPath(path); + var length = path.length; + if (!length) { + return isFunction(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction(prop) ? prop.call(obj) : prop; + } + return obj; +} + +module.exports = result; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sample.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sample.js new file mode 100644 index 00000000..c640ff4f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sample.js @@ -0,0 +1,29 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var values = require('./values.js'); +var _getLength = require('./_getLength.js'); +var random = require('./random.js'); +var toArray = require('./toArray.js'); + +// Sample **n** random values from a collection using the modern version of the +// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). +// If **n** is not specified, returns a single random element. +// The internal `guard` argument allows it to work with `_.map`. +function sample(obj, n, guard) { + if (n == null || guard) { + if (!_isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = _getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); +} + +module.exports = sample; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/shuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/shuffle.js new file mode 100644 index 00000000..2694917e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/shuffle.js @@ -0,0 +1,8 @@ +var sample = require('./sample.js'); + +// Shuffle a collection. +function shuffle(obj) { + return sample(obj, Infinity); +} + +module.exports = shuffle; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/size.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/size.js new file mode 100644 index 00000000..a65f4c08 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/size.js @@ -0,0 +1,10 @@ +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); + +// Return the number of elements in a collection. +function size(obj) { + if (obj == null) return 0; + return _isArrayLike(obj) ? obj.length : keys(obj).length; +} + +module.exports = size; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/some.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/some.js new file mode 100644 index 00000000..346752ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/some.js @@ -0,0 +1,17 @@ +var _cb = require('./_cb.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var keys = require('./keys.js'); + +// Determine if at least one element in the object passes a truth test. +function some(obj, predicate, context) { + predicate = _cb(predicate, context); + var _keys = !_isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; +} + +module.exports = some; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortBy.js new file mode 100644 index 00000000..28dae07f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortBy.js @@ -0,0 +1,26 @@ +var _cb = require('./_cb.js'); +var pluck = require('./pluck.js'); +var map = require('./map.js'); + +// Sort the object's values by a criterion produced by an iteratee. +function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = _cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); +} + +module.exports = sortBy; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortedIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortedIndex.js new file mode 100644 index 00000000..1f261713 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/sortedIndex.js @@ -0,0 +1,17 @@ +var _cb = require('./_cb.js'); +var _getLength = require('./_getLength.js'); + +// Use a comparator function to figure out the smallest index at which +// an object should be inserted so as to maintain order. Uses binary search. +function sortedIndex(array, obj, iteratee, context) { + iteratee = _cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = _getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; +} + +module.exports = sortedIndex; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/tap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/tap.js new file mode 100644 index 00000000..3dc681f8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/tap.js @@ -0,0 +1,9 @@ +// Invokes `interceptor` with the `obj` and then returns `obj`. +// The primary purpose of this method is to "tap into" a method chain, in +// order to perform operations on intermediate results within the chain. +function tap(obj, interceptor) { + interceptor(obj); + return obj; +} + +module.exports = tap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/template.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/template.js new file mode 100644 index 00000000..cf626aa6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/template.js @@ -0,0 +1,103 @@ +var defaults = require('./defaults.js'); +var underscore = require('./underscore.js'); +require('./templateSettings.js'); + +// When customizing `_.templateSettings`, if you don't want to define an +// interpolation, evaluation or escaping regex, we need one that is +// guaranteed not to match. +var noMatch = /(.)^/; + +// Certain characters need to be escaped so that they can be put into a +// string literal. +var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + +function escapeChar(match) { + return '\\' + escapes[match]; +} + +// In order to prevent third-party code injection through +// `_.templateSettings.variable`, we test it against the following regular +// expression. It is intentionally a bit more liberal than just matching valid +// identifiers, but still prevents possible loopholes through defaults or +// destructuring assignment. +var bareIdentifier = /^\s*(\w|\$)+\s*$/; + +// JavaScript micro-templating, similar to John Resig's implementation. +// Underscore templating handles arbitrary delimiters, preserves whitespace, +// and correctly escapes quotes within interpolated code. +// NB: `oldSettings` only exists for backwards compatibility. +function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, underscore.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, underscore); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; +} + +module.exports = template; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/templateSettings.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/templateSettings.js new file mode 100644 index 00000000..4b557989 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/templateSettings.js @@ -0,0 +1,11 @@ +var underscore = require('./underscore.js'); + +// By default, Underscore uses ERB-style template delimiters. Change the +// following template settings to use alternative delimiters. +var templateSettings = underscore.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g +}; + +module.exports = templateSettings; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/throttle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/throttle.js new file mode 100644 index 00000000..3b013d92 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/throttle.js @@ -0,0 +1,49 @@ +var now = require('./now.js'); + +// Returns a function, that, when invoked, will only be triggered at most once +// during a given window of time. Normally, the throttled function will run +// as much as it can, without ever going more than once per `wait` duration; +// but if you'd like to disable the execution on the leading edge, pass +// `{leading: false}`. To disable execution on the trailing edge, ditto. +function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; +} + +module.exports = throttle; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/times.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/times.js new file mode 100644 index 00000000..0a36b794 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/times.js @@ -0,0 +1,11 @@ +var _optimizeCb = require('./_optimizeCb.js'); + +// Run a function **n** times. +function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = _optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; +} + +module.exports = times; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toArray.js new file mode 100644 index 00000000..4f29a058 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toArray.js @@ -0,0 +1,22 @@ +var isArray = require('./isArray.js'); +var _setup = require('./_setup.js'); +var isString = require('./isString.js'); +var _isArrayLike = require('./_isArrayLike.js'); +var map = require('./map.js'); +var identity = require('./identity.js'); +var values = require('./values.js'); + +// Safely create a real, live array from anything iterable. +var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; +function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return _setup.slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (_isArrayLike(obj)) return map(obj, identity); + return values(obj); +} + +module.exports = toArray; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toPath.js new file mode 100644 index 00000000..94f41c90 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/toPath.js @@ -0,0 +1,11 @@ +var underscore = require('./underscore.js'); +var isArray = require('./isArray.js'); + +// Normalize a (deep) property `path` to array. +// Like `_.iteratee`, this function can be customized. +function toPath(path) { + return isArray(path) ? path : [path]; +} +underscore.toPath = toPath; + +module.exports = toPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore-array-methods.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore-array-methods.js new file mode 100644 index 00000000..baf2d18c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore-array-methods.js @@ -0,0 +1,31 @@ +var underscore = require('./underscore.js'); +var each = require('./each.js'); +var _setup = require('./_setup.js'); +var _chainResult = require('./_chainResult.js'); + +// Add all mutator `Array` functions to the wrapper. +each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = _setup.ArrayProto[name]; + underscore.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return _chainResult(this, obj); + }; +}); + +// Add all accessor `Array` functions to the wrapper. +each(['concat', 'join', 'slice'], function(name) { + var method = _setup.ArrayProto[name]; + underscore.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return _chainResult(this, obj); + }; +}); + +module.exports = underscore; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore.js new file mode 100644 index 00000000..d3cf8091 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/underscore.js @@ -0,0 +1,27 @@ +var _setup = require('./_setup.js'); + +// If Underscore is called as a function, it returns a wrapped object that can +// be used OO-style. This wrapper holds altered versions of all functions added +// through `_.mixin`. Wrapped objects may be chained. +function _(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; +} + +_.VERSION = _setup.VERSION; + +// Extracts the result from a wrapped and chained object. +_.prototype.value = function() { + return this._wrapped; +}; + +// Provide unwrapping proxies for some methods used in engine operations +// such as arithmetic and JSON stringification. +_.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + +_.prototype.toString = function() { + return String(this._wrapped); +}; + +module.exports = _; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unescape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unescape.js new file mode 100644 index 00000000..2d5a5975 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unescape.js @@ -0,0 +1,7 @@ +var _createEscaper = require('./_createEscaper.js'); +var _unescapeMap = require('./_unescapeMap.js'); + +// Function for unescaping strings from HTML interpolation. +var _unescape = _createEscaper(_unescapeMap); + +module.exports = _unescape; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/union.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/union.js new file mode 100644 index 00000000..fb15bcbf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/union.js @@ -0,0 +1,11 @@ +var restArguments = require('./restArguments.js'); +var uniq = require('./uniq.js'); +var _flatten = require('./_flatten.js'); + +// Produce an array that contains the union: each distinct element from all of +// the passed-in arrays. +var union = restArguments(function(arrays) { + return uniq(_flatten(arrays, true, true)); +}); + +module.exports = union; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniq.js new file mode 100644 index 00000000..2e8f6837 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniq.js @@ -0,0 +1,38 @@ +var isBoolean = require('./isBoolean.js'); +var _cb = require('./_cb.js'); +var _getLength = require('./_getLength.js'); +var contains = require('./contains.js'); + +// Produce a duplicate-free version of the array. If the array has already +// been sorted, you have the option of using a faster algorithm. +// The faster algorithm will not work with an iteratee if the iteratee +// is not a one-to-one function, so providing an iteratee will disable +// the faster algorithm. +function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = _cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = _getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; +} + +module.exports = uniq; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniqueId.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniqueId.js new file mode 100644 index 00000000..e639e837 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/uniqueId.js @@ -0,0 +1,9 @@ +// Generate a unique integer id (unique within the entire client session). +// Useful for temporary DOM ids. +var idCounter = 0; +function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; +} + +module.exports = uniqueId; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unzip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unzip.js new file mode 100644 index 00000000..2493e542 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/unzip.js @@ -0,0 +1,17 @@ +var max = require('./max.js'); +var _getLength = require('./_getLength.js'); +var pluck = require('./pluck.js'); + +// Complement of zip. Unzip accepts an array of arrays and groups +// each array's elements on shared indices. +function unzip(array) { + var length = (array && max(array, _getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; +} + +module.exports = unzip; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/values.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/values.js new file mode 100644 index 00000000..393c8b7a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/values.js @@ -0,0 +1,14 @@ +var keys = require('./keys.js'); + +// Retrieve the values of an object's properties. +function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; +} + +module.exports = values; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/where.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/where.js new file mode 100644 index 00000000..94ccfe7a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/where.js @@ -0,0 +1,10 @@ +var filter = require('./filter.js'); +var matcher = require('./matcher.js'); + +// Convenience version of a common use case of `_.filter`: selecting only +// objects containing specific `key:value` pairs. +function where(obj, attrs) { + return filter(obj, matcher(attrs)); +} + +module.exports = where; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/without.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/without.js new file mode 100644 index 00000000..5eaa4cdb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/without.js @@ -0,0 +1,9 @@ +var restArguments = require('./restArguments.js'); +var difference = require('./difference.js'); + +// Return a version of the array that does not contain the specified value(s). +var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); +}); + +module.exports = without; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/wrap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/wrap.js new file mode 100644 index 00000000..e95d5a7f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/wrap.js @@ -0,0 +1,10 @@ +var partial = require('./partial.js'); + +// Returns the first function passed as an argument to the second, +// allowing you to adjust arguments, run code before and after, and +// conditionally execute the original function. +function wrap(func, wrapper) { + return partial(wrapper, func); +} + +module.exports = wrap; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/zip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/zip.js new file mode 100644 index 00000000..70cbd3b1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/cjs/zip.js @@ -0,0 +1,8 @@ +var restArguments = require('./restArguments.js'); +var unzip = require('./unzip.js'); + +// Zip together multiple lists into a single array -- elements that share +// an index go together. +var zip = restArguments(unzip); + +module.exports = zip; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/.eslintrc b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/.eslintrc new file mode 100644 index 00000000..23961d5f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/.eslintrc @@ -0,0 +1,21 @@ +{ + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + }, + "plugins": [ + "import" + ], + "extends": [ + "plugin:import/errors" + ], + "rules": { + // ExtendScript wrongly gives equal precedence to && and ||. #2949 + "no-mixed-operators": [ + "error", + { + "groups": [["&&", "||"]] + } + ] + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseCreate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseCreate.js new file mode 100644 index 00000000..032a9728 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseCreate.js @@ -0,0 +1,18 @@ +import isObject from './isObject.js'; +import { nativeCreate } from './_setup.js'; + +// Create a naked function reference for surrogate-prototype-swapping. +function ctor() { + return function(){}; +} + +// An internal function for creating a new object that inherits from another. +export default function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseIteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseIteratee.js new file mode 100644 index 00000000..c276ebec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_baseIteratee.js @@ -0,0 +1,17 @@ +import identity from './identity.js'; +import isFunction from './isFunction.js'; +import isObject from './isObject.js'; +import isArray from './isArray.js'; +import matcher from './matcher.js'; +import property from './property.js'; +import optimizeCb from './_optimizeCb.js'; + +// An internal function to generate callbacks that can be applied to each +// element in a collection, returning the desired result — either `_.identity`, +// an arbitrary callback, a property matcher, or a property accessor. +export default function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_cb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_cb.js new file mode 100644 index 00000000..9b8b5557 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_cb.js @@ -0,0 +1,10 @@ +import _ from './underscore.js'; +import baseIteratee from './_baseIteratee.js'; +import iteratee from './iteratee.js'; + +// The function we call internally to generate a callback. It invokes +// `_.iteratee` if overridden, otherwise `baseIteratee`. +export default function cb(value, context, argCount) { + if (_.iteratee !== iteratee) return _.iteratee(value, context); + return baseIteratee(value, context, argCount); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_chainResult.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_chainResult.js new file mode 100644 index 00000000..b786520c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_chainResult.js @@ -0,0 +1,6 @@ +import _ from './underscore.js'; + +// Helper function to continue chaining intermediate results. +export default function chainResult(instance, obj) { + return instance._chain ? _(obj).chain() : obj; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_collectNonEnumProps.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_collectNonEnumProps.js new file mode 100644 index 00000000..eed0f7b6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_collectNonEnumProps.js @@ -0,0 +1,40 @@ +import { nonEnumerableProps, ObjProto } from './_setup.js'; +import isFunction from './isFunction.js'; +import has from './_has.js'; + +// Internal helper to create a simple lookup structure. +// `collectNonEnumProps` used to depend on `_.contains`, but this led to +// circular imports. `emulatedSet` is a one-off solution that only works for +// arrays of strings. +function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; +} + +// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't +// be iterated by `for key in ...` and thus missed. Extends `keys` in place if +// needed. +export default function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createAssigner.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createAssigner.js new file mode 100644 index 00000000..b1023931 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createAssigner.js @@ -0,0 +1,18 @@ +// An internal function for creating assigner functions. +export default function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createEscaper.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createEscaper.js new file mode 100644 index 00000000..3828b56f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createEscaper.js @@ -0,0 +1,17 @@ +import keys from './keys.js'; + +// Internal helper to generate functions for escaping and unescaping strings +// to/from HTML interpolation. +export default function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createIndexFinder.js new file mode 100644 index 00000000..eadedef0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createIndexFinder.js @@ -0,0 +1,28 @@ +import getLength from './_getLength.js'; +import { slice } from './_setup.js'; +import isNaN from './isNaN.js'; + +// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. +export default function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createPredicateIndexFinder.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createPredicateIndexFinder.js new file mode 100644 index 00000000..c0659485 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createPredicateIndexFinder.js @@ -0,0 +1,15 @@ +import cb from './_cb.js'; +import getLength from './_getLength.js'; + +// Internal function to generate `_.findIndex` and `_.findLastIndex`. +export default function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createReduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createReduce.js new file mode 100644 index 00000000..20f4ee11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createReduce.js @@ -0,0 +1,28 @@ +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; +import optimizeCb from './_optimizeCb.js'; + +// Internal helper to create a reducing function, iterating left or right. +export default function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createSizePropertyCheck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createSizePropertyCheck.js new file mode 100644 index 00000000..cc38007b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_createSizePropertyCheck.js @@ -0,0 +1,9 @@ +import { MAX_ARRAY_INDEX } from './_setup.js'; + +// Common internal logic for `isArrayLike` and `isBufferLike`. +export default function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_deepGet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_deepGet.js new file mode 100644 index 00000000..42bbec31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_deepGet.js @@ -0,0 +1,9 @@ +// Internal function to obtain a nested property in `obj` along `path`. +export default function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_escapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_escapeMap.js new file mode 100644 index 00000000..cc9d615f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_escapeMap.js @@ -0,0 +1,9 @@ +// Internal list of HTML entities for escaping. +export default { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_executeBound.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_executeBound.js new file mode 100644 index 00000000..f54fa780 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_executeBound.js @@ -0,0 +1,13 @@ +import baseCreate from './_baseCreate.js'; +import isObject from './isObject.js'; + +// Internal function to execute `sourceFunc` bound to `context` with optional +// `args`. Determines whether to execute a function as a constructor or as a +// normal function. +export default function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_flatten.js new file mode 100644 index 00000000..1767a8b8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_flatten.js @@ -0,0 +1,31 @@ +import getLength from './_getLength.js'; +import isArrayLike from './_isArrayLike.js'; +import isArray from './isArray.js'; +import isArguments from './isArguments.js'; + +// Internal implementation of a recursive `flatten` function. +export default function flatten(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getByteLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getByteLength.js new file mode 100644 index 00000000..11e45287 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getByteLength.js @@ -0,0 +1,4 @@ +import shallowProperty from './_shallowProperty.js'; + +// Internal helper to obtain the `byteLength` property of an object. +export default shallowProperty('byteLength'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getLength.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getLength.js new file mode 100644 index 00000000..090b156b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_getLength.js @@ -0,0 +1,4 @@ +import shallowProperty from './_shallowProperty.js'; + +// Internal helper to obtain the `length` property of an object. +export default shallowProperty('length'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_group.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_group.js new file mode 100644 index 00000000..8fdd9857 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_group.js @@ -0,0 +1,15 @@ +import cb from './_cb.js'; +import each from './each.js'; + +// An internal function used for aggregate "group by" operations. +export default function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_has.js new file mode 100644 index 00000000..06361812 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_has.js @@ -0,0 +1,6 @@ +import { hasOwnProperty } from './_setup.js'; + +// Internal function to check whether `key` is an own property name of `obj`. +export default function has(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_hasObjectTag.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_hasObjectTag.js new file mode 100644 index 00000000..85db78c1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_hasObjectTag.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('Object'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isArrayLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isArrayLike.js new file mode 100644 index 00000000..a87fe488 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isArrayLike.js @@ -0,0 +1,8 @@ +import createSizePropertyCheck from './_createSizePropertyCheck.js'; +import getLength from './_getLength.js'; + +// Internal helper for collection methods to determine whether a collection +// should be iterated as an array or as an object. +// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength +// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 +export default createSizePropertyCheck(getLength); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isBufferLike.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isBufferLike.js new file mode 100644 index 00000000..8cab6ee0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_isBufferLike.js @@ -0,0 +1,6 @@ +import createSizePropertyCheck from './_createSizePropertyCheck.js'; +import getByteLength from './_getByteLength.js'; + +// Internal helper to determine whether we should spend extensive checks against +// `ArrayBuffer` et al. +export default createSizePropertyCheck(getByteLength); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_keyInObj.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_keyInObj.js new file mode 100644 index 00000000..f72a8514 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_keyInObj.js @@ -0,0 +1,5 @@ +// Internal `_.pick` helper function to determine whether `key` is an enumerable +// property name of `obj`. +export default function keyInObj(value, key, obj) { + return key in obj; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_methodFingerprint.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_methodFingerprint.js new file mode 100644 index 00000000..a1ebff33 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_methodFingerprint.js @@ -0,0 +1,37 @@ +import getLength from './_getLength.js'; +import isFunction from './isFunction.js'; +import allKeys from './allKeys.js'; + +// Since the regular `Object.prototype.toString` type tests don't work for +// some types in IE 11, we use a fingerprinting heuristic instead, based +// on the methods. It's not great, but it's the best we got. +// The fingerprint method lists are defined below. +export function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction(obj[forEachName]); + }; +} + +// In the interest of compact minification, we write +// each string in the fingerprints only once. +var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + +// `Map`, `WeakMap` and `Set` each have slightly different +// combinations of the above sublists. +export var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_optimizeCb.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_optimizeCb.js new file mode 100644 index 00000000..59e40e66 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_optimizeCb.js @@ -0,0 +1,21 @@ +// Internal function that returns an efficient (for current engines) version +// of the passed-in callback, to be repeatedly applied in other Underscore +// functions. +export default function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_setup.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_setup.js new file mode 100644 index 00000000..de7555a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_setup.js @@ -0,0 +1,43 @@ +// Current version. +export var VERSION = '1.13.4'; + +// Establish the root object, `window` (`self`) in the browser, `global` +// on the server, or `this` in some virtual machines. We use `self` +// instead of `window` for `WebWorker` support. +export var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + +// Save bytes in the minified (but not gzipped) version: +export var ArrayProto = Array.prototype, ObjProto = Object.prototype; +export var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + +// Create quick reference variables for speed access to core prototypes. +export var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + +// Modern feature detection. +export var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + +// All **ECMAScript 5+** native function implementations that we hope to use +// are declared here. +export var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + +// Create references to these builtin functions because we override them. +export var _isNaN = isNaN, + _isFinite = isFinite; + +// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. +export var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); +export var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + +// The largest integer that can be represented exactly. +export var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_shallowProperty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_shallowProperty.js new file mode 100644 index 00000000..00bf0902 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_shallowProperty.js @@ -0,0 +1,6 @@ +// Internal helper to generate a function to obtain property `key` from `obj`. +export default function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_stringTagBug.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_stringTagBug.js new file mode 100644 index 00000000..c85dd85e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_stringTagBug.js @@ -0,0 +1,10 @@ +import { supportsDataView } from './_setup.js'; +import hasObjectTag from './_hasObjectTag.js'; + +// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. +// In IE 11, the most common among them, this problem also applies to +// `Map`, `WeakMap` and `Set`. +export var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_tagTester.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_tagTester.js new file mode 100644 index 00000000..8d417dde --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_tagTester.js @@ -0,0 +1,9 @@ +import { toString } from './_setup.js'; + +// Internal function for creating a `toString`-based type tester. +export default function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toBufferView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toBufferView.js new file mode 100644 index 00000000..dd646a52 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toBufferView.js @@ -0,0 +1,11 @@ +import getByteLength from './_getByteLength.js'; + +// Internal function to wrap or shallow-copy an ArrayBuffer, +// typed array or DataView to a new view, reusing the buffer. +export default function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toPath.js new file mode 100644 index 00000000..fad51504 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_toPath.js @@ -0,0 +1,8 @@ +import _ from './underscore.js'; +import './toPath.js'; + +// Internal wrapper for `_.toPath` to enable minification. +// Similar to `cb` for `_.iteratee`. +export default function toPath(path) { + return _.toPath(path); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_unescapeMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_unescapeMap.js new file mode 100644 index 00000000..af35e3d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/_unescapeMap.js @@ -0,0 +1,5 @@ +import invert from './invert.js'; +import escapeMap from './_escapeMap.js'; + +// Internal list of HTML entities for unescaping. +export default invert(escapeMap); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/after.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/after.js new file mode 100644 index 00000000..863e8b51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/after.js @@ -0,0 +1,8 @@ +// Returns a function that will only be executed on and after the Nth call. +export default function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/allKeys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/allKeys.js new file mode 100644 index 00000000..489cead5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/allKeys.js @@ -0,0 +1,13 @@ +import isObject from './isObject.js'; +import { hasEnumBug } from './_setup.js'; +import collectNonEnumProps from './_collectNonEnumProps.js'; + +// Retrieve all the enumerable property names of an object. +export default function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/before.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/before.js new file mode 100644 index 00000000..74ec2448 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/before.js @@ -0,0 +1,12 @@ +// Returns a function that will only be executed up to (but not including) the +// Nth call. +export default function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bind.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bind.js new file mode 100644 index 00000000..c172e345 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bind.js @@ -0,0 +1,13 @@ +import restArguments from './restArguments.js'; +import isFunction from './isFunction.js'; +import executeBound from './_executeBound.js'; + +// Create a function bound to a given object (assigning `this`, and arguments, +// optionally). +export default restArguments(function(func, context, args) { + if (!isFunction(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bindAll.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bindAll.js new file mode 100644 index 00000000..da51aebd --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/bindAll.js @@ -0,0 +1,17 @@ +import restArguments from './restArguments.js'; +import flatten from './_flatten.js'; +import bind from './bind.js'; + +// Bind a number of an object's methods to that object. Remaining arguments +// are the method names to be bound. Useful for ensuring that all callbacks +// defined on an object belong to it. +export default restArguments(function(obj, keys) { + keys = flatten(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chain.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chain.js new file mode 100644 index 00000000..d9dcf057 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chain.js @@ -0,0 +1,8 @@ +import _ from './underscore.js'; + +// Start chaining a wrapped Underscore object. +export default function chain(obj) { + var instance = _(obj); + instance._chain = true; + return instance; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chunk.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chunk.js new file mode 100644 index 00000000..5e01af5d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/chunk.js @@ -0,0 +1,13 @@ +import { slice } from './_setup.js'; + +// Chunk a single array into multiple arrays, each containing `count` or fewer +// items. +export default function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/clone.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/clone.js new file mode 100644 index 00000000..b74689b5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/clone.js @@ -0,0 +1,9 @@ +import isObject from './isObject.js'; +import isArray from './isArray.js'; +import extend from './extend.js'; + +// Create a (shallow-cloned) duplicate of an object. +export default function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compact.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compact.js new file mode 100644 index 00000000..d5d519e3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compact.js @@ -0,0 +1,6 @@ +import filter from './filter.js'; + +// Trim out all falsy values from an array. +export default function compact(array) { + return filter(array, Boolean); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compose.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compose.js new file mode 100644 index 00000000..0d2584c8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/compose.js @@ -0,0 +1,12 @@ +// Returns a function that is the composition of a list of functions, each +// consuming the return value of the function that follows. +export default function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/constant.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/constant.js new file mode 100644 index 00000000..6cfd92ce --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/constant.js @@ -0,0 +1,6 @@ +// Predicate-generating function. Often useful outside of Underscore. +export default function constant(value) { + return function() { + return value; + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/contains.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/contains.js new file mode 100644 index 00000000..11cf64d6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/contains.js @@ -0,0 +1,10 @@ +import isArrayLike from './_isArrayLike.js'; +import values from './values.js'; +import indexOf from './indexOf.js'; + +// Determine if the array or object contains a given item (using `===`). +export default function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/countBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/countBy.js new file mode 100644 index 00000000..5d4cc7d9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/countBy.js @@ -0,0 +1,9 @@ +import group from './_group.js'; +import has from './_has.js'; + +// Counts instances of an object that group by a certain criterion. Pass +// either a string attribute to count by, or a function that returns the +// criterion. +export default group(function(result, value, key) { + if (has(result, key)) result[key]++; else result[key] = 1; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/create.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/create.js new file mode 100644 index 00000000..353e5a50 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/create.js @@ -0,0 +1,11 @@ +import baseCreate from './_baseCreate.js'; +import extendOwn from './extendOwn.js'; + +// Creates an object that inherits from the given prototype object. +// If additional properties are provided then they will be added to the +// created object. +export default function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/debounce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/debounce.js new file mode 100644 index 00000000..76e3ae82 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/debounce.js @@ -0,0 +1,40 @@ +import restArguments from './restArguments.js'; +import now from './now.js'; + +// When a sequence of calls of the returned function ends, the argument +// function is triggered. The end of a sequence is defined by the `wait` +// parameter. If `immediate` is passed, the argument function will be +// triggered at the beginning of the sequence instead of at the end. +export default function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defaults.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defaults.js new file mode 100644 index 00000000..48016cca --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defaults.js @@ -0,0 +1,5 @@ +import createAssigner from './_createAssigner.js'; +import allKeys from './allKeys.js'; + +// Fill in a given object with default properties. +export default createAssigner(allKeys, true); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defer.js new file mode 100644 index 00000000..19c85fd5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/defer.js @@ -0,0 +1,7 @@ +import partial from './partial.js'; +import delay from './delay.js'; +import _ from './underscore.js'; + +// Defers a function, scheduling it to run after the current call stack has +// cleared. +export default partial(delay, _, 1); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/delay.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/delay.js new file mode 100644 index 00000000..c144a846 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/delay.js @@ -0,0 +1,9 @@ +import restArguments from './restArguments.js'; + +// Delays a function for the given number of milliseconds, and then calls +// it with the arguments supplied. +export default restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/difference.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/difference.js new file mode 100644 index 00000000..c769923d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/difference.js @@ -0,0 +1,13 @@ +import restArguments from './restArguments.js'; +import flatten from './_flatten.js'; +import filter from './filter.js'; +import contains from './contains.js'; + +// Take the difference between one array and a number of other arrays. +// Only the elements present in just the first array will remain. +export default restArguments(function(array, rest) { + rest = flatten(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/each.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/each.js new file mode 100644 index 00000000..d0502009 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/each.js @@ -0,0 +1,23 @@ +import optimizeCb from './_optimizeCb.js'; +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; + +// The cornerstone for collection functions, an `each` +// implementation, aka `forEach`. +// Handles raw objects in addition to array-likes. Treats all +// sparse array-likes as if they were dense. +export default function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/escape.js new file mode 100644 index 00000000..2bcb68f0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/escape.js @@ -0,0 +1,5 @@ +import createEscaper from './_createEscaper.js'; +import escapeMap from './_escapeMap.js'; + +// Function for escaping strings to HTML interpolation. +export default createEscaper(escapeMap); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/every.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/every.js new file mode 100644 index 00000000..9bc1408b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/every.js @@ -0,0 +1,15 @@ +import cb from './_cb.js'; +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; + +// Determine whether all of the elements pass a truth test. +export default function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extend.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extend.js new file mode 100644 index 00000000..e22032b4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extend.js @@ -0,0 +1,5 @@ +import createAssigner from './_createAssigner.js'; +import allKeys from './allKeys.js'; + +// Extend a given object with all the properties in passed-in object(s). +export default createAssigner(allKeys); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extendOwn.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extendOwn.js new file mode 100644 index 00000000..5338451d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/extendOwn.js @@ -0,0 +1,7 @@ +import createAssigner from './_createAssigner.js'; +import keys from './keys.js'; + +// Assigns a given object with all the own properties in the passed-in +// object(s). +// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) +export default createAssigner(keys); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/filter.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/filter.js new file mode 100644 index 00000000..d1701125 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/filter.js @@ -0,0 +1,12 @@ +import cb from './_cb.js'; +import each from './each.js'; + +// Return all the elements that pass a truth test. +export default function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/find.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/find.js new file mode 100644 index 00000000..d1f4d280 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/find.js @@ -0,0 +1,10 @@ +import isArrayLike from './_isArrayLike.js'; +import findIndex from './findIndex.js'; +import findKey from './findKey.js'; + +// Return the first value which passes a truth test. +export default function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findIndex.js new file mode 100644 index 00000000..b2c87f51 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findIndex.js @@ -0,0 +1,4 @@ +import createPredicateIndexFinder from './_createPredicateIndexFinder.js'; + +// Returns the first index on an array-like that passes a truth test. +export default createPredicateIndexFinder(1); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findKey.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findKey.js new file mode 100644 index 00000000..e80f1c11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findKey.js @@ -0,0 +1,12 @@ +import cb from './_cb.js'; +import keys from './keys.js'; + +// Returns the first key on an object that passes a truth test. +export default function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findLastIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findLastIndex.js new file mode 100644 index 00000000..58f26a73 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findLastIndex.js @@ -0,0 +1,4 @@ +import createPredicateIndexFinder from './_createPredicateIndexFinder.js'; + +// Returns the last index on an array-like that passes a truth test. +export default createPredicateIndexFinder(-1); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findWhere.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findWhere.js new file mode 100644 index 00000000..6e8bce9e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/findWhere.js @@ -0,0 +1,8 @@ +import find from './find.js'; +import matcher from './matcher.js'; + +// Convenience version of a common use case of `_.find`: getting the first +// object containing specific `key:value` pairs. +export default function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/first.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/first.js new file mode 100644 index 00000000..3b6685e1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/first.js @@ -0,0 +1,9 @@ +import initial from './initial.js'; + +// Get the first element of an array. Passing **n** will return the first N +// values in the array. The **guard** check allows it to work with `_.map`. +export default function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/flatten.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/flatten.js new file mode 100644 index 00000000..a5f2b512 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/flatten.js @@ -0,0 +1,7 @@ +import _flatten from './_flatten.js'; + +// Flatten out an array, either recursively (by default), or up to `depth`. +// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. +export default function flatten(array, depth) { + return _flatten(array, depth, false); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/functions.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/functions.js new file mode 100644 index 00000000..a16e5683 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/functions.js @@ -0,0 +1,10 @@ +import isFunction from './isFunction.js'; + +// Return a sorted list of the function names available on the object. +export default function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction(obj[key])) names.push(key); + } + return names.sort(); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/get.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/get.js new file mode 100644 index 00000000..6987abe6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/get.js @@ -0,0 +1,12 @@ +import toPath from './_toPath.js'; +import deepGet from './_deepGet.js'; +import isUndefined from './isUndefined.js'; + +// Get the value of the (deep) property on `path` from `object`. +// If any property in `path` does not exist or if the value is +// `undefined`, return `defaultValue` instead. +// The `path` is normalized through `_.toPath`. +export default function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/groupBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/groupBy.js new file mode 100644 index 00000000..2670958d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/groupBy.js @@ -0,0 +1,8 @@ +import group from './_group.js'; +import has from './_has.js'; + +// Groups the object's values by a criterion. Pass either a string attribute +// to group by, or a function that returns the criterion. +export default group(function(result, value, key) { + if (has(result, key)) result[key].push(value); else result[key] = [value]; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/has.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/has.js new file mode 100644 index 00000000..72326463 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/has.js @@ -0,0 +1,16 @@ +import _has from './_has.js'; +import toPath from './_toPath.js'; + +// Shortcut function for checking if an object has a given property directly on +// itself (in other words, not on a prototype). Unlike the internal `has` +// function, this public version can also traverse nested properties. +export default function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!_has(obj, key)) return false; + obj = obj[key]; + } + return !!length; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/identity.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/identity.js new file mode 100644 index 00000000..6df631c1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/identity.js @@ -0,0 +1,4 @@ +// Keep the identity function around for default iteratees. +export default function identity(value) { + return value; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-all.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-all.js new file mode 100644 index 00000000..dd2cbc1d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-all.js @@ -0,0 +1,18 @@ +// ESM Exports +// =========== +// This module is the package entry point for ES module users. In other words, +// it is the module they are interfacing with when they import from the whole +// package instead of from a submodule, like this: +// +// ```js +// import { map } from 'underscore'; +// ``` +// +// The difference with `./index-default`, which is the package entry point for +// CommonJS, AMD and UMD users, is purely technical. In ES modules, named and +// default exports are considered to be siblings, so when you have a default +// export, its properties are not automatically available as named exports. For +// this reason, we re-export the named exports in addition to providing the same +// default export as in `./index-default`. +export { default } from './index-default.js'; +export * from './index.js'; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-default.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-default.js new file mode 100644 index 00000000..d3a2b1e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index-default.js @@ -0,0 +1,27 @@ +// Default Export +// ============== +// In this module, we mix our bundled exports into the `_` object and export +// the result. This is analogous to setting `module.exports = _` in CommonJS. +// Hence, this module is also the entry point of our UMD bundle and the package +// entry point for CommonJS and AMD users. In other words, this is (the source +// of) the module you are interfacing with when you do any of the following: +// +// ```js +// // CommonJS +// var _ = require('underscore'); +// +// // AMD +// define(['underscore'], function(_) {...}); +// +// // UMD in the browser +// // _ is available as a global variable +// ``` +import * as allExports from './index.js'; +import { mixin } from './index.js'; + +// Add all of the Underscore functions to the wrapper object. +var _ = mixin(allExports); +// Legacy Node.js API. +_._ = _; +// Export the Underscore API. +export default _; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index.js new file mode 100644 index 00000000..4db82691 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/index.js @@ -0,0 +1,200 @@ +// Named Exports +// ============= + +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +// Baseline setup. +export { VERSION } from './_setup.js'; +export { default as restArguments } from './restArguments.js'; + +// Object Functions +// ---------------- +// Our most fundamental functions operate on any JavaScript object. +// Most functions in Underscore depend on at least one function in this section. + +// A group of functions that check the types of core JavaScript values. +// These are often informally referred to as the "isType" functions. +export { default as isObject } from './isObject.js'; +export { default as isNull } from './isNull.js'; +export { default as isUndefined } from './isUndefined.js'; +export { default as isBoolean } from './isBoolean.js'; +export { default as isElement } from './isElement.js'; +export { default as isString } from './isString.js'; +export { default as isNumber } from './isNumber.js'; +export { default as isDate } from './isDate.js'; +export { default as isRegExp } from './isRegExp.js'; +export { default as isError } from './isError.js'; +export { default as isSymbol } from './isSymbol.js'; +export { default as isArrayBuffer } from './isArrayBuffer.js'; +export { default as isDataView } from './isDataView.js'; +export { default as isArray } from './isArray.js'; +export { default as isFunction } from './isFunction.js'; +export { default as isArguments } from './isArguments.js'; +export { default as isFinite } from './isFinite.js'; +export { default as isNaN } from './isNaN.js'; +export { default as isTypedArray } from './isTypedArray.js'; +export { default as isEmpty } from './isEmpty.js'; +export { default as isMatch } from './isMatch.js'; +export { default as isEqual } from './isEqual.js'; +export { default as isMap } from './isMap.js'; +export { default as isWeakMap } from './isWeakMap.js'; +export { default as isSet } from './isSet.js'; +export { default as isWeakSet } from './isWeakSet.js'; + +// Functions that treat an object as a dictionary of key-value pairs. +export { default as keys } from './keys.js'; +export { default as allKeys } from './allKeys.js'; +export { default as values } from './values.js'; +export { default as pairs } from './pairs.js'; +export { default as invert } from './invert.js'; +export { default as functions, + default as methods } from './functions.js'; +export { default as extend } from './extend.js'; +export { default as extendOwn, + default as assign } from './extendOwn.js'; +export { default as defaults } from './defaults.js'; +export { default as create } from './create.js'; +export { default as clone } from './clone.js'; +export { default as tap } from './tap.js'; +export { default as get } from './get.js'; +export { default as has } from './has.js'; +export { default as mapObject } from './mapObject.js'; + +// Utility Functions +// ----------------- +// A bit of a grab bag: Predicate-generating functions for use with filters and +// loops, string escaping and templating, create random numbers and unique ids, +// and functions that facilitate Underscore's chaining and iteration conventions. +export { default as identity } from './identity.js'; +export { default as constant } from './constant.js'; +export { default as noop } from './noop.js'; +export { default as toPath } from './toPath.js'; +export { default as property } from './property.js'; +export { default as propertyOf } from './propertyOf.js'; +export { default as matcher, + default as matches } from './matcher.js'; +export { default as times } from './times.js'; +export { default as random } from './random.js'; +export { default as now } from './now.js'; +export { default as escape } from './escape.js'; +export { default as unescape } from './unescape.js'; +export { default as templateSettings } from './templateSettings.js'; +export { default as template } from './template.js'; +export { default as result } from './result.js'; +export { default as uniqueId } from './uniqueId.js'; +export { default as chain } from './chain.js'; +export { default as iteratee } from './iteratee.js'; + +// Function (ahem) Functions +// ------------------------- +// These functions take a function as an argument and return a new function +// as the result. Also known as higher-order functions. +export { default as partial } from './partial.js'; +export { default as bind } from './bind.js'; +export { default as bindAll } from './bindAll.js'; +export { default as memoize } from './memoize.js'; +export { default as delay } from './delay.js'; +export { default as defer } from './defer.js'; +export { default as throttle } from './throttle.js'; +export { default as debounce } from './debounce.js'; +export { default as wrap } from './wrap.js'; +export { default as negate } from './negate.js'; +export { default as compose } from './compose.js'; +export { default as after } from './after.js'; +export { default as before } from './before.js'; +export { default as once } from './once.js'; + +// Finders +// ------- +// Functions that extract (the position of) a single element from an object +// or array based on some criterion. +export { default as findKey } from './findKey.js'; +export { default as findIndex } from './findIndex.js'; +export { default as findLastIndex } from './findLastIndex.js'; +export { default as sortedIndex } from './sortedIndex.js'; +export { default as indexOf } from './indexOf.js'; +export { default as lastIndexOf } from './lastIndexOf.js'; +export { default as find, + default as detect } from './find.js'; +export { default as findWhere } from './findWhere.js'; + +// Collection Functions +// -------------------- +// Functions that work on any collection of elements: either an array, or +// an object of key-value pairs. +export { default as each, + default as forEach } from './each.js'; +export { default as map, + default as collect } from './map.js'; +export { default as reduce, + default as foldl, + default as inject } from './reduce.js'; +export { default as reduceRight, + default as foldr } from './reduceRight.js'; +export { default as filter, + default as select } from './filter.js'; +export { default as reject } from './reject.js'; +export { default as every, + default as all } from './every.js'; +export { default as some, + default as any } from './some.js'; +export { default as contains, + default as includes, + default as include } from './contains.js'; +export { default as invoke } from './invoke.js'; +export { default as pluck } from './pluck.js'; +export { default as where } from './where.js'; +export { default as max } from './max.js'; +export { default as min } from './min.js'; +export { default as shuffle } from './shuffle.js'; +export { default as sample } from './sample.js'; +export { default as sortBy } from './sortBy.js'; +export { default as groupBy } from './groupBy.js'; +export { default as indexBy } from './indexBy.js'; +export { default as countBy } from './countBy.js'; +export { default as partition } from './partition.js'; +export { default as toArray } from './toArray.js'; +export { default as size } from './size.js'; + +// `_.pick` and `_.omit` are actually object functions, but we put +// them here in order to create a more natural reading order in the +// monolithic build as they depend on `_.contains`. +export { default as pick } from './pick.js'; +export { default as omit } from './omit.js'; + +// Array Functions +// --------------- +// Functions that operate on arrays (and array-likes) only, because they’re +// expressed in terms of operations on an ordered list of values. +export { default as first, + default as head, + default as take } from './first.js'; +export { default as initial } from './initial.js'; +export { default as last } from './last.js'; +export { default as rest, + default as tail, + default as drop } from './rest.js'; +export { default as compact } from './compact.js'; +export { default as flatten } from './flatten.js'; +export { default as without } from './without.js'; +export { default as uniq, + default as unique } from './uniq.js'; +export { default as union } from './union.js'; +export { default as intersection } from './intersection.js'; +export { default as difference } from './difference.js'; +export { default as unzip, + default as transpose } from './unzip.js'; +export { default as zip } from './zip.js'; +export { default as object } from './object.js'; +export { default as range } from './range.js'; +export { default as chunk } from './chunk.js'; + +// OOP +// --- +// These modules support the "object-oriented" calling style. See also +// `underscore.js` and `index-default.js`. +export { default as mixin } from './mixin.js'; +export { default } from './underscore-array-methods.js'; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexBy.js new file mode 100644 index 00000000..8fb81ea0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexBy.js @@ -0,0 +1,7 @@ +import group from './_group.js'; + +// Indexes the object's values by a criterion, similar to `_.groupBy`, but for +// when you know that your index values will be unique. +export default group(function(result, value, key) { + result[key] = value; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexOf.js new file mode 100644 index 00000000..a926ba5a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/indexOf.js @@ -0,0 +1,9 @@ +import sortedIndex from './sortedIndex.js'; +import findIndex from './findIndex.js'; +import createIndexFinder from './_createIndexFinder.js'; + +// Return the position of the first occurrence of an item in an array, +// or -1 if the item is not included in the array. +// If the array is large and already in sort order, pass `true` +// for **isSorted** to use binary search. +export default createIndexFinder(1, findIndex, sortedIndex); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/initial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/initial.js new file mode 100644 index 00000000..0b991dcc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/initial.js @@ -0,0 +1,8 @@ +import { slice } from './_setup.js'; + +// Returns everything but the last entry of the array. Especially useful on +// the arguments object. Passing **n** will return all the values in +// the array, excluding the last N. +export default function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/intersection.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/intersection.js new file mode 100644 index 00000000..60d1df40 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/intersection.js @@ -0,0 +1,19 @@ +import getLength from './_getLength.js'; +import contains from './contains.js'; + +// Produce an array that contains every item shared between all the +// passed-in arrays. +export default function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invert.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invert.js new file mode 100644 index 00000000..898b16a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invert.js @@ -0,0 +1,11 @@ +import keys from './keys.js'; + +// Invert the keys and values of an object. The values must be serializable. +export default function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invoke.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invoke.js new file mode 100644 index 00000000..b18af887 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/invoke.js @@ -0,0 +1,28 @@ +import restArguments from './restArguments.js'; +import isFunction from './isFunction.js'; +import map from './map.js'; +import deepGet from './_deepGet.js'; +import toPath from './_toPath.js'; + +// Invoke a method (with arguments) on every item in a collection. +export default restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArguments.js new file mode 100644 index 00000000..61582bf8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArguments.js @@ -0,0 +1,16 @@ +import tagTester from './_tagTester.js'; +import has from './_has.js'; + +var isArguments = tagTester('Arguments'); + +// Define a fallback version of the method in browsers (ahem, IE < 9), where +// there isn't any inspectable "Arguments" type. +(function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has(obj, 'callee'); + }; + } +}()); + +export default isArguments; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArray.js new file mode 100644 index 00000000..7ead47d7 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArray.js @@ -0,0 +1,6 @@ +import { nativeIsArray } from './_setup.js'; +import tagTester from './_tagTester.js'; + +// Is a given value an array? +// Delegates to ECMA5's native `Array.isArray`. +export default nativeIsArray || tagTester('Array'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArrayBuffer.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArrayBuffer.js new file mode 100644 index 00000000..867ba4b2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isArrayBuffer.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('ArrayBuffer'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isBoolean.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isBoolean.js new file mode 100644 index 00000000..3dddf2c1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isBoolean.js @@ -0,0 +1,6 @@ +import { toString } from './_setup.js'; + +// Is a given value a boolean? +export default function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDataView.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDataView.js new file mode 100644 index 00000000..e607856a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDataView.js @@ -0,0 +1,14 @@ +import tagTester from './_tagTester.js'; +import isFunction from './isFunction.js'; +import isArrayBuffer from './isArrayBuffer.js'; +import { hasStringTagBug } from './_stringTagBug.js'; + +var isDataView = tagTester('DataView'); + +// In IE 10 - Edge 13, we need a different heuristic +// to determine whether an object is a `DataView`. +function ie10IsDataView(obj) { + return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer); +} + +export default (hasStringTagBug ? ie10IsDataView : isDataView); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDate.js new file mode 100644 index 00000000..25e1d1c3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isDate.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('Date'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isElement.js new file mode 100644 index 00000000..4ab415a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isElement.js @@ -0,0 +1,4 @@ +// Is a given value a DOM element? +export default function isElement(obj) { + return !!(obj && obj.nodeType === 1); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEmpty.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEmpty.js new file mode 100644 index 00000000..718ef4a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEmpty.js @@ -0,0 +1,18 @@ +import getLength from './_getLength.js'; +import isArray from './isArray.js'; +import isString from './isString.js'; +import isArguments from './isArguments.js'; +import keys from './keys.js'; + +// Is a given array, string, or object empty? +// An "empty" object has no enumerable own-properties. +export default function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEqual.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEqual.js new file mode 100644 index 00000000..5285c55a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isEqual.js @@ -0,0 +1,138 @@ +import _ from './underscore.js'; +import { toString, SymbolProto } from './_setup.js'; +import getByteLength from './_getByteLength.js'; +import isTypedArray from './isTypedArray.js'; +import isFunction from './isFunction.js'; +import { hasStringTagBug } from './_stringTagBug.js'; +import isDataView from './isDataView.js'; +import keys from './keys.js'; +import has from './_has.js'; +import toBufferView from './_toBufferView.js'; + +// We use this string twice, so give it a name for minification. +var tagDataView = '[object DataView]'; + +// Internal recursive comparison function for `_.isEqual`. +function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); +} + +// Internal recursive comparison function for `_.isEqual`. +function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView(a)) { + if (!isDataView(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && + isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; +} + +// Perform a deep comparison to check if two objects are equal. +export default function isEqual(a, b) { + return eq(a, b); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isError.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isError.js new file mode 100644 index 00000000..178fa3ec --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isError.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('Error'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFinite.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFinite.js new file mode 100644 index 00000000..fbeb79ef --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFinite.js @@ -0,0 +1,7 @@ +import { _isFinite } from './_setup.js'; +import isSymbol from './isSymbol.js'; + +// Is a given object a finite number? +export default function isFinite(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFunction.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFunction.js new file mode 100644 index 00000000..35c41be0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isFunction.js @@ -0,0 +1,15 @@ +import tagTester from './_tagTester.js'; +import { root } from './_setup.js'; + +var isFunction = tagTester('Function'); + +// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old +// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). +var nodelist = root.document && root.document.childNodes; +if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; +} + +export default isFunction; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMap.js new file mode 100644 index 00000000..1e9f0954 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMap.js @@ -0,0 +1,5 @@ +import tagTester from './_tagTester.js'; +import { isIE11 } from './_stringTagBug.js'; +import { ie11fingerprint, mapMethods } from './_methodFingerprint.js'; + +export default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMatch.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMatch.js new file mode 100644 index 00000000..81e43d95 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isMatch.js @@ -0,0 +1,13 @@ +import keys from './keys.js'; + +// Returns whether an object has a given set of `key:value` pairs. +export default function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNaN.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNaN.js new file mode 100644 index 00000000..9fa7afee --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNaN.js @@ -0,0 +1,7 @@ +import { _isNaN } from './_setup.js'; +import isNumber from './isNumber.js'; + +// Is the given value `NaN`? +export default function isNaN(obj) { + return isNumber(obj) && _isNaN(obj); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNull.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNull.js new file mode 100644 index 00000000..e729c2ee --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNull.js @@ -0,0 +1,4 @@ +// Is a given value equal to null? +export default function isNull(obj) { + return obj === null; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNumber.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNumber.js new file mode 100644 index 00000000..627d8d4d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isNumber.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('Number'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isObject.js new file mode 100644 index 00000000..db4675a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isObject.js @@ -0,0 +1,5 @@ +// Is a given variable an object? +export default function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isRegExp.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isRegExp.js new file mode 100644 index 00000000..ef64d1e8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isRegExp.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('RegExp'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSet.js new file mode 100644 index 00000000..0e8b6ca6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSet.js @@ -0,0 +1,5 @@ +import tagTester from './_tagTester.js'; +import { isIE11 } from './_stringTagBug.js'; +import { ie11fingerprint, setMethods } from './_methodFingerprint.js'; + +export default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isString.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isString.js new file mode 100644 index 00000000..f02707d3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isString.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('String'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSymbol.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSymbol.js new file mode 100644 index 00000000..de4050d5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isSymbol.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('Symbol'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isTypedArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isTypedArray.js new file mode 100644 index 00000000..a65c917e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isTypedArray.js @@ -0,0 +1,15 @@ +import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js'; +import isDataView from './isDataView.js'; +import constant from './constant.js'; +import isBufferLike from './_isBufferLike.js'; + +// Is a given value a typed array? +var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; +function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); +} + +export default supportsArrayBuffer ? isTypedArray : constant(false); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isUndefined.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isUndefined.js new file mode 100644 index 00000000..eddf88f1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isUndefined.js @@ -0,0 +1,4 @@ +// Is a given variable undefined? +export default function isUndefined(obj) { + return obj === void 0; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakMap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakMap.js new file mode 100644 index 00000000..729ca474 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakMap.js @@ -0,0 +1,5 @@ +import tagTester from './_tagTester.js'; +import { isIE11 } from './_stringTagBug.js'; +import { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js'; + +export default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakSet.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakSet.js new file mode 100644 index 00000000..5331048e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/isWeakSet.js @@ -0,0 +1,3 @@ +import tagTester from './_tagTester.js'; + +export default tagTester('WeakSet'); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/iteratee.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/iteratee.js new file mode 100644 index 00000000..9057701b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/iteratee.js @@ -0,0 +1,10 @@ +import _ from './underscore.js'; +import baseIteratee from './_baseIteratee.js'; + +// External wrapper for our callback generator. Users may customize +// `_.iteratee` if they want additional predicate/iteratee shorthand styles. +// This abstraction hides the internal-only `argCount` argument. +export default function iteratee(value, context) { + return baseIteratee(value, context, Infinity); +} +_.iteratee = iteratee; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/keys.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/keys.js new file mode 100644 index 00000000..f5b596cf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/keys.js @@ -0,0 +1,16 @@ +import isObject from './isObject.js'; +import { nativeKeys, hasEnumBug } from './_setup.js'; +import has from './_has.js'; +import collectNonEnumProps from './_collectNonEnumProps.js'; + +// Retrieve the names of an object's own properties. +// Delegates to **ECMAScript 5**'s native `Object.keys`. +export default function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/last.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/last.js new file mode 100644 index 00000000..3f30ebc1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/last.js @@ -0,0 +1,9 @@ +import rest from './rest.js'; + +// Get the last element of an array. Passing **n** will return the last N +// values in the array. +export default function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/lastIndexOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/lastIndexOf.js new file mode 100644 index 00000000..bcacf495 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/lastIndexOf.js @@ -0,0 +1,6 @@ +import findLastIndex from './findLastIndex.js'; +import createIndexFinder from './_createIndexFinder.js'; + +// Return the position of the last occurrence of an item in an array, +// or -1 if the item is not included in the array. +export default createIndexFinder(-1, findLastIndex); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/map.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/map.js new file mode 100644 index 00000000..a2e51216 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/map.js @@ -0,0 +1,16 @@ +import cb from './_cb.js'; +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; + +// Return the results of applying the iteratee to each element. +export default function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mapObject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mapObject.js new file mode 100644 index 00000000..2b44d286 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mapObject.js @@ -0,0 +1,16 @@ +import cb from './_cb.js'; +import keys from './keys.js'; + +// Returns the results of applying the `iteratee` to each element of `obj`. +// In contrast to `_.map` it returns an object. +export default function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/matcher.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/matcher.js new file mode 100644 index 00000000..245fa944 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/matcher.js @@ -0,0 +1,11 @@ +import extendOwn from './extendOwn.js'; +import isMatch from './isMatch.js'; + +// Returns a predicate for checking whether an object has a given set of +// `key:value` pairs. +export default function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/max.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/max.js new file mode 100644 index 00000000..e3254097 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/max.js @@ -0,0 +1,29 @@ +import isArrayLike from './_isArrayLike.js'; +import values from './values.js'; +import cb from './_cb.js'; +import each from './each.js'; + +// Return the maximum element (or element-based computation). +export default function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/memoize.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/memoize.js new file mode 100644 index 00000000..50c55f53 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/memoize.js @@ -0,0 +1,13 @@ +import has from './_has.js'; + +// Memoize an expensive function by storing its results. +export default function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/min.js new file mode 100644 index 00000000..c6b25fd8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/min.js @@ -0,0 +1,29 @@ +import isArrayLike from './_isArrayLike.js'; +import values from './values.js'; +import cb from './_cb.js'; +import each from './each.js'; + +// Return the minimum element (or element-based computation). +export default function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mixin.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mixin.js new file mode 100644 index 00000000..352a76ad --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/mixin.js @@ -0,0 +1,18 @@ +import _ from './underscore.js'; +import each from './each.js'; +import functions from './functions.js'; +import { push } from './_setup.js'; +import chainResult from './_chainResult.js'; + +// Add your own custom functions to the Underscore object. +export default function mixin(obj) { + each(functions(obj), function(name) { + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_, args)); + }; + }); + return _; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/negate.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/negate.js new file mode 100644 index 00000000..172c7d65 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/negate.js @@ -0,0 +1,6 @@ +// Returns a negated version of the passed-in predicate. +export default function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/noop.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/noop.js new file mode 100644 index 00000000..9746addc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/noop.js @@ -0,0 +1,2 @@ +// Predicate-generating function. Often useful outside of Underscore. +export default function noop(){} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/now.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/now.js new file mode 100644 index 00000000..3ab6b3f4 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/now.js @@ -0,0 +1,4 @@ +// A (possibly faster) way to get the current timestamp as an integer. +export default Date.now || function() { + return new Date().getTime(); +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/object.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/object.js new file mode 100644 index 00000000..d983f8f6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/object.js @@ -0,0 +1,16 @@ +import getLength from './_getLength.js'; + +// Converts lists into objects. Pass either a single array of `[key, value]` +// pairs, or two parallel arrays of the same length -- one of keys, and one of +// the corresponding values. Passing by pairs is the reverse of `_.pairs`. +export default function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/omit.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/omit.js new file mode 100644 index 00000000..f7233cf3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/omit.js @@ -0,0 +1,22 @@ +import restArguments from './restArguments.js'; +import isFunction from './isFunction.js'; +import negate from './negate.js'; +import map from './map.js'; +import flatten from './_flatten.js'; +import contains from './contains.js'; +import pick from './pick.js'; + +// Return a copy of the object without the disallowed properties. +export default restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/once.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/once.js new file mode 100644 index 00000000..e7e41ac2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/once.js @@ -0,0 +1,6 @@ +import partial from './partial.js'; +import before from './before.js'; + +// Returns a function that will be executed at most one time, no matter how +// often you call it. Useful for lazy initialization. +export default partial(before, 2); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/package.json new file mode 100644 index 00000000..448daade --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/package.json @@ -0,0 +1 @@ +{"type":"module","version":"1.13.4"} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pairs.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pairs.js new file mode 100644 index 00000000..0e4af7bb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pairs.js @@ -0,0 +1,13 @@ +import keys from './keys.js'; + +// Convert an object into a list of `[key, value]` pairs. +// The opposite of `_.object` with one argument. +export default function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partial.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partial.js new file mode 100644 index 00000000..4a4a4685 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partial.js @@ -0,0 +1,24 @@ +import restArguments from './restArguments.js'; +import executeBound from './_executeBound.js'; +import _ from './underscore.js'; + +// Partially apply a function by creating a version that has had some of its +// arguments pre-filled, without changing its dynamic `this` context. `_` acts +// as a placeholder by default, allowing any combination of arguments to be +// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. +var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; +}); + +partial.placeholder = _; +export default partial; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partition.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partition.js new file mode 100644 index 00000000..bf63c0de --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/partition.js @@ -0,0 +1,7 @@ +import group from './_group.js'; + +// Split a collection into two arrays: one whose elements all pass the given +// truth test, and one whose elements all do not pass the truth test. +export default group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); +}, true); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pick.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pick.js new file mode 100644 index 00000000..29858a04 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pick.js @@ -0,0 +1,26 @@ +import restArguments from './restArguments.js'; +import isFunction from './isFunction.js'; +import optimizeCb from './_optimizeCb.js'; +import allKeys from './allKeys.js'; +import keyInObj from './_keyInObj.js'; +import flatten from './_flatten.js'; + +// Return a copy of the object only containing the allowed properties. +export default restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pluck.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pluck.js new file mode 100644 index 00000000..45a35338 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/pluck.js @@ -0,0 +1,7 @@ +import map from './map.js'; +import property from './property.js'; + +// Convenience version of a common use case of `_.map`: fetching a property. +export default function pluck(obj, key) { + return map(obj, property(key)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/property.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/property.js new file mode 100644 index 00000000..48538668 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/property.js @@ -0,0 +1,11 @@ +import deepGet from './_deepGet.js'; +import toPath from './_toPath.js'; + +// Creates a function that, when passed an object, will traverse that object’s +// properties down the given `path`, specified as an array of keys or indices. +export default function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/propertyOf.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/propertyOf.js new file mode 100644 index 00000000..0bf36f89 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/propertyOf.js @@ -0,0 +1,10 @@ +import noop from './noop.js'; +import get from './get.js'; + +// Generates a function for a given object that returns a given property. +export default function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/random.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/random.js new file mode 100644 index 00000000..d861b60f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/random.js @@ -0,0 +1,8 @@ +// Return a random integer between `min` and `max` (inclusive). +export default function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/range.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/range.js new file mode 100644 index 00000000..9c7c6b87 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/range.js @@ -0,0 +1,21 @@ +// Generate an integer Array containing an arithmetic progression. A port of +// the native Python `range()` function. See +// [the Python documentation](https://docs.python.org/library/functions.html#range). +export default function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduce.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduce.js new file mode 100644 index 00000000..951eaa3e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduce.js @@ -0,0 +1,5 @@ +import createReduce from './_createReduce.js'; + +// **Reduce** builds up a single result from a list of values, aka `inject`, +// or `foldl`. +export default createReduce(1); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduceRight.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduceRight.js new file mode 100644 index 00000000..2e8e23ae --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reduceRight.js @@ -0,0 +1,4 @@ +import createReduce from './_createReduce.js'; + +// The right-associative version of reduce, also known as `foldr`. +export default createReduce(-1); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reject.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reject.js new file mode 100644 index 00000000..ba4c841d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/reject.js @@ -0,0 +1,8 @@ +import filter from './filter.js'; +import negate from './negate.js'; +import cb from './_cb.js'; + +// Return all the elements for which a truth test fails. +export default function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/rest.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/rest.js new file mode 100644 index 00000000..776b5555 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/rest.js @@ -0,0 +1,8 @@ +import { slice } from './_setup.js'; + +// Returns everything but the first entry of the `array`. Especially useful on +// the `arguments` object. Passing an **n** will return the rest N values in the +// `array`. +export default function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/restArguments.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/restArguments.js new file mode 100644 index 00000000..d12057eb --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/restArguments.js @@ -0,0 +1,27 @@ +// Some functions take a variable number of arguments, or a few expected +// arguments at the beginning and then a variable number of values to operate +// on. This helper accumulates all remaining arguments past the function’s +// argument length (or an explicit `startIndex`), into an array that becomes +// the last argument. Similar to ES6’s "rest parameter". +export default function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/result.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/result.js new file mode 100644 index 00000000..30c4e200 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/result.js @@ -0,0 +1,22 @@ +import isFunction from './isFunction.js'; +import toPath from './_toPath.js'; + +// Traverses the children of `obj` along `path`. If a child is a function, it +// is invoked with its parent as context. Returns the value of the final +// child, or `fallback` if any child is undefined. +export default function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction(prop) ? prop.call(obj) : prop; + } + return obj; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sample.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sample.js new file mode 100644 index 00000000..db12e283 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sample.js @@ -0,0 +1,27 @@ +import isArrayLike from './_isArrayLike.js'; +import values from './values.js'; +import getLength from './_getLength.js'; +import random from './random.js'; +import toArray from './toArray.js'; + +// Sample **n** random values from a collection using the modern version of the +// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). +// If **n** is not specified, returns a single random element. +// The internal `guard` argument allows it to work with `_.map`. +export default function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/shuffle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/shuffle.js new file mode 100644 index 00000000..907b87a0 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/shuffle.js @@ -0,0 +1,6 @@ +import sample from './sample.js'; + +// Shuffle a collection. +export default function shuffle(obj) { + return sample(obj, Infinity); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/size.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/size.js new file mode 100644 index 00000000..4ce37148 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/size.js @@ -0,0 +1,8 @@ +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; + +// Return the number of elements in a collection. +export default function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/some.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/some.js new file mode 100644 index 00000000..ac09c078 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/some.js @@ -0,0 +1,15 @@ +import cb from './_cb.js'; +import isArrayLike from './_isArrayLike.js'; +import keys from './keys.js'; + +// Determine if at least one element in the object passes a truth test. +export default function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortBy.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortBy.js new file mode 100644 index 00000000..bca494bf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortBy.js @@ -0,0 +1,24 @@ +import cb from './_cb.js'; +import pluck from './pluck.js'; +import map from './map.js'; + +// Sort the object's values by a criterion produced by an iteratee. +export default function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortedIndex.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortedIndex.js new file mode 100644 index 00000000..09ead4aa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/sortedIndex.js @@ -0,0 +1,15 @@ +import cb from './_cb.js'; +import getLength from './_getLength.js'; + +// Use a comparator function to figure out the smallest index at which +// an object should be inserted so as to maintain order. Uses binary search. +export default function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/tap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/tap.js new file mode 100644 index 00000000..47537916 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/tap.js @@ -0,0 +1,7 @@ +// Invokes `interceptor` with the `obj` and then returns `obj`. +// The primary purpose of this method is to "tap into" a method chain, in +// order to perform operations on intermediate results within the chain. +export default function tap(obj, interceptor) { + interceptor(obj); + return obj; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/template.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/template.js new file mode 100644 index 00000000..69791832 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/template.js @@ -0,0 +1,101 @@ +import defaults from './defaults.js'; +import _ from './underscore.js'; +import './templateSettings.js'; + +// When customizing `_.templateSettings`, if you don't want to define an +// interpolation, evaluation or escaping regex, we need one that is +// guaranteed not to match. +var noMatch = /(.)^/; + +// Certain characters need to be escaped so that they can be put into a +// string literal. +var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + +function escapeChar(match) { + return '\\' + escapes[match]; +} + +// In order to prevent third-party code injection through +// `_.templateSettings.variable`, we test it against the following regular +// expression. It is intentionally a bit more liberal than just matching valid +// identifiers, but still prevents possible loopholes through defaults or +// destructuring assignment. +var bareIdentifier = /^\s*(\w|\$)+\s*$/; + +// JavaScript micro-templating, similar to John Resig's implementation. +// Underscore templating handles arbitrary delimiters, preserves whitespace, +// and correctly escapes quotes within interpolated code. +// NB: `oldSettings` only exists for backwards compatibility. +export default function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/templateSettings.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/templateSettings.js new file mode 100644 index 00000000..4a02f76a --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/templateSettings.js @@ -0,0 +1,9 @@ +import _ from './underscore.js'; + +// By default, Underscore uses ERB-style template delimiters. Change the +// following template settings to use alternative delimiters. +export default _.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/throttle.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/throttle.js new file mode 100644 index 00000000..7ab97408 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/throttle.js @@ -0,0 +1,47 @@ +import now from './now.js'; + +// Returns a function, that, when invoked, will only be triggered at most once +// during a given window of time. Normally, the throttled function will run +// as much as it can, without ever going more than once per `wait` duration; +// but if you'd like to disable the execution on the leading edge, pass +// `{leading: false}`. To disable execution on the trailing edge, ditto. +export default function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/times.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/times.js new file mode 100644 index 00000000..ab1960d5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/times.js @@ -0,0 +1,9 @@ +import optimizeCb from './_optimizeCb.js'; + +// Run a function **n** times. +export default function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toArray.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toArray.js new file mode 100644 index 00000000..00730e61 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toArray.js @@ -0,0 +1,20 @@ +import isArray from './isArray.js'; +import { slice } from './_setup.js'; +import isString from './isString.js'; +import isArrayLike from './_isArrayLike.js'; +import map from './map.js'; +import identity from './identity.js'; +import values from './values.js'; + +// Safely create a real, live array from anything iterable. +var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; +export default function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toPath.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toPath.js new file mode 100644 index 00000000..7d72d1ff --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/toPath.js @@ -0,0 +1,9 @@ +import _ from './underscore.js'; +import isArray from './isArray.js'; + +// Normalize a (deep) property `path` to array. +// Like `_.iteratee`, this function can be customized. +export default function toPath(path) { + return isArray(path) ? path : [path]; +} +_.toPath = toPath; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore-array-methods.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore-array-methods.js new file mode 100644 index 00000000..ca7c382b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore-array-methods.js @@ -0,0 +1,31 @@ +import _ from './underscore.js'; +import each from './each.js'; +import { ArrayProto } from './_setup.js'; +import chainResult from './_chainResult.js'; + +// Add all mutator `Array` functions to the wrapper. +each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; +}); + +// Add all accessor `Array` functions to the wrapper. +each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; +}); + +export default _; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore.js new file mode 100644 index 00000000..6029e2a1 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/underscore.js @@ -0,0 +1,25 @@ +import { VERSION } from './_setup.js'; + +// If Underscore is called as a function, it returns a wrapped object that can +// be used OO-style. This wrapper holds altered versions of all functions added +// through `_.mixin`. Wrapped objects may be chained. +export default function _(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; +} + +_.VERSION = VERSION; + +// Extracts the result from a wrapped and chained object. +_.prototype.value = function() { + return this._wrapped; +}; + +// Provide unwrapping proxies for some methods used in engine operations +// such as arithmetic and JSON stringification. +_.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + +_.prototype.toString = function() { + return String(this._wrapped); +}; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unescape.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unescape.js new file mode 100644 index 00000000..4edefcc8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unescape.js @@ -0,0 +1,5 @@ +import createEscaper from './_createEscaper.js'; +import unescapeMap from './_unescapeMap.js'; + +// Function for unescaping strings from HTML interpolation. +export default createEscaper(unescapeMap); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/union.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/union.js new file mode 100644 index 00000000..aa108be9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/union.js @@ -0,0 +1,9 @@ +import restArguments from './restArguments.js'; +import uniq from './uniq.js'; +import flatten from './_flatten.js'; + +// Produce an array that contains the union: each distinct element from all of +// the passed-in arrays. +export default restArguments(function(arrays) { + return uniq(flatten(arrays, true, true)); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniq.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniq.js new file mode 100644 index 00000000..ee4c8a31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniq.js @@ -0,0 +1,36 @@ +import isBoolean from './isBoolean.js'; +import cb from './_cb.js'; +import getLength from './_getLength.js'; +import contains from './contains.js'; + +// Produce a duplicate-free version of the array. If the array has already +// been sorted, you have the option of using a faster algorithm. +// The faster algorithm will not work with an iteratee if the iteratee +// is not a one-to-one function, so providing an iteratee will disable +// the faster algorithm. +export default function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniqueId.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniqueId.js new file mode 100644 index 00000000..20f321a8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/uniqueId.js @@ -0,0 +1,7 @@ +// Generate a unique integer id (unique within the entire client session). +// Useful for temporary DOM ids. +var idCounter = 0; +export default function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unzip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unzip.js new file mode 100644 index 00000000..15a3cf11 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/unzip.js @@ -0,0 +1,15 @@ +import max from './max.js'; +import getLength from './_getLength.js'; +import pluck from './pluck.js'; + +// Complement of zip. Unzip accepts an array of arrays and groups +// each array's elements on shared indices. +export default function unzip(array) { + var length = (array && max(array, getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/values.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/values.js new file mode 100644 index 00000000..9591de3e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/values.js @@ -0,0 +1,12 @@ +import keys from './keys.js'; + +// Retrieve the values of an object's properties. +export default function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/where.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/where.js new file mode 100644 index 00000000..645f8cb2 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/where.js @@ -0,0 +1,8 @@ +import filter from './filter.js'; +import matcher from './matcher.js'; + +// Convenience version of a common use case of `_.filter`: selecting only +// objects containing specific `key:value` pairs. +export default function where(obj, attrs) { + return filter(obj, matcher(attrs)); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/without.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/without.js new file mode 100644 index 00000000..7790e0fa --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/without.js @@ -0,0 +1,7 @@ +import restArguments from './restArguments.js'; +import difference from './difference.js'; + +// Return a version of the array that does not contain the specified value(s). +export default restArguments(function(array, otherArrays) { + return difference(array, otherArrays); +}); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/wrap.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/wrap.js new file mode 100644 index 00000000..b2b3fd41 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/wrap.js @@ -0,0 +1,8 @@ +import partial from './partial.js'; + +// Returns the first function passed as an argument to the second, +// allowing you to adjust arguments, run code before and after, and +// conditionally execute the original function. +export default function wrap(func, wrapper) { + return partial(wrapper, func); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/zip.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/zip.js new file mode 100644 index 00000000..ae43cb37 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/modules/zip.js @@ -0,0 +1,6 @@ +import restArguments from './restArguments.js'; +import unzip from './unzip.js'; + +// Zip together multiple lists into a single array -- elements that share +// an index go together. +export default restArguments(unzip); diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/package.json new file mode 100644 index 00000000..85615676 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/package.json @@ -0,0 +1,122 @@ +{ + "name": "underscore", + "description": "JavaScript's functional programming helper library.", + "version": "1.13.4", + "author": "Jeremy Ashkenas ", + "license": "MIT", + "homepage": "https://underscorejs.org", + "repository": { + "type": "git", + "url": "git://github.com/jashkenas/underscore.git" + }, + "keywords": [ + "util", + "functional", + "server", + "client", + "browser" + ], + "main": "underscore-umd.js", + "module": "modules/index-all.js", + "type": "commonjs", + "exports": { + ".": { + "import": { + "module": "./modules/index-all.js", + "browser": { + "production": "./underscore-esm-min.js", + "default": "./underscore-esm.js" + }, + "node": "./underscore-node.mjs", + "default": "./underscore-esm.js" + }, + "require": { + "browser": { + "production": "./underscore-umd-min.js", + "default": "./underscore-umd.js" + }, + "node": "./underscore-node.cjs", + "default": "./underscore-umd.js" + }, + "default": "./underscore-umd.js" + }, + "./underscore*": "./underscore*", + "./modules/*": { + "require": "./cjs/*", + "default": "./modules/*" + }, + "./amd/*": "./amd/*", + "./cjs/*": "./cjs/*", + "./package.json": "./package.json" + }, + "devDependencies": { + "coveralls": "^2.11.2", + "cpy-cli": "^3.1.1", + "docco": "^0.8.0", + "eslint": "^6.8.0", + "eslint-plugin-import": "^2.20.1", + "glob": "^7.1.6", + "gzip-size-cli": "^1.0.0", + "husky": "^4.2.3", + "karma": "^0.13.13", + "karma-qunit": "~2.0.1", + "karma-sauce-launcher": "^1.2.0", + "nyc": "^2.1.3", + "pretty-bytes-cli": "^1.0.0", + "qunit": "2.10.1", + "rollup": "^2.40.0", + "terser": "^4.6.13" + }, + "overrides": { + "colors@>1.4.0": "1.4.0" + }, + "scripts": { + "test": "npm run lint && npm run test-node", + "coverage": "nyc npm run test-node && nyc report", + "coveralls": "nyc npm run test-node && nyc report --reporter=text-lcov | coveralls", + "lint": "eslint modules/*.js test/*.js", + "test-node": "npm run prepare-tests && qunit test/", + "test-browser": "npm run prepare-tests && npm i karma-phantomjs-launcher && karma start", + "bundle": "rollup -c && eslint underscore-umd.js && rollup -c rollup.config2.js", + "bundle-treeshake": "cd test-treeshake && rollup --config", + "prepare-tests": "npm run bundle && npm run bundle-treeshake", + "minify-umd": "terser underscore-umd.js -c \"evaluate=false\" --comments \"/ .*/\" -m", + "minify-esm": "terser underscore-esm.js -c \"evaluate=false\" --comments \"/ .*/\" -m", + "module-package-json": "node -e 'console.log(`{\"type\":\"module\",\"version\":\"${process.env.npm_package_version}\"}`)' > modules/package.json", + "build-umd": "npm run minify-umd -- --source-map content=underscore-umd.js.map --source-map-url \" \" -o underscore-umd-min.js", + "build-esm": "npm run module-package-json && npm run minify-esm -- --source-map content=underscore-esm.js.map --source-map-url \" \" -o underscore-esm-min.js", + "alias-bundle": "cpy --rename=underscore.js underscore-umd.js . && cpy --rename=underscore-min.js underscore-umd-min.js . && cpy --rename=underscore-min.js.map underscore-umd-min.js.map .", + "build": "npm run bundle && npm run build-umd && npm run build-esm && npm run alias-bundle", + "doc": "docco underscore-esm.js && docco modules/*.js -c docco.css -t docs/linked-esm.jst", + "weight": "npm run bundle && npm run minify-umd | gzip-size | pretty-bytes", + "prepublishOnly": "npm run build && npm run doc" + }, + "files": [ + "underscore-esm.js", + "underscore-esm.js.map", + "underscore-esm-min.js", + "underscore-esm-min.js.map", + "underscore-umd.js", + "underscore-umd.js.map", + "underscore-umd-min.js", + "underscore-umd-min.js.map", + "underscore.js", + "underscore-min.js", + "underscore-min.js.map", + "underscore-node-f.cjs", + "underscore-node-f.cjs.map", + "underscore-node.cjs", + "underscore-node.cjs.map", + "underscore-node.mjs", + "underscore-node.mjs.map", + "modules/", + "amd/", + "cjs/" + ], + "husky": { + "hooks": { + "pre-commit": "npm run bundle && git add underscore-umd.js underscore-umd.js.map underscore-esm.js underscore-esm.js.map underscore-node-f.cjs underscore-node-f.cjs.map underscore-node.cjs underscore-node.cjs.map underscore-node.mjs underscore-node.mjs.map", + "post-commit": "git reset underscore-umd.js underscore-umd.js.map underscore-esm.js underscore-esm.js.map underscore-node-f.cjs underscore-node-f.cjs.map underscore-node.cjs underscore-node.cjs.map underscore-node.mjs underscore-node.mjs.map" + } + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm-min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm-min.js new file mode 100644 index 00000000..1e1ebb9f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm-min.js @@ -0,0 +1,5 @@ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var VERSION="1.13.4",root="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},ArrayProto=Array.prototype,ObjProto=Object.prototype,SymbolProto="undefined"!=typeof Symbol?Symbol.prototype:null,push=ArrayProto.push,slice=ArrayProto.slice,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty,supportsArrayBuffer="undefined"!=typeof ArrayBuffer,supportsDataView="undefined"!=typeof DataView,nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeCreate=Object.create,nativeIsView=supportsArrayBuffer&&ArrayBuffer.isView,_isNaN=isNaN,_isFinite=isFinite,hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],MAX_ARRAY_INDEX=Math.pow(2,53)-1;function restArguments(e,t){return t=null==t?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),r=Array(n),i=0;i=0&&n<=MAX_ARRAY_INDEX}}function shallowProperty(e){return function(t){return null==t?void 0:t[e]}}var getByteLength=shallowProperty("byteLength"),isBufferLike=createSizePropertyCheck(getByteLength),typedArrayPattern=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function isTypedArray(e){return nativeIsView?nativeIsView(e)&&!isDataView$1(e):isBufferLike(e)&&typedArrayPattern.test(toString.call(e))}var isTypedArray$1=supportsArrayBuffer?isTypedArray:constant(!1),getLength=shallowProperty("length");function emulatedSet(e){for(var t={},n=e.length,r=0;r":">",'"':""","'":"'","`":"`"},_escape=createEscaper(escapeMap),unescapeMap=invert(escapeMap),_unescape=createEscaper(unescapeMap),templateSettings=_$1.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},noMatch=/(.)^/,escapes={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},escapeRegExp=/\\|'|\r|\n|\u2028|\u2029/g;function escapeChar(e){return"\\"+escapes[e]}var bareIdentifier=/^\s*(\w|\$)+\s*$/;function template(e,t,n){!t&&n&&(t=n),t=defaults({},t,_$1.templateSettings);var r=RegExp([(t.escape||noMatch).source,(t.interpolate||noMatch).source,(t.evaluate||noMatch).source].join("|")+"|$","g"),i=0,a="__p+='";e.replace(r,(function(t,n,r,u,o){return a+=e.slice(i,o).replace(escapeRegExp,escapeChar),i=o+t.length,n?a+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":u&&(a+="';\n"+u+"\n__p+='"),t})),a+="';\n";var u,o=t.variable;if(o){if(!bareIdentifier.test(o))throw new Error("variable is not a bare identifier: "+o)}else a="with(obj||{}){\n"+a+"}\n",o="obj";a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{u=new Function(o,"_",a)}catch(e){throw e.source=a,e}var s=function(e){return u.call(this,e,_$1)};return s.source="function("+o+"){\n"+a+"}",s}function result(e,t,n){var r=(t=toPath(t)).length;if(!r)return isFunction$1(n)?n.call(e):n;for(var i=0;i1)flatten$1(o,t-1,n,r),i=r.length;else for(var s=0,c=o.length;st?(r&&(clearTimeout(r),r=null),o=c,u=e.apply(i,a),r||(i=a=null)):r||!1===n.trailing||(r=setTimeout(s,f)),u};return c.cancel=function(){clearTimeout(r),o=0,r=i=a=null},c}function debounce(e,t,n){var r,i,a,u,o,s=function(){var c=now()-i;t>c?r=setTimeout(s,t-c):(r=null,n||(u=e.apply(o,a)),r||(a=o=null))},c=restArguments((function(c){return o=this,a=c,i=now(),r||(r=setTimeout(s,t),n&&(u=e.apply(o,a))),u}));return c.cancel=function(){clearTimeout(r),r=a=o=null},c}function wrap(e,t){return partial(t,e)}function negate(e){return function(){return!e.apply(this,arguments)}}function compose(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}}function after(e,t){return function(){if(--e<1)return t.apply(this,arguments)}}function before(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var once=partial(before,2);function findKey(e,t,n){t=cb(t,n);for(var r,i=keys(e),a=0,u=i.length;a0?0:i-1;a>=0&&a0?u=a>=0?a:Math.max(a+o,u):o=a>=0?Math.min(a+1,o):a+o+1;else if(n&&a&&o)return r[a=n(r,i)]===i?a:-1;if(i!=i)return(a=t(slice.call(r,u,o),isNaN$1))>=0?a+u:-1;for(a=e>0?u:o-1;a>=0&&a0?0:u-1;for(i||(r=t[a?a[o]:o],o+=e);o>=0&&o=3;return t(e,optimizeCb(n,i,4),r,a)}}var reduce=createReduce(1),reduceRight=createReduce(-1);function filter(e,t,n){var r=[];return t=cb(t,n),each(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function reject(e,t,n){return filter(e,negate(cb(t)),n)}function every(e,t,n){t=cb(t,n);for(var r=!isArrayLike(e)&&keys(e),i=(r||e).length,a=0;a=0}var invoke=restArguments((function(e,t,n){var r,i;return isFunction$1(t)?i=t:(t=toPath(t),r=t.slice(0,-1),t=t[t.length-1]),map(e,(function(e){var a=i;if(!a){if(r&&r.length&&(e=deepGet(e,r)),null==e)return;a=e[t]}return null==a?a:a.apply(e,n)}))}));function pluck(e,t){return map(e,property(t))}function where(e,t){return filter(e,matcher(t))}function max(e,t,n){var r,i,a=-1/0,u=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,s=(e=isArrayLike(e)?e:values(e)).length;oa&&(a=r);else t=cb(t,n),each(e,(function(e,n,r){((i=t(e,n,r))>u||i===-1/0&&a===-1/0)&&(a=e,u=i)}));return a}function min(e,t,n){var r,i,a=1/0,u=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,s=(e=isArrayLike(e)?e:values(e)).length;or||void 0===n)return 1;if(n1&&(r=optimizeCb(r,t[1])),t=allKeys(e)):(r=keyInObj,t=flatten$1(t,!1,!1),e=Object(e));for(var i=0,a=t.length;i1&&(n=t[1])):(t=map(flatten$1(t,!1,!1),String),r=function(e,n){return!contains(t,n)}),pick(e,r,n)}));function initial(e,t,n){return slice.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))}function first(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[0]:initial(e,e.length-t)}function rest(e,t,n){return slice.call(e,null==t||n?1:t)}function last(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[e.length-1]:rest(e,Math.max(0,e.length-t))}function compact(e){return filter(e,Boolean)}function flatten(e,t){return flatten$1(e,t,!1)}var difference=restArguments((function(e,t){return t=flatten$1(t,!0,!0),filter(e,(function(e){return!contains(t,e)}))})),without=restArguments((function(e,t){return difference(e,t)}));function uniq(e,t,n,r){isBoolean(t)||(r=n,n=t,t=!1),null!=n&&(n=cb(n,r));for(var i=[],a=[],u=0,o=getLength(e);u","\"","'","`","_escape","unescapeMap","_unescape","templateSettings","evaluate","interpolate","escape","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","bareIdentifier","template","text","settings","oldSettings","offset","render","argument","variable","Error","e","data","fallback","idCounter","uniqueId","prefix","id","chain","instance","_chain","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","position","bind","TypeError","callArgs","isArrayLike","flatten","input","depth","strict","output","idx","j","len","bindAll","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","throttled","_now","remaining","clearTimeout","trailing","cancel","debounce","immediate","passed","debounced","_args","wrap","wrapper","negate","predicate","compose","start","after","before","memo","once","findKey","createPredicateIndexFinder","dir","array","findIndex","findLastIndex","sortedIndex","low","high","mid","createIndexFinder","predicateFind","item","indexOf","lastIndexOf","find","findWhere","each","createReduce","reducer","initial","reduce","reduceRight","filter","list","reject","every","some","fromIndex","guard","invoke","contextPath","method","pluck","where","computed","lastComputed","v","reStrSymbol","toArray","sample","last","rand","temp","shuffle","sortBy","criteria","left","right","group","behavior","partition","groupBy","indexBy","countBy","pass","size","keyInObj","pick","omit","first","compact","Boolean","_flatten","difference","without","otherArrays","uniq","isSorted","seen","union","arrays","intersection","argsLength","unzip","zip","range","stop","step","ceil","chunk","count","chainResult","mixin","allExports"],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js new file mode 100644 index 00000000..4690354c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js @@ -0,0 +1,2034 @@ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +// Current version. +var VERSION = '1.13.4'; + +// Establish the root object, `window` (`self`) in the browser, `global` +// on the server, or `this` in some virtual machines. We use `self` +// instead of `window` for `WebWorker` support. +var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + +// Save bytes in the minified (but not gzipped) version: +var ArrayProto = Array.prototype, ObjProto = Object.prototype; +var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + +// Create quick reference variables for speed access to core prototypes. +var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + +// Modern feature detection. +var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + +// All **ECMAScript 5+** native function implementations that we hope to use +// are declared here. +var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + +// Create references to these builtin functions because we override them. +var _isNaN = isNaN, + _isFinite = isFinite; + +// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. +var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); +var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + +// The largest integer that can be represented exactly. +var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + +// Some functions take a variable number of arguments, or a few expected +// arguments at the beginning and then a variable number of values to operate +// on. This helper accumulates all remaining arguments past the function’s +// argument length (or an explicit `startIndex`), into an array that becomes +// the last argument. Similar to ES6’s "rest parameter". +function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; +} + +// Is a given variable an object? +function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); +} + +// Is a given value equal to null? +function isNull(obj) { + return obj === null; +} + +// Is a given variable undefined? +function isUndefined(obj) { + return obj === void 0; +} + +// Is a given value a boolean? +function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; +} + +// Is a given value a DOM element? +function isElement(obj) { + return !!(obj && obj.nodeType === 1); +} + +// Internal function for creating a `toString`-based type tester. +function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; +} + +var isString = tagTester('String'); + +var isNumber = tagTester('Number'); + +var isDate = tagTester('Date'); + +var isRegExp = tagTester('RegExp'); + +var isError = tagTester('Error'); + +var isSymbol = tagTester('Symbol'); + +var isArrayBuffer = tagTester('ArrayBuffer'); + +var isFunction = tagTester('Function'); + +// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old +// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). +var nodelist = root.document && root.document.childNodes; +if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; +} + +var isFunction$1 = isFunction; + +var hasObjectTag = tagTester('Object'); + +// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. +// In IE 11, the most common among them, this problem also applies to +// `Map`, `WeakMap` and `Set`. +var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + +var isDataView = tagTester('DataView'); + +// In IE 10 - Edge 13, we need a different heuristic +// to determine whether an object is a `DataView`. +function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); +} + +var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + +// Is a given value an array? +// Delegates to ECMA5's native `Array.isArray`. +var isArray = nativeIsArray || tagTester('Array'); + +// Internal function to check whether `key` is an own property name of `obj`. +function has$1(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); +} + +var isArguments = tagTester('Arguments'); + +// Define a fallback version of the method in browsers (ahem, IE < 9), where +// there isn't any inspectable "Arguments" type. +(function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has$1(obj, 'callee'); + }; + } +}()); + +var isArguments$1 = isArguments; + +// Is a given object a finite number? +function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); +} + +// Is the given value `NaN`? +function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); +} + +// Predicate-generating function. Often useful outside of Underscore. +function constant(value) { + return function() { + return value; + }; +} + +// Common internal logic for `isArrayLike` and `isBufferLike`. +function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } +} + +// Internal helper to generate a function to obtain property `key` from `obj`. +function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; +} + +// Internal helper to obtain the `byteLength` property of an object. +var getByteLength = shallowProperty('byteLength'); + +// Internal helper to determine whether we should spend extensive checks against +// `ArrayBuffer` et al. +var isBufferLike = createSizePropertyCheck(getByteLength); + +// Is a given value a typed array? +var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; +function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); +} + +var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + +// Internal helper to obtain the `length` property of an object. +var getLength = shallowProperty('length'); + +// Internal helper to create a simple lookup structure. +// `collectNonEnumProps` used to depend on `_.contains`, but this led to +// circular imports. `emulatedSet` is a one-off solution that only works for +// arrays of strings. +function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; +} + +// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't +// be iterated by `for key in ...` and thus missed. Extends `keys` in place if +// needed. +function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } +} + +// Retrieve the names of an object's own properties. +// Delegates to **ECMAScript 5**'s native `Object.keys`. +function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has$1(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} + +// Is a given array, string, or object empty? +// An "empty" object has no enumerable own-properties. +function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; +} + +// Returns whether an object has a given set of `key:value` pairs. +function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; +} + +// If Underscore is called as a function, it returns a wrapped object that can +// be used OO-style. This wrapper holds altered versions of all functions added +// through `_.mixin`. Wrapped objects may be chained. +function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); + this._wrapped = obj; +} + +_$1.VERSION = VERSION; + +// Extracts the result from a wrapped and chained object. +_$1.prototype.value = function() { + return this._wrapped; +}; + +// Provide unwrapping proxies for some methods used in engine operations +// such as arithmetic and JSON stringification. +_$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; + +_$1.prototype.toString = function() { + return String(this._wrapped); +}; + +// Internal function to wrap or shallow-copy an ArrayBuffer, +// typed array or DataView to a new view, reusing the buffer. +function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); +} + +// We use this string twice, so give it a name for minification. +var tagDataView = '[object DataView]'; + +// Internal recursive comparison function for `_.isEqual`. +function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); +} + +// Internal recursive comparison function for `_.isEqual`. +function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; +} + +// Perform a deep comparison to check if two objects are equal. +function isEqual(a, b) { + return eq(a, b); +} + +// Retrieve all the enumerable property names of an object. +function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} + +// Since the regular `Object.prototype.toString` type tests don't work for +// some types in IE 11, we use a fingerprinting heuristic instead, based +// on the methods. It's not great, but it's the best we got. +// The fingerprint method lists are defined below. +function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; +} + +// In the interest of compact minification, we write +// each string in the fingerprints only once. +var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + +// `Map`, `WeakMap` and `Set` each have slightly different +// combinations of the above sublists. +var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + +var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + +var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + +var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + +var isWeakSet = tagTester('WeakSet'); + +// Retrieve the values of an object's properties. +function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; +} + +// Convert an object into a list of `[key, value]` pairs. +// The opposite of `_.object` with one argument. +function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; +} + +// Invert the keys and values of an object. The values must be serializable. +function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; +} + +// Return a sorted list of the function names available on the object. +function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); +} + +// An internal function for creating assigner functions. +function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; +} + +// Extend a given object with all the properties in passed-in object(s). +var extend = createAssigner(allKeys); + +// Assigns a given object with all the own properties in the passed-in +// object(s). +// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) +var extendOwn = createAssigner(keys); + +// Fill in a given object with default properties. +var defaults = createAssigner(allKeys, true); + +// Create a naked function reference for surrogate-prototype-swapping. +function ctor() { + return function(){}; +} + +// An internal function for creating a new object that inherits from another. +function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; +} + +// Creates an object that inherits from the given prototype object. +// If additional properties are provided then they will be added to the +// created object. +function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; +} + +// Create a (shallow-cloned) duplicate of an object. +function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); +} + +// Invokes `interceptor` with the `obj` and then returns `obj`. +// The primary purpose of this method is to "tap into" a method chain, in +// order to perform operations on intermediate results within the chain. +function tap(obj, interceptor) { + interceptor(obj); + return obj; +} + +// Normalize a (deep) property `path` to array. +// Like `_.iteratee`, this function can be customized. +function toPath$1(path) { + return isArray(path) ? path : [path]; +} +_$1.toPath = toPath$1; + +// Internal wrapper for `_.toPath` to enable minification. +// Similar to `cb` for `_.iteratee`. +function toPath(path) { + return _$1.toPath(path); +} + +// Internal function to obtain a nested property in `obj` along `path`. +function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; +} + +// Get the value of the (deep) property on `path` from `object`. +// If any property in `path` does not exist or if the value is +// `undefined`, return `defaultValue` instead. +// The `path` is normalized through `_.toPath`. +function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; +} + +// Shortcut function for checking if an object has a given property directly on +// itself (in other words, not on a prototype). Unlike the internal `has` +// function, this public version can also traverse nested properties. +function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has$1(obj, key)) return false; + obj = obj[key]; + } + return !!length; +} + +// Keep the identity function around for default iteratees. +function identity(value) { + return value; +} + +// Returns a predicate for checking whether an object has a given set of +// `key:value` pairs. +function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; +} + +// Creates a function that, when passed an object, will traverse that object’s +// properties down the given `path`, specified as an array of keys or indices. +function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; +} + +// Internal function that returns an efficient (for current engines) version +// of the passed-in callback, to be repeatedly applied in other Underscore +// functions. +function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; +} + +// An internal function to generate callbacks that can be applied to each +// element in a collection, returning the desired result — either `_.identity`, +// an arbitrary callback, a property matcher, or a property accessor. +function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); +} + +// External wrapper for our callback generator. Users may customize +// `_.iteratee` if they want additional predicate/iteratee shorthand styles. +// This abstraction hides the internal-only `argCount` argument. +function iteratee(value, context) { + return baseIteratee(value, context, Infinity); +} +_$1.iteratee = iteratee; + +// The function we call internally to generate a callback. It invokes +// `_.iteratee` if overridden, otherwise `baseIteratee`. +function cb(value, context, argCount) { + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); + return baseIteratee(value, context, argCount); +} + +// Returns the results of applying the `iteratee` to each element of `obj`. +// In contrast to `_.map` it returns an object. +function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +// Predicate-generating function. Often useful outside of Underscore. +function noop(){} + +// Generates a function for a given object that returns a given property. +function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; +} + +// Run a function **n** times. +function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; +} + +// Return a random integer between `min` and `max` (inclusive). +function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); +} + +// A (possibly faster) way to get the current timestamp as an integer. +var now = Date.now || function() { + return new Date().getTime(); +}; + +// Internal helper to generate functions for escaping and unescaping strings +// to/from HTML interpolation. +function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +} + +// Internal list of HTML entities for escaping. +var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; + +// Function for escaping strings to HTML interpolation. +var _escape = createEscaper(escapeMap); + +// Internal list of HTML entities for unescaping. +var unescapeMap = invert(escapeMap); + +// Function for unescaping strings from HTML interpolation. +var _unescape = createEscaper(unescapeMap); + +// By default, Underscore uses ERB-style template delimiters. Change the +// following template settings to use alternative delimiters. +var templateSettings = _$1.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g +}; + +// When customizing `_.templateSettings`, if you don't want to define an +// interpolation, evaluation or escaping regex, we need one that is +// guaranteed not to match. +var noMatch = /(.)^/; + +// Certain characters need to be escaped so that they can be put into a +// string literal. +var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + +function escapeChar(match) { + return '\\' + escapes[match]; +} + +// In order to prevent third-party code injection through +// `_.templateSettings.variable`, we test it against the following regular +// expression. It is intentionally a bit more liberal than just matching valid +// identifiers, but still prevents possible loopholes through defaults or +// destructuring assignment. +var bareIdentifier = /^\s*(\w|\$)+\s*$/; + +// JavaScript micro-templating, similar to John Resig's implementation. +// Underscore templating handles arbitrary delimiters, preserves whitespace, +// and correctly escapes quotes within interpolated code. +// NB: `oldSettings` only exists for backwards compatibility. +function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _$1.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _$1); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; +} + +// Traverses the children of `obj` along `path`. If a child is a function, it +// is invoked with its parent as context. Returns the value of the final +// child, or `fallback` if any child is undefined. +function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; +} + +// Generate a unique integer id (unique within the entire client session). +// Useful for temporary DOM ids. +var idCounter = 0; +function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; +} + +// Start chaining a wrapped Underscore object. +function chain(obj) { + var instance = _$1(obj); + instance._chain = true; + return instance; +} + +// Internal function to execute `sourceFunc` bound to `context` with optional +// `args`. Determines whether to execute a function as a constructor or as a +// normal function. +function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; +} + +// Partially apply a function by creating a version that has had some of its +// arguments pre-filled, without changing its dynamic `this` context. `_` acts +// as a placeholder by default, allowing any combination of arguments to be +// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. +var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; +}); + +partial.placeholder = _$1; + +// Create a function bound to a given object (assigning `this`, and arguments, +// optionally). +var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; +}); + +// Internal helper for collection methods to determine whether a collection +// should be iterated as an array or as an object. +// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength +// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 +var isArrayLike = createSizePropertyCheck(getLength); + +// Internal implementation of a recursive `flatten` function. +function flatten$1(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten$1(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; +} + +// Bind a number of an object's methods to that object. Remaining arguments +// are the method names to be bound. Useful for ensuring that all callbacks +// defined on an object belong to it. +var bindAll = restArguments(function(obj, keys) { + keys = flatten$1(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; +}); + +// Memoize an expensive function by storing its results. +function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; +} + +// Delays a function for the given number of milliseconds, and then calls +// it with the arguments supplied. +var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); +}); + +// Defers a function, scheduling it to run after the current call stack has +// cleared. +var defer = partial(delay, _$1, 1); + +// Returns a function, that, when invoked, will only be triggered at most once +// during a given window of time. Normally, the throttled function will run +// as much as it can, without ever going more than once per `wait` duration; +// but if you'd like to disable the execution on the leading edge, pass +// `{leading: false}`. To disable execution on the trailing edge, ditto. +function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; +} + +// When a sequence of calls of the returned function ends, the argument +// function is triggered. The end of a sequence is defined by the `wait` +// parameter. If `immediate` is passed, the argument function will be +// triggered at the beginning of the sequence instead of at the end. +function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; +} + +// Returns the first function passed as an argument to the second, +// allowing you to adjust arguments, run code before and after, and +// conditionally execute the original function. +function wrap(func, wrapper) { + return partial(wrapper, func); +} + +// Returns a negated version of the passed-in predicate. +function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; +} + +// Returns a function that is the composition of a list of functions, each +// consuming the return value of the function that follows. +function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; +} + +// Returns a function that will only be executed on and after the Nth call. +function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; +} + +// Returns a function that will only be executed up to (but not including) the +// Nth call. +function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; +} + +// Returns a function that will be executed at most one time, no matter how +// often you call it. Useful for lazy initialization. +var once = partial(before, 2); + +// Returns the first key on an object that passes a truth test. +function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } +} + +// Internal function to generate `_.findIndex` and `_.findLastIndex`. +function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; +} + +// Returns the first index on an array-like that passes a truth test. +var findIndex = createPredicateIndexFinder(1); + +// Returns the last index on an array-like that passes a truth test. +var findLastIndex = createPredicateIndexFinder(-1); + +// Use a comparator function to figure out the smallest index at which +// an object should be inserted so as to maintain order. Uses binary search. +function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; +} + +// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. +function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; +} + +// Return the position of the first occurrence of an item in an array, +// or -1 if the item is not included in the array. +// If the array is large and already in sort order, pass `true` +// for **isSorted** to use binary search. +var indexOf = createIndexFinder(1, findIndex, sortedIndex); + +// Return the position of the last occurrence of an item in an array, +// or -1 if the item is not included in the array. +var lastIndexOf = createIndexFinder(-1, findLastIndex); + +// Return the first value which passes a truth test. +function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; +} + +// Convenience version of a common use case of `_.find`: getting the first +// object containing specific `key:value` pairs. +function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); +} + +// The cornerstone for collection functions, an `each` +// implementation, aka `forEach`. +// Handles raw objects in addition to array-likes. Treats all +// sparse array-likes as if they were dense. +function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; +} + +// Return the results of applying the iteratee to each element. +function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +// Internal helper to create a reducing function, iterating left or right. +function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; +} + +// **Reduce** builds up a single result from a list of values, aka `inject`, +// or `foldl`. +var reduce = createReduce(1); + +// The right-associative version of reduce, also known as `foldr`. +var reduceRight = createReduce(-1); + +// Return all the elements that pass a truth test. +function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; +} + +// Return all the elements for which a truth test fails. +function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); +} + +// Determine whether all of the elements pass a truth test. +function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; +} + +// Determine if at least one element in the object passes a truth test. +function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; +} + +// Determine if the array or object contains a given item (using `===`). +function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; +} + +// Invoke a method (with arguments) on every item in a collection. +var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); +}); + +// Convenience version of a common use case of `_.map`: fetching a property. +function pluck(obj, key) { + return map(obj, property(key)); +} + +// Convenience version of a common use case of `_.filter`: selecting only +// objects containing specific `key:value` pairs. +function where(obj, attrs) { + return filter(obj, matcher(attrs)); +} + +// Return the maximum element (or element-based computation). +function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +// Return the minimum element (or element-based computation). +function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +// Safely create a real, live array from anything iterable. +var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; +function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); +} + +// Sample **n** random values from a collection using the modern version of the +// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). +// If **n** is not specified, returns a single random element. +// The internal `guard` argument allows it to work with `_.map`. +function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); +} + +// Shuffle a collection. +function shuffle(obj) { + return sample(obj, Infinity); +} + +// Sort the object's values by a criterion produced by an iteratee. +function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); +} + +// An internal function used for aggregate "group by" operations. +function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; +} + +// Groups the object's values by a criterion. Pass either a string attribute +// to group by, or a function that returns the criterion. +var groupBy = group(function(result, value, key) { + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; +}); + +// Indexes the object's values by a criterion, similar to `_.groupBy`, but for +// when you know that your index values will be unique. +var indexBy = group(function(result, value, key) { + result[key] = value; +}); + +// Counts instances of an object that group by a certain criterion. Pass +// either a string attribute to count by, or a function that returns the +// criterion. +var countBy = group(function(result, value, key) { + if (has$1(result, key)) result[key]++; else result[key] = 1; +}); + +// Split a collection into two arrays: one whose elements all pass the given +// truth test, and one whose elements all do not pass the truth test. +var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); +}, true); + +// Return the number of elements in a collection. +function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; +} + +// Internal `_.pick` helper function to determine whether `key` is an enumerable +// property name of `obj`. +function keyInObj(value, key, obj) { + return key in obj; +} + +// Return a copy of the object only containing the allowed properties. +var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten$1(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; +}); + +// Return a copy of the object without the disallowed properties. +var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten$1(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); +}); + +// Returns everything but the last entry of the array. Especially useful on +// the arguments object. Passing **n** will return all the values in +// the array, excluding the last N. +function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); +} + +// Get the first element of an array. Passing **n** will return the first N +// values in the array. The **guard** check allows it to work with `_.map`. +function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); +} + +// Returns everything but the first entry of the `array`. Especially useful on +// the `arguments` object. Passing an **n** will return the rest N values in the +// `array`. +function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); +} + +// Get the last element of an array. Passing **n** will return the last N +// values in the array. +function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); +} + +// Trim out all falsy values from an array. +function compact(array) { + return filter(array, Boolean); +} + +// Flatten out an array, either recursively (by default), or up to `depth`. +// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. +function flatten(array, depth) { + return flatten$1(array, depth, false); +} + +// Take the difference between one array and a number of other arrays. +// Only the elements present in just the first array will remain. +var difference = restArguments(function(array, rest) { + rest = flatten$1(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); +}); + +// Return a version of the array that does not contain the specified value(s). +var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); +}); + +// Produce a duplicate-free version of the array. If the array has already +// been sorted, you have the option of using a faster algorithm. +// The faster algorithm will not work with an iteratee if the iteratee +// is not a one-to-one function, so providing an iteratee will disable +// the faster algorithm. +function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; +} + +// Produce an array that contains the union: each distinct element from all of +// the passed-in arrays. +var union = restArguments(function(arrays) { + return uniq(flatten$1(arrays, true, true)); +}); + +// Produce an array that contains every item shared between all the +// passed-in arrays. +function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; +} + +// Complement of zip. Unzip accepts an array of arrays and groups +// each array's elements on shared indices. +function unzip(array) { + var length = (array && max(array, getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; +} + +// Zip together multiple lists into a single array -- elements that share +// an index go together. +var zip = restArguments(unzip); + +// Converts lists into objects. Pass either a single array of `[key, value]` +// pairs, or two parallel arrays of the same length -- one of keys, and one of +// the corresponding values. Passing by pairs is the reverse of `_.pairs`. +function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; +} + +// Generate an integer Array containing an arithmetic progression. A port of +// the native Python `range()` function. See +// [the Python documentation](https://docs.python.org/library/functions.html#range). +function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; +} + +// Chunk a single array into multiple arrays, each containing `count` or fewer +// items. +function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; +} + +// Helper function to continue chaining intermediate results. +function chainResult(instance, obj) { + return instance._chain ? _$1(obj).chain() : obj; +} + +// Add your own custom functions to the Underscore object. +function mixin(obj) { + each(functions(obj), function(name) { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_$1, args)); + }; + }); + return _$1; +} + +// Add all mutator `Array` functions to the wrapper. +each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; +}); + +// Add all accessor `Array` functions to the wrapper. +each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; +}); + +// Named Exports + +var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath$1, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _$1 +}; + +// Default Export + +// Add all of the Underscore functions to the wrapper object. +var _ = mixin(allExports); +// Legacy Node.js API. +_._ = _; + +// ESM Exports + +export default _; +export { VERSION, after, every as all, allKeys, some as any, extendOwn as assign, before, bind, bindAll, chain, chunk, clone, map as collect, compact, compose, constant, contains, countBy, create, debounce, defaults, defer, delay, find as detect, difference, rest as drop, each, _escape as escape, every, extend, extendOwn, filter, find, findIndex, findKey, findLastIndex, findWhere, first, flatten, reduce as foldl, reduceRight as foldr, each as forEach, functions, get, groupBy, has, first as head, identity, contains as include, contains as includes, indexBy, indexOf, initial, reduce as inject, intersection, invert, invoke, isArguments$1 as isArguments, isArray, isArrayBuffer, isBoolean, isDataView$1 as isDataView, isDate, isElement, isEmpty, isEqual, isError, isFinite$1 as isFinite, isFunction$1 as isFunction, isMap, isMatch, isNaN$1 as isNaN, isNull, isNumber, isObject, isRegExp, isSet, isString, isSymbol, isTypedArray$1 as isTypedArray, isUndefined, isWeakMap, isWeakSet, iteratee, keys, last, lastIndexOf, map, mapObject, matcher, matcher as matches, max, memoize, functions as methods, min, mixin, negate, noop, now, object, omit, once, pairs, partial, partition, pick, pluck, property, propertyOf, random, range, reduce, reduceRight, reject, rest, restArguments, result, sample, filter as select, shuffle, size, some, sortBy, sortedIndex, rest as tail, first as take, tap, template, templateSettings, throttle, times, toArray, toPath$1 as toPath, unzip as transpose, _unescape as unescape, union, uniq, uniq as unique, uniqueId, unzip, values, where, without, wrap, zip }; +//# sourceMappingURL=underscore-esm.js.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js.map b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js.map new file mode 100644 index 00000000..5298724d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-esm.js","sources":["modules/_setup.js","modules/restArguments.js","modules/isObject.js","modules/isNull.js","modules/isUndefined.js","modules/isBoolean.js","modules/isElement.js","modules/_tagTester.js","modules/isString.js","modules/isNumber.js","modules/isDate.js","modules/isRegExp.js","modules/isError.js","modules/isSymbol.js","modules/isArrayBuffer.js","modules/isFunction.js","modules/_hasObjectTag.js","modules/_stringTagBug.js","modules/isDataView.js","modules/isArray.js","modules/_has.js","modules/isArguments.js","modules/isFinite.js","modules/isNaN.js","modules/constant.js","modules/_createSizePropertyCheck.js","modules/_shallowProperty.js","modules/_getByteLength.js","modules/_isBufferLike.js","modules/isTypedArray.js","modules/_getLength.js","modules/_collectNonEnumProps.js","modules/keys.js","modules/isEmpty.js","modules/isMatch.js","modules/underscore.js","modules/_toBufferView.js","modules/isEqual.js","modules/allKeys.js","modules/_methodFingerprint.js","modules/isMap.js","modules/isWeakMap.js","modules/isSet.js","modules/isWeakSet.js","modules/values.js","modules/pairs.js","modules/invert.js","modules/functions.js","modules/_createAssigner.js","modules/extend.js","modules/extendOwn.js","modules/defaults.js","modules/_baseCreate.js","modules/create.js","modules/clone.js","modules/tap.js","modules/toPath.js","modules/_toPath.js","modules/_deepGet.js","modules/get.js","modules/has.js","modules/identity.js","modules/matcher.js","modules/property.js","modules/_optimizeCb.js","modules/_baseIteratee.js","modules/iteratee.js","modules/_cb.js","modules/mapObject.js","modules/noop.js","modules/propertyOf.js","modules/times.js","modules/random.js","modules/now.js","modules/_createEscaper.js","modules/_escapeMap.js","modules/escape.js","modules/_unescapeMap.js","modules/unescape.js","modules/templateSettings.js","modules/template.js","modules/result.js","modules/uniqueId.js","modules/chain.js","modules/_executeBound.js","modules/partial.js","modules/bind.js","modules/_isArrayLike.js","modules/_flatten.js","modules/bindAll.js","modules/memoize.js","modules/delay.js","modules/defer.js","modules/throttle.js","modules/debounce.js","modules/wrap.js","modules/negate.js","modules/compose.js","modules/after.js","modules/before.js","modules/once.js","modules/findKey.js","modules/_createPredicateIndexFinder.js","modules/findIndex.js","modules/findLastIndex.js","modules/sortedIndex.js","modules/_createIndexFinder.js","modules/indexOf.js","modules/lastIndexOf.js","modules/find.js","modules/findWhere.js","modules/each.js","modules/map.js","modules/_createReduce.js","modules/reduce.js","modules/reduceRight.js","modules/filter.js","modules/reject.js","modules/every.js","modules/some.js","modules/contains.js","modules/invoke.js","modules/pluck.js","modules/where.js","modules/max.js","modules/min.js","modules/toArray.js","modules/sample.js","modules/shuffle.js","modules/sortBy.js","modules/_group.js","modules/groupBy.js","modules/indexBy.js","modules/countBy.js","modules/partition.js","modules/size.js","modules/_keyInObj.js","modules/pick.js","modules/omit.js","modules/initial.js","modules/first.js","modules/rest.js","modules/last.js","modules/compact.js","modules/flatten.js","modules/difference.js","modules/without.js","modules/uniq.js","modules/union.js","modules/intersection.js","modules/unzip.js","modules/zip.js","modules/object.js","modules/range.js","modules/chunk.js","modules/_chainResult.js","modules/mixin.js","modules/underscore-array-methods.js","modules/index.js","modules/index-default.js","modules/index-all.js"],"sourcesContent":null,"names":["isFunction","has","isFinite","isNaN","isDataView","isArguments","_","isTypedArray","toPath","_has","flatten","_flatten"],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-min.js new file mode 100644 index 00000000..66bbe50c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-min.js @@ -0,0 +1,6 @@ +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var n="1.13.4",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},$n=zn(Ln),Cn=zn(_n(Ln)),Kn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Jn=/(.)^/,Gn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Hn=/\\|'|\r|\n|\u2028|\u2029/g;function Qn(n){return"\\"+Gn[n]}var Xn=/^\s*(\w|\$)+\s*$/;var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=Pn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Rn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=Pn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=Pn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Bn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=Nn(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Dn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=Pn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}var Ir=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Tr(n){return n?U(n)?i.call(n):S(n)?n.match(Ir):tr(n)?jr(n,Tn):jn(n):[]}function kr(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Un(n.length-1)];var e=Tr(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Rn(e,r[1])),r=an(n)):(e=qr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=Pn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=Wn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=Wn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:dr,lastIndexOf:gr,find:br,detect:br,findWhere:function(n,r){return br(n,kn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(Pn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,kn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t","\"","'","`","_escape","_unescape","templateSettings","evaluate","interpolate","escape","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","bareIdentifier","idCounter","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","position","bind","TypeError","callArgs","isArrayLike","flatten","input","depth","strict","output","idx","j","len","bindAll","Error","delay","wait","setTimeout","defer","negate","predicate","before","times","memo","once","findKey","createPredicateIndexFinder","dir","array","findIndex","findLastIndex","sortedIndex","low","high","mid","createIndexFinder","predicateFind","item","indexOf","lastIndexOf","find","each","results","currentKey","createReduce","reducer","initial","reduce","reduceRight","filter","list","every","some","fromIndex","guard","invoke","contextPath","method","pluck","computed","lastComputed","v","reStrSymbol","toArray","sample","n","last","rand","temp","group","behavior","partition","groupBy","indexBy","countBy","pass","keyInObj","pick","omit","first","difference","without","otherArrays","uniq","isSorted","seen","union","arrays","unzip","zip","chainResult","instance","_chain","chain","mixin","nodeType","parseFloat","pairs","props","interceptor","_has","accum","text","settings","oldSettings","offset","render","argument","variable","e","template","data","fallback","prefix","id","hasher","memoize","cache","address","options","timeout","previous","later","leading","throttled","_now","remaining","clearTimeout","trailing","cancel","immediate","passed","debounced","_args","wrapper","start","criteria","left","right","Boolean","_flatten","argsLength","stop","step","ceil","range","count"],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs new file mode 100644 index 00000000..4d6f3713 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs @@ -0,0 +1,2158 @@ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +Object.defineProperty(exports, '__esModule', { value: true }); + +// Current version. +var VERSION = '1.13.4'; + +// Establish the root object, `window` (`self`) in the browser, `global` +// on the server, or `this` in some virtual machines. We use `self` +// instead of `window` for `WebWorker` support. +var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + +// Save bytes in the minified (but not gzipped) version: +var ArrayProto = Array.prototype, ObjProto = Object.prototype; +var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + +// Create quick reference variables for speed access to core prototypes. +var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + +// Modern feature detection. +var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + +// All **ECMAScript 5+** native function implementations that we hope to use +// are declared here. +var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + +// Create references to these builtin functions because we override them. +var _isNaN = isNaN, + _isFinite = isFinite; + +// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. +var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); +var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + +// The largest integer that can be represented exactly. +var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + +// Some functions take a variable number of arguments, or a few expected +// arguments at the beginning and then a variable number of values to operate +// on. This helper accumulates all remaining arguments past the function’s +// argument length (or an explicit `startIndex`), into an array that becomes +// the last argument. Similar to ES6’s "rest parameter". +function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; +} + +// Is a given variable an object? +function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); +} + +// Is a given value equal to null? +function isNull(obj) { + return obj === null; +} + +// Is a given variable undefined? +function isUndefined(obj) { + return obj === void 0; +} + +// Is a given value a boolean? +function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; +} + +// Is a given value a DOM element? +function isElement(obj) { + return !!(obj && obj.nodeType === 1); +} + +// Internal function for creating a `toString`-based type tester. +function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; +} + +var isString = tagTester('String'); + +var isNumber = tagTester('Number'); + +var isDate = tagTester('Date'); + +var isRegExp = tagTester('RegExp'); + +var isError = tagTester('Error'); + +var isSymbol = tagTester('Symbol'); + +var isArrayBuffer = tagTester('ArrayBuffer'); + +var isFunction = tagTester('Function'); + +// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old +// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). +var nodelist = root.document && root.document.childNodes; +if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; +} + +var isFunction$1 = isFunction; + +var hasObjectTag = tagTester('Object'); + +// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. +// In IE 11, the most common among them, this problem also applies to +// `Map`, `WeakMap` and `Set`. +var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + +var isDataView = tagTester('DataView'); + +// In IE 10 - Edge 13, we need a different heuristic +// to determine whether an object is a `DataView`. +function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); +} + +var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + +// Is a given value an array? +// Delegates to ECMA5's native `Array.isArray`. +var isArray = nativeIsArray || tagTester('Array'); + +// Internal function to check whether `key` is an own property name of `obj`. +function has$1(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); +} + +var isArguments = tagTester('Arguments'); + +// Define a fallback version of the method in browsers (ahem, IE < 9), where +// there isn't any inspectable "Arguments" type. +(function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has$1(obj, 'callee'); + }; + } +}()); + +var isArguments$1 = isArguments; + +// Is a given object a finite number? +function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); +} + +// Is the given value `NaN`? +function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); +} + +// Predicate-generating function. Often useful outside of Underscore. +function constant(value) { + return function() { + return value; + }; +} + +// Common internal logic for `isArrayLike` and `isBufferLike`. +function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } +} + +// Internal helper to generate a function to obtain property `key` from `obj`. +function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; +} + +// Internal helper to obtain the `byteLength` property of an object. +var getByteLength = shallowProperty('byteLength'); + +// Internal helper to determine whether we should spend extensive checks against +// `ArrayBuffer` et al. +var isBufferLike = createSizePropertyCheck(getByteLength); + +// Is a given value a typed array? +var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; +function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); +} + +var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + +// Internal helper to obtain the `length` property of an object. +var getLength = shallowProperty('length'); + +// Internal helper to create a simple lookup structure. +// `collectNonEnumProps` used to depend on `_.contains`, but this led to +// circular imports. `emulatedSet` is a one-off solution that only works for +// arrays of strings. +function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; +} + +// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't +// be iterated by `for key in ...` and thus missed. Extends `keys` in place if +// needed. +function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } +} + +// Retrieve the names of an object's own properties. +// Delegates to **ECMAScript 5**'s native `Object.keys`. +function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has$1(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} + +// Is a given array, string, or object empty? +// An "empty" object has no enumerable own-properties. +function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; +} + +// Returns whether an object has a given set of `key:value` pairs. +function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; +} + +// If Underscore is called as a function, it returns a wrapped object that can +// be used OO-style. This wrapper holds altered versions of all functions added +// through `_.mixin`. Wrapped objects may be chained. +function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); + this._wrapped = obj; +} + +_$1.VERSION = VERSION; + +// Extracts the result from a wrapped and chained object. +_$1.prototype.value = function() { + return this._wrapped; +}; + +// Provide unwrapping proxies for some methods used in engine operations +// such as arithmetic and JSON stringification. +_$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; + +_$1.prototype.toString = function() { + return String(this._wrapped); +}; + +// Internal function to wrap or shallow-copy an ArrayBuffer, +// typed array or DataView to a new view, reusing the buffer. +function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); +} + +// We use this string twice, so give it a name for minification. +var tagDataView = '[object DataView]'; + +// Internal recursive comparison function for `_.isEqual`. +function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); +} + +// Internal recursive comparison function for `_.isEqual`. +function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; +} + +// Perform a deep comparison to check if two objects are equal. +function isEqual(a, b) { + return eq(a, b); +} + +// Retrieve all the enumerable property names of an object. +function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; +} + +// Since the regular `Object.prototype.toString` type tests don't work for +// some types in IE 11, we use a fingerprinting heuristic instead, based +// on the methods. It's not great, but it's the best we got. +// The fingerprint method lists are defined below. +function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; +} + +// In the interest of compact minification, we write +// each string in the fingerprints only once. +var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + +// `Map`, `WeakMap` and `Set` each have slightly different +// combinations of the above sublists. +var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + +var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + +var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + +var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + +var isWeakSet = tagTester('WeakSet'); + +// Retrieve the values of an object's properties. +function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; +} + +// Convert an object into a list of `[key, value]` pairs. +// The opposite of `_.object` with one argument. +function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; +} + +// Invert the keys and values of an object. The values must be serializable. +function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; +} + +// Return a sorted list of the function names available on the object. +function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); +} + +// An internal function for creating assigner functions. +function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; +} + +// Extend a given object with all the properties in passed-in object(s). +var extend = createAssigner(allKeys); + +// Assigns a given object with all the own properties in the passed-in +// object(s). +// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) +var extendOwn = createAssigner(keys); + +// Fill in a given object with default properties. +var defaults = createAssigner(allKeys, true); + +// Create a naked function reference for surrogate-prototype-swapping. +function ctor() { + return function(){}; +} + +// An internal function for creating a new object that inherits from another. +function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; +} + +// Creates an object that inherits from the given prototype object. +// If additional properties are provided then they will be added to the +// created object. +function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; +} + +// Create a (shallow-cloned) duplicate of an object. +function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); +} + +// Invokes `interceptor` with the `obj` and then returns `obj`. +// The primary purpose of this method is to "tap into" a method chain, in +// order to perform operations on intermediate results within the chain. +function tap(obj, interceptor) { + interceptor(obj); + return obj; +} + +// Normalize a (deep) property `path` to array. +// Like `_.iteratee`, this function can be customized. +function toPath$1(path) { + return isArray(path) ? path : [path]; +} +_$1.toPath = toPath$1; + +// Internal wrapper for `_.toPath` to enable minification. +// Similar to `cb` for `_.iteratee`. +function toPath(path) { + return _$1.toPath(path); +} + +// Internal function to obtain a nested property in `obj` along `path`. +function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; +} + +// Get the value of the (deep) property on `path` from `object`. +// If any property in `path` does not exist or if the value is +// `undefined`, return `defaultValue` instead. +// The `path` is normalized through `_.toPath`. +function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; +} + +// Shortcut function for checking if an object has a given property directly on +// itself (in other words, not on a prototype). Unlike the internal `has` +// function, this public version can also traverse nested properties. +function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has$1(obj, key)) return false; + obj = obj[key]; + } + return !!length; +} + +// Keep the identity function around for default iteratees. +function identity(value) { + return value; +} + +// Returns a predicate for checking whether an object has a given set of +// `key:value` pairs. +function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; +} + +// Creates a function that, when passed an object, will traverse that object’s +// properties down the given `path`, specified as an array of keys or indices. +function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; +} + +// Internal function that returns an efficient (for current engines) version +// of the passed-in callback, to be repeatedly applied in other Underscore +// functions. +function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; +} + +// An internal function to generate callbacks that can be applied to each +// element in a collection, returning the desired result — either `_.identity`, +// an arbitrary callback, a property matcher, or a property accessor. +function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); +} + +// External wrapper for our callback generator. Users may customize +// `_.iteratee` if they want additional predicate/iteratee shorthand styles. +// This abstraction hides the internal-only `argCount` argument. +function iteratee(value, context) { + return baseIteratee(value, context, Infinity); +} +_$1.iteratee = iteratee; + +// The function we call internally to generate a callback. It invokes +// `_.iteratee` if overridden, otherwise `baseIteratee`. +function cb(value, context, argCount) { + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); + return baseIteratee(value, context, argCount); +} + +// Returns the results of applying the `iteratee` to each element of `obj`. +// In contrast to `_.map` it returns an object. +function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +// Predicate-generating function. Often useful outside of Underscore. +function noop(){} + +// Generates a function for a given object that returns a given property. +function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; +} + +// Run a function **n** times. +function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; +} + +// Return a random integer between `min` and `max` (inclusive). +function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); +} + +// A (possibly faster) way to get the current timestamp as an integer. +var now = Date.now || function() { + return new Date().getTime(); +}; + +// Internal helper to generate functions for escaping and unescaping strings +// to/from HTML interpolation. +function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +} + +// Internal list of HTML entities for escaping. +var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' +}; + +// Function for escaping strings to HTML interpolation. +var _escape = createEscaper(escapeMap); + +// Internal list of HTML entities for unescaping. +var unescapeMap = invert(escapeMap); + +// Function for unescaping strings from HTML interpolation. +var _unescape = createEscaper(unescapeMap); + +// By default, Underscore uses ERB-style template delimiters. Change the +// following template settings to use alternative delimiters. +var templateSettings = _$1.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g +}; + +// When customizing `_.templateSettings`, if you don't want to define an +// interpolation, evaluation or escaping regex, we need one that is +// guaranteed not to match. +var noMatch = /(.)^/; + +// Certain characters need to be escaped so that they can be put into a +// string literal. +var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + +function escapeChar(match) { + return '\\' + escapes[match]; +} + +// In order to prevent third-party code injection through +// `_.templateSettings.variable`, we test it against the following regular +// expression. It is intentionally a bit more liberal than just matching valid +// identifiers, but still prevents possible loopholes through defaults or +// destructuring assignment. +var bareIdentifier = /^\s*(\w|\$)+\s*$/; + +// JavaScript micro-templating, similar to John Resig's implementation. +// Underscore templating handles arbitrary delimiters, preserves whitespace, +// and correctly escapes quotes within interpolated code. +// NB: `oldSettings` only exists for backwards compatibility. +function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _$1.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _$1); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; +} + +// Traverses the children of `obj` along `path`. If a child is a function, it +// is invoked with its parent as context. Returns the value of the final +// child, or `fallback` if any child is undefined. +function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; +} + +// Generate a unique integer id (unique within the entire client session). +// Useful for temporary DOM ids. +var idCounter = 0; +function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; +} + +// Start chaining a wrapped Underscore object. +function chain(obj) { + var instance = _$1(obj); + instance._chain = true; + return instance; +} + +// Internal function to execute `sourceFunc` bound to `context` with optional +// `args`. Determines whether to execute a function as a constructor or as a +// normal function. +function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; +} + +// Partially apply a function by creating a version that has had some of its +// arguments pre-filled, without changing its dynamic `this` context. `_` acts +// as a placeholder by default, allowing any combination of arguments to be +// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. +var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; +}); + +partial.placeholder = _$1; + +// Create a function bound to a given object (assigning `this`, and arguments, +// optionally). +var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; +}); + +// Internal helper for collection methods to determine whether a collection +// should be iterated as an array or as an object. +// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength +// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 +var isArrayLike = createSizePropertyCheck(getLength); + +// Internal implementation of a recursive `flatten` function. +function flatten$1(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten$1(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; +} + +// Bind a number of an object's methods to that object. Remaining arguments +// are the method names to be bound. Useful for ensuring that all callbacks +// defined on an object belong to it. +var bindAll = restArguments(function(obj, keys) { + keys = flatten$1(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; +}); + +// Memoize an expensive function by storing its results. +function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; +} + +// Delays a function for the given number of milliseconds, and then calls +// it with the arguments supplied. +var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); +}); + +// Defers a function, scheduling it to run after the current call stack has +// cleared. +var defer = partial(delay, _$1, 1); + +// Returns a function, that, when invoked, will only be triggered at most once +// during a given window of time. Normally, the throttled function will run +// as much as it can, without ever going more than once per `wait` duration; +// but if you'd like to disable the execution on the leading edge, pass +// `{leading: false}`. To disable execution on the trailing edge, ditto. +function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; +} + +// When a sequence of calls of the returned function ends, the argument +// function is triggered. The end of a sequence is defined by the `wait` +// parameter. If `immediate` is passed, the argument function will be +// triggered at the beginning of the sequence instead of at the end. +function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; +} + +// Returns the first function passed as an argument to the second, +// allowing you to adjust arguments, run code before and after, and +// conditionally execute the original function. +function wrap(func, wrapper) { + return partial(wrapper, func); +} + +// Returns a negated version of the passed-in predicate. +function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; +} + +// Returns a function that is the composition of a list of functions, each +// consuming the return value of the function that follows. +function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; +} + +// Returns a function that will only be executed on and after the Nth call. +function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; +} + +// Returns a function that will only be executed up to (but not including) the +// Nth call. +function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; +} + +// Returns a function that will be executed at most one time, no matter how +// often you call it. Useful for lazy initialization. +var once = partial(before, 2); + +// Returns the first key on an object that passes a truth test. +function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } +} + +// Internal function to generate `_.findIndex` and `_.findLastIndex`. +function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; +} + +// Returns the first index on an array-like that passes a truth test. +var findIndex = createPredicateIndexFinder(1); + +// Returns the last index on an array-like that passes a truth test. +var findLastIndex = createPredicateIndexFinder(-1); + +// Use a comparator function to figure out the smallest index at which +// an object should be inserted so as to maintain order. Uses binary search. +function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; +} + +// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. +function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; +} + +// Return the position of the first occurrence of an item in an array, +// or -1 if the item is not included in the array. +// If the array is large and already in sort order, pass `true` +// for **isSorted** to use binary search. +var indexOf = createIndexFinder(1, findIndex, sortedIndex); + +// Return the position of the last occurrence of an item in an array, +// or -1 if the item is not included in the array. +var lastIndexOf = createIndexFinder(-1, findLastIndex); + +// Return the first value which passes a truth test. +function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; +} + +// Convenience version of a common use case of `_.find`: getting the first +// object containing specific `key:value` pairs. +function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); +} + +// The cornerstone for collection functions, an `each` +// implementation, aka `forEach`. +// Handles raw objects in addition to array-likes. Treats all +// sparse array-likes as if they were dense. +function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; +} + +// Return the results of applying the iteratee to each element. +function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; +} + +// Internal helper to create a reducing function, iterating left or right. +function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; +} + +// **Reduce** builds up a single result from a list of values, aka `inject`, +// or `foldl`. +var reduce = createReduce(1); + +// The right-associative version of reduce, also known as `foldr`. +var reduceRight = createReduce(-1); + +// Return all the elements that pass a truth test. +function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; +} + +// Return all the elements for which a truth test fails. +function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); +} + +// Determine whether all of the elements pass a truth test. +function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; +} + +// Determine if at least one element in the object passes a truth test. +function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; +} + +// Determine if the array or object contains a given item (using `===`). +function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; +} + +// Invoke a method (with arguments) on every item in a collection. +var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); +}); + +// Convenience version of a common use case of `_.map`: fetching a property. +function pluck(obj, key) { + return map(obj, property(key)); +} + +// Convenience version of a common use case of `_.filter`: selecting only +// objects containing specific `key:value` pairs. +function where(obj, attrs) { + return filter(obj, matcher(attrs)); +} + +// Return the maximum element (or element-based computation). +function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +// Return the minimum element (or element-based computation). +function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; +} + +// Safely create a real, live array from anything iterable. +var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; +function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); +} + +// Sample **n** random values from a collection using the modern version of the +// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). +// If **n** is not specified, returns a single random element. +// The internal `guard` argument allows it to work with `_.map`. +function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); +} + +// Shuffle a collection. +function shuffle(obj) { + return sample(obj, Infinity); +} + +// Sort the object's values by a criterion produced by an iteratee. +function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); +} + +// An internal function used for aggregate "group by" operations. +function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; +} + +// Groups the object's values by a criterion. Pass either a string attribute +// to group by, or a function that returns the criterion. +var groupBy = group(function(result, value, key) { + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; +}); + +// Indexes the object's values by a criterion, similar to `_.groupBy`, but for +// when you know that your index values will be unique. +var indexBy = group(function(result, value, key) { + result[key] = value; +}); + +// Counts instances of an object that group by a certain criterion. Pass +// either a string attribute to count by, or a function that returns the +// criterion. +var countBy = group(function(result, value, key) { + if (has$1(result, key)) result[key]++; else result[key] = 1; +}); + +// Split a collection into two arrays: one whose elements all pass the given +// truth test, and one whose elements all do not pass the truth test. +var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); +}, true); + +// Return the number of elements in a collection. +function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; +} + +// Internal `_.pick` helper function to determine whether `key` is an enumerable +// property name of `obj`. +function keyInObj(value, key, obj) { + return key in obj; +} + +// Return a copy of the object only containing the allowed properties. +var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten$1(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; +}); + +// Return a copy of the object without the disallowed properties. +var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten$1(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); +}); + +// Returns everything but the last entry of the array. Especially useful on +// the arguments object. Passing **n** will return all the values in +// the array, excluding the last N. +function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); +} + +// Get the first element of an array. Passing **n** will return the first N +// values in the array. The **guard** check allows it to work with `_.map`. +function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); +} + +// Returns everything but the first entry of the `array`. Especially useful on +// the `arguments` object. Passing an **n** will return the rest N values in the +// `array`. +function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); +} + +// Get the last element of an array. Passing **n** will return the last N +// values in the array. +function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); +} + +// Trim out all falsy values from an array. +function compact(array) { + return filter(array, Boolean); +} + +// Flatten out an array, either recursively (by default), or up to `depth`. +// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. +function flatten(array, depth) { + return flatten$1(array, depth, false); +} + +// Take the difference between one array and a number of other arrays. +// Only the elements present in just the first array will remain. +var difference = restArguments(function(array, rest) { + rest = flatten$1(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); +}); + +// Return a version of the array that does not contain the specified value(s). +var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); +}); + +// Produce a duplicate-free version of the array. If the array has already +// been sorted, you have the option of using a faster algorithm. +// The faster algorithm will not work with an iteratee if the iteratee +// is not a one-to-one function, so providing an iteratee will disable +// the faster algorithm. +function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; +} + +// Produce an array that contains the union: each distinct element from all of +// the passed-in arrays. +var union = restArguments(function(arrays) { + return uniq(flatten$1(arrays, true, true)); +}); + +// Produce an array that contains every item shared between all the +// passed-in arrays. +function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; +} + +// Complement of zip. Unzip accepts an array of arrays and groups +// each array's elements on shared indices. +function unzip(array) { + var length = (array && max(array, getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; +} + +// Zip together multiple lists into a single array -- elements that share +// an index go together. +var zip = restArguments(unzip); + +// Converts lists into objects. Pass either a single array of `[key, value]` +// pairs, or two parallel arrays of the same length -- one of keys, and one of +// the corresponding values. Passing by pairs is the reverse of `_.pairs`. +function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; +} + +// Generate an integer Array containing an arithmetic progression. A port of +// the native Python `range()` function. See +// [the Python documentation](https://docs.python.org/library/functions.html#range). +function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; +} + +// Chunk a single array into multiple arrays, each containing `count` or fewer +// items. +function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; +} + +// Helper function to continue chaining intermediate results. +function chainResult(instance, obj) { + return instance._chain ? _$1(obj).chain() : obj; +} + +// Add your own custom functions to the Underscore object. +function mixin(obj) { + each(functions(obj), function(name) { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_$1, args)); + }; + }); + return _$1; +} + +// Add all mutator `Array` functions to the wrapper. +each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; +}); + +// Add all accessor `Array` functions to the wrapper. +each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; +}); + +// Named Exports + +var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath$1, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _$1 +}; + +// Default Export + +// Add all of the Underscore functions to the wrapper object. +var _ = mixin(allExports); +// Legacy Node.js API. +_._ = _; + +exports.VERSION = VERSION; +exports._ = _; +exports._escape = _escape; +exports._unescape = _unescape; +exports.after = after; +exports.allKeys = allKeys; +exports.before = before; +exports.bind = bind; +exports.bindAll = bindAll; +exports.chain = chain; +exports.chunk = chunk; +exports.clone = clone; +exports.compact = compact; +exports.compose = compose; +exports.constant = constant; +exports.contains = contains; +exports.countBy = countBy; +exports.create = create; +exports.debounce = debounce; +exports.defaults = defaults; +exports.defer = defer; +exports.delay = delay; +exports.difference = difference; +exports.each = each; +exports.every = every; +exports.extend = extend; +exports.extendOwn = extendOwn; +exports.filter = filter; +exports.find = find; +exports.findIndex = findIndex; +exports.findKey = findKey; +exports.findLastIndex = findLastIndex; +exports.findWhere = findWhere; +exports.first = first; +exports.flatten = flatten; +exports.functions = functions; +exports.get = get; +exports.groupBy = groupBy; +exports.has = has; +exports.identity = identity; +exports.indexBy = indexBy; +exports.indexOf = indexOf; +exports.initial = initial; +exports.intersection = intersection; +exports.invert = invert; +exports.invoke = invoke; +exports.isArguments = isArguments$1; +exports.isArray = isArray; +exports.isArrayBuffer = isArrayBuffer; +exports.isBoolean = isBoolean; +exports.isDataView = isDataView$1; +exports.isDate = isDate; +exports.isElement = isElement; +exports.isEmpty = isEmpty; +exports.isEqual = isEqual; +exports.isError = isError; +exports.isFinite = isFinite$1; +exports.isFunction = isFunction$1; +exports.isMap = isMap; +exports.isMatch = isMatch; +exports.isNaN = isNaN$1; +exports.isNull = isNull; +exports.isNumber = isNumber; +exports.isObject = isObject; +exports.isRegExp = isRegExp; +exports.isSet = isSet; +exports.isString = isString; +exports.isSymbol = isSymbol; +exports.isTypedArray = isTypedArray$1; +exports.isUndefined = isUndefined; +exports.isWeakMap = isWeakMap; +exports.isWeakSet = isWeakSet; +exports.iteratee = iteratee; +exports.keys = keys; +exports.last = last; +exports.lastIndexOf = lastIndexOf; +exports.map = map; +exports.mapObject = mapObject; +exports.matcher = matcher; +exports.max = max; +exports.memoize = memoize; +exports.min = min; +exports.mixin = mixin; +exports.negate = negate; +exports.noop = noop; +exports.now = now; +exports.object = object; +exports.omit = omit; +exports.once = once; +exports.pairs = pairs; +exports.partial = partial; +exports.partition = partition; +exports.pick = pick; +exports.pluck = pluck; +exports.property = property; +exports.propertyOf = propertyOf; +exports.random = random; +exports.range = range; +exports.reduce = reduce; +exports.reduceRight = reduceRight; +exports.reject = reject; +exports.rest = rest; +exports.restArguments = restArguments; +exports.result = result; +exports.sample = sample; +exports.shuffle = shuffle; +exports.size = size; +exports.some = some; +exports.sortBy = sortBy; +exports.sortedIndex = sortedIndex; +exports.tap = tap; +exports.template = template; +exports.templateSettings = templateSettings; +exports.throttle = throttle; +exports.times = times; +exports.toArray = toArray; +exports.toPath = toPath$1; +exports.union = union; +exports.uniq = uniq; +exports.uniqueId = uniqueId; +exports.unzip = unzip; +exports.values = values; +exports.where = where; +exports.without = without; +exports.wrap = wrap; +exports.zip = zip; +//# sourceMappingURL=underscore-node-f.cjs.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs.map b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs.map new file mode 100644 index 00000000..a3ca460f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node-f.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-node-f.cjs","sources":["underscore-node-f-pre.js"],"sourcesContent":null,"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs new file mode 100644 index 00000000..879a1dc3 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs @@ -0,0 +1,11 @@ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +var underscoreNodeF = require('./underscore-node-f.cjs'); + + + +module.exports = underscoreNodeF._; +//# sourceMappingURL=underscore-node.cjs.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs.map b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs.map new file mode 100644 index 00000000..34b7b298 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-node.cjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs new file mode 100644 index 00000000..64be97db --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs @@ -0,0 +1,7 @@ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +export { VERSION, after, every as all, allKeys, some as any, extendOwn as assign, before, bind, bindAll, chain, chunk, clone, map as collect, compact, compose, constant, contains, countBy, create, debounce, _ as default, defaults, defer, delay, find as detect, difference, rest as drop, each, _escape as escape, every, extend, extendOwn, filter, find, findIndex, findKey, findLastIndex, findWhere, first, flatten, reduce as foldl, reduceRight as foldr, each as forEach, functions, get, groupBy, has, first as head, identity, contains as include, contains as includes, indexBy, indexOf, initial, reduce as inject, intersection, invert, invoke, isArguments, isArray, isArrayBuffer, isBoolean, isDataView, isDate, isElement, isEmpty, isEqual, isError, isFinite, isFunction, isMap, isMatch, isNaN, isNull, isNumber, isObject, isRegExp, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, iteratee, keys, last, lastIndexOf, map, mapObject, matcher, matcher as matches, max, memoize, functions as methods, min, mixin, negate, noop, now, object, omit, once, pairs, partial, partition, pick, pluck, property, propertyOf, random, range, reduce, reduceRight, reject, rest, restArguments, result, sample, filter as select, shuffle, size, some, sortBy, sortedIndex, rest as tail, first as take, tap, template, templateSettings, throttle, times, toArray, toPath, unzip as transpose, _unescape as unescape, union, uniq, uniq as unique, uniqueId, unzip, values, where, without, wrap, zip } from './underscore-node-f.cjs'; +//# sourceMappingURL=underscore-node.mjs.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs.map b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs.map new file mode 100644 index 00000000..5d1025b9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-node.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-node.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd-min.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd-min.js new file mode 100644 index 00000000..66bbe50c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd-min.js @@ -0,0 +1,6 @@ +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.4 +// https://underscorejs.org +// (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var n="1.13.4",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},$n=zn(Ln),Cn=zn(_n(Ln)),Kn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Jn=/(.)^/,Gn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Hn=/\\|'|\r|\n|\u2028|\u2029/g;function Qn(n){return"\\"+Gn[n]}var Xn=/^\s*(\w|\$)+\s*$/;var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=Pn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Rn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=Pn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=Pn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Bn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=Nn(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Dn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=Pn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}var Ir=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Tr(n){return n?U(n)?i.call(n):S(n)?n.match(Ir):tr(n)?jr(n,Tn):jn(n):[]}function kr(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Un(n.length-1)];var e=Tr(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Rn(e,r[1])),r=an(n)):(e=qr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=Pn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=Wn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=Wn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:dr,lastIndexOf:gr,find:br,detect:br,findWhere:function(n,r){return br(n,kn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(Pn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,kn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t","\"","'","`","_escape","_unescape","templateSettings","evaluate","interpolate","escape","noMatch","escapes","\\","\r","\n","
","
","escapeRegExp","escapeChar","bareIdentifier","idCounter","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","position","bind","TypeError","callArgs","isArrayLike","flatten","input","depth","strict","output","idx","j","len","bindAll","Error","delay","wait","setTimeout","defer","negate","predicate","before","times","memo","once","findKey","createPredicateIndexFinder","dir","array","findIndex","findLastIndex","sortedIndex","low","high","mid","createIndexFinder","predicateFind","item","indexOf","lastIndexOf","find","each","results","currentKey","createReduce","reducer","initial","reduce","reduceRight","filter","list","every","some","fromIndex","guard","invoke","contextPath","method","pluck","computed","lastComputed","v","reStrSymbol","toArray","sample","n","last","rand","temp","group","behavior","partition","groupBy","indexBy","countBy","pass","keyInObj","pick","omit","first","difference","without","otherArrays","uniq","isSorted","seen","union","arrays","unzip","zip","chainResult","instance","_chain","chain","mixin","nodeType","parseFloat","pairs","props","interceptor","_has","accum","text","settings","oldSettings","offset","render","argument","variable","e","template","data","fallback","prefix","id","hasher","memoize","cache","address","options","timeout","previous","later","leading","throttled","_now","remaining","clearTimeout","trailing","cancel","immediate","passed","debounced","_args","wrapper","start","criteria","left","right","Boolean","_flatten","argsLength","stop","step","ceil","range","count"],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js new file mode 100644 index 00000000..825f7106 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js @@ -0,0 +1,2042 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define('underscore', factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () { + var current = global._; + var exports = global._ = factory(); + exports.noConflict = function () { global._ = current; return exports; }; + }())); +}(this, (function () { + // Underscore.js 1.13.4 + // https://underscorejs.org + // (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors + // Underscore may be freely distributed under the MIT license. + + // Current version. + var VERSION = '1.13.4'; + + // Establish the root object, `window` (`self`) in the browser, `global` + // on the server, or `this` in some virtual machines. We use `self` + // instead of `window` for `WebWorker` support. + var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // Modern feature detection. + var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + + // All **ECMAScript 5+** native function implementations that we hope to use + // are declared here. + var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + + // Create references to these builtin functions because we override them. + var _isNaN = isNaN, + _isFinite = isFinite; + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + // The largest integer that can be represented exactly. + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + + // Some functions take a variable number of arguments, or a few expected + // arguments at the beginning and then a variable number of values to operate + // on. This helper accumulates all remaining arguments past the function’s + // argument length (or an explicit `startIndex`), into an array that becomes + // the last argument. Similar to ES6’s "rest parameter". + function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; + } + + // Is a given variable an object? + function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); + } + + // Is a given value equal to null? + function isNull(obj) { + return obj === null; + } + + // Is a given variable undefined? + function isUndefined(obj) { + return obj === void 0; + } + + // Is a given value a boolean? + function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + } + + // Is a given value a DOM element? + function isElement(obj) { + return !!(obj && obj.nodeType === 1); + } + + // Internal function for creating a `toString`-based type tester. + function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; + } + + var isString = tagTester('String'); + + var isNumber = tagTester('Number'); + + var isDate = tagTester('Date'); + + var isRegExp = tagTester('RegExp'); + + var isError = tagTester('Error'); + + var isSymbol = tagTester('Symbol'); + + var isArrayBuffer = tagTester('ArrayBuffer'); + + var isFunction = tagTester('Function'); + + // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old + // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). + var nodelist = root.document && root.document.childNodes; + if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + var isFunction$1 = isFunction; + + var hasObjectTag = tagTester('Object'); + + // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. + // In IE 11, the most common among them, this problem also applies to + // `Map`, `WeakMap` and `Set`. + var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + + var isDataView = tagTester('DataView'); + + // In IE 10 - Edge 13, we need a different heuristic + // to determine whether an object is a `DataView`. + function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); + } + + var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + + // Is a given value an array? + // Delegates to ECMA5's native `Array.isArray`. + var isArray = nativeIsArray || tagTester('Array'); + + // Internal function to check whether `key` is an own property name of `obj`. + function has$1(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + } + + var isArguments = tagTester('Arguments'); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has$1(obj, 'callee'); + }; + } + }()); + + var isArguments$1 = isArguments; + + // Is a given object a finite number? + function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); + } + + // Is the given value `NaN`? + function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); + } + + // Predicate-generating function. Often useful outside of Underscore. + function constant(value) { + return function() { + return value; + }; + } + + // Common internal logic for `isArrayLike` and `isBufferLike`. + function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } + } + + // Internal helper to generate a function to obtain property `key` from `obj`. + function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + } + + // Internal helper to obtain the `byteLength` property of an object. + var getByteLength = shallowProperty('byteLength'); + + // Internal helper to determine whether we should spend extensive checks against + // `ArrayBuffer` et al. + var isBufferLike = createSizePropertyCheck(getByteLength); + + // Is a given value a typed array? + var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); + } + + var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + + // Internal helper to obtain the `length` property of an object. + var getLength = shallowProperty('length'); + + // Internal helper to create a simple lookup structure. + // `collectNonEnumProps` used to depend on `_.contains`, but this led to + // circular imports. `emulatedSet` is a one-off solution that only works for + // arrays of strings. + function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; + } + + // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't + // be iterated by `for key in ...` and thus missed. Extends `keys` in place if + // needed. + function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys`. + function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has$1(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; + } + + // Returns whether an object has a given set of `key:value` pairs. + function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + } + + // If Underscore is called as a function, it returns a wrapped object that can + // be used OO-style. This wrapper holds altered versions of all functions added + // through `_.mixin`. Wrapped objects may be chained. + function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); + this._wrapped = obj; + } + + _$1.VERSION = VERSION; + + // Extracts the result from a wrapped and chained object. + _$1.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxies for some methods used in engine operations + // such as arithmetic and JSON stringification. + _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; + + _$1.prototype.toString = function() { + return String(this._wrapped); + }; + + // Internal function to wrap or shallow-copy an ArrayBuffer, + // typed array or DataView to a new view, reusing the buffer. + function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); + } + + // We use this string twice, so give it a name for minification. + var tagDataView = '[object DataView]'; + + // Internal recursive comparison function for `_.isEqual`. + function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); + } + + // Internal recursive comparison function for `_.isEqual`. + function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + } + + // Perform a deep comparison to check if two objects are equal. + function isEqual(a, b) { + return eq(a, b); + } + + // Retrieve all the enumerable property names of an object. + function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Since the regular `Object.prototype.toString` type tests don't work for + // some types in IE 11, we use a fingerprinting heuristic instead, based + // on the methods. It's not great, but it's the best we got. + // The fingerprint method lists are defined below. + function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; + } + + // In the interest of compact minification, we write + // each string in the fingerprints only once. + var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + + // `Map`, `WeakMap` and `Set` each have slightly different + // combinations of the above sublists. + var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + + var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + + var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + + var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + + var isWeakSet = tagTester('WeakSet'); + + // Retrieve the values of an object's properties. + function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; + } + + // Convert an object into a list of `[key, value]` pairs. + // The opposite of `_.object` with one argument. + function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; + } + + // Invert the keys and values of an object. The values must be serializable. + function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; + } + + // Return a sorted list of the function names available on the object. + function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); + } + + // An internal function for creating assigner functions. + function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + } + + // Extend a given object with all the properties in passed-in object(s). + var extend = createAssigner(allKeys); + + // Assigns a given object with all the own properties in the passed-in + // object(s). + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + var extendOwn = createAssigner(keys); + + // Fill in a given object with default properties. + var defaults = createAssigner(allKeys, true); + + // Create a naked function reference for surrogate-prototype-swapping. + function ctor() { + return function(){}; + } + + // An internal function for creating a new object that inherits from another. + function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + } + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; + } + + // Create a (shallow-cloned) duplicate of an object. + function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); + } + + // Invokes `interceptor` with the `obj` and then returns `obj`. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + function tap(obj, interceptor) { + interceptor(obj); + return obj; + } + + // Normalize a (deep) property `path` to array. + // Like `_.iteratee`, this function can be customized. + function toPath$1(path) { + return isArray(path) ? path : [path]; + } + _$1.toPath = toPath$1; + + // Internal wrapper for `_.toPath` to enable minification. + // Similar to `cb` for `_.iteratee`. + function toPath(path) { + return _$1.toPath(path); + } + + // Internal function to obtain a nested property in `obj` along `path`. + function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; + } + + // Get the value of the (deep) property on `path` from `object`. + // If any property in `path` does not exist or if the value is + // `undefined`, return `defaultValue` instead. + // The `path` is normalized through `_.toPath`. + function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; + } + + // Shortcut function for checking if an object has a given property directly on + // itself (in other words, not on a prototype). Unlike the internal `has` + // function, this public version can also traverse nested properties. + function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has$1(obj, key)) return false; + obj = obj[key]; + } + return !!length; + } + + // Keep the identity function around for default iteratees. + function identity(value) { + return value; + } + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; + } + + // Creates a function that, when passed an object, will traverse that object’s + // properties down the given `path`, specified as an array of keys or indices. + function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; + } + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + } + + // An internal function to generate callbacks that can be applied to each + // element in a collection, returning the desired result — either `_.identity`, + // an arbitrary callback, a property matcher, or a property accessor. + function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); + } + + // External wrapper for our callback generator. Users may customize + // `_.iteratee` if they want additional predicate/iteratee shorthand styles. + // This abstraction hides the internal-only `argCount` argument. + function iteratee(value, context) { + return baseIteratee(value, context, Infinity); + } + _$1.iteratee = iteratee; + + // The function we call internally to generate a callback. It invokes + // `_.iteratee` if overridden, otherwise `baseIteratee`. + function cb(value, context, argCount) { + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); + return baseIteratee(value, context, argCount); + } + + // Returns the results of applying the `iteratee` to each element of `obj`. + // In contrast to `_.map` it returns an object. + function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Predicate-generating function. Often useful outside of Underscore. + function noop(){} + + // Generates a function for a given object that returns a given property. + function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; + } + + // Run a function **n** times. + function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + } + + // Return a random integer between `min` and `max` (inclusive). + function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + } + + // A (possibly faster) way to get the current timestamp as an integer. + var now = Date.now || function() { + return new Date().getTime(); + }; + + // Internal helper to generate functions for escaping and unescaping strings + // to/from HTML interpolation. + function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + } + + // Internal list of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + + // Function for escaping strings to HTML interpolation. + var _escape = createEscaper(escapeMap); + + // Internal list of HTML entities for unescaping. + var unescapeMap = invert(escapeMap); + + // Function for unescaping strings from HTML interpolation. + var _unescape = createEscaper(unescapeMap); + + // By default, Underscore uses ERB-style template delimiters. Change the + // following template settings to use alternative delimiters. + var templateSettings = _$1.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + + // When customizing `_.templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + + function escapeChar(match) { + return '\\' + escapes[match]; + } + + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _$1.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _$1); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + } + + // Traverses the children of `obj` along `path`. If a child is a function, it + // is invoked with its parent as context. Returns the value of the final + // child, or `fallback` if any child is undefined. + function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; + } + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + } + + // Start chaining a wrapped Underscore object. + function chain(obj) { + var instance = _$1(obj); + instance._chain = true; + return instance; + } + + // Internal function to execute `sourceFunc` bound to `context` with optional + // `args`. Determines whether to execute a function as a constructor or as a + // normal function. + function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; + } + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. `_` acts + // as a placeholder by default, allowing any combination of arguments to be + // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. + var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }); + + partial.placeholder = _$1; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). + var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + + // Internal helper for collection methods to determine whether a collection + // should be iterated as an array or as an object. + // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var isArrayLike = createSizePropertyCheck(getLength); + + // Internal implementation of a recursive `flatten` function. + function flatten$1(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten$1(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + } + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + var bindAll = restArguments(function(obj, keys) { + keys = flatten$1(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; + }); + + // Memoize an expensive function by storing its results. + function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + } + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + var defer = partial(delay, _$1, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; + } + + // When a sequence of calls of the returned function ends, the argument + // function is triggered. The end of a sequence is defined by the `wait` + // parameter. If `immediate` is passed, the argument function will be + // triggered at the beginning of the sequence instead of at the end. + function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; + } + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + function wrap(func, wrapper) { + return partial(wrapper, func); + } + + // Returns a negated version of the passed-in predicate. + function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + } + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + } + + // Returns a function that will only be executed on and after the Nth call. + function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + } + + // Returns a function that will only be executed up to (but not including) the + // Nth call. + function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + } + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + var once = partial(before, 2); + + // Returns the first key on an object that passes a truth test. + function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + } + + // Internal function to generate `_.findIndex` and `_.findLastIndex`. + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a truth test. + var findIndex = createPredicateIndexFinder(1); + + // Returns the last index on an array-like that passes a truth test. + var findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + } + + // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + var indexOf = createIndexFinder(1, findIndex, sortedIndex); + + // Return the position of the last occurrence of an item in an array, + // or -1 if the item is not included in the array. + var lastIndexOf = createIndexFinder(-1, findLastIndex); + + // Return the first value which passes a truth test. + function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; + } + + // Convenience version of a common use case of `_.find`: getting the first + // object containing specific `key:value` pairs. + function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); + } + + // The cornerstone for collection functions, an `each` + // implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; + } + + // Return the results of applying the iteratee to each element. + function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Internal helper to create a reducing function, iterating left or right. + function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + var reduce = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + var reduceRight = createReduce(-1); + + // Return all the elements that pass a truth test. + function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + } + + // Return all the elements for which a truth test fails. + function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); + } + + // Determine whether all of the elements pass a truth test. + function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + } + + // Determine if at least one element in the object passes a truth test. + function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + } + + // Determine if the array or object contains a given item (using `===`). + function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; + } + + // Invoke a method (with arguments) on every item in a collection. + var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + + // Convenience version of a common use case of `_.map`: fetching a property. + function pluck(obj, key) { + return map(obj, property(key)); + } + + // Convenience version of a common use case of `_.filter`: selecting only + // objects containing specific `key:value` pairs. + function where(obj, attrs) { + return filter(obj, matcher(attrs)); + } + + // Return the maximum element (or element-based computation). + function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Return the minimum element (or element-based computation). + function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Safely create a real, live array from anything iterable. + var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); + } + + // Sample **n** random values from a collection using the modern version of the + // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `_.map`. + function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); + } + + // Shuffle a collection. + function shuffle(obj) { + return sample(obj, Infinity); + } + + // Sort the object's values by a criterion produced by an iteratee. + function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + } + + // An internal function used for aggregate "group by" operations. + function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + } + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + var groupBy = group(function(result, value, key) { + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `_.groupBy`, but for + // when you know that your index values will be unique. + var indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + var countBy = group(function(result, value, key) { + if (has$1(result, key)) result[key]++; else result[key] = 1; + }); + + // Split a collection into two arrays: one whose elements all pass the given + // truth test, and one whose elements all do not pass the truth test. + var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); + }, true); + + // Return the number of elements in a collection. + function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; + } + + // Internal `_.pick` helper function to determine whether `key` is an enumerable + // property name of `obj`. + function keyInObj(value, key, obj) { + return key in obj; + } + + // Return a copy of the object only containing the allowed properties. + var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten$1(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }); + + // Return a copy of the object without the disallowed properties. + var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten$1(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); + }); + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + } + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. The **guard** check allows it to work with `_.map`. + function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); + } + + // Returns everything but the first entry of the `array`. Especially useful on + // the `arguments` object. Passing an **n** will return the rest N values in the + // `array`. + function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + } + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); + } + + // Trim out all falsy values from an array. + function compact(array) { + return filter(array, Boolean); + } + + // Flatten out an array, either recursively (by default), or up to `depth`. + // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. + function flatten(array, depth) { + return flatten$1(array, depth, false); + } + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + var difference = restArguments(function(array, rest) { + rest = flatten$1(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); + }); + + // Return a version of the array that does not contain the specified value(s). + var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); + }); + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // The faster algorithm will not work with an iteratee if the iteratee + // is not a one-to-one function, so providing an iteratee will disable + // the faster algorithm. + function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; + } + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + var union = restArguments(function(arrays) { + return uniq(flatten$1(arrays, true, true)); + }); + + // Produce an array that contains every item shared between all the + // passed-in arrays. + function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + } + + // Complement of zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices. + function unzip(array) { + var length = (array && max(array, getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; + } + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + var zip = restArguments(unzip); + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. Passing by pairs is the reverse of `_.pairs`. + function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + } + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](https://docs.python.org/library/functions.html#range). + function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + } + + // Chunk a single array into multiple arrays, each containing `count` or fewer + // items. + function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; + } + + // Helper function to continue chaining intermediate results. + function chainResult(instance, obj) { + return instance._chain ? _$1(obj).chain() : obj; + } + + // Add your own custom functions to the Underscore object. + function mixin(obj) { + each(functions(obj), function(name) { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_$1, args)); + }; + }); + return _$1; + } + + // Add all mutator `Array` functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; + }); + + // Add all accessor `Array` functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; + }); + + // Named Exports + + var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath$1, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _$1 + }; + + // Default Export + + // Add all of the Underscore functions to the wrapper object. + var _ = mixin(allExports); + // Legacy Node.js API. + _._ = _; + + return _; + +}))); +//# sourceMappingURL=underscore-umd.js.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js.map b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js.map new file mode 100644 index 00000000..d7252923 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore-umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-umd.js","sources":["modules/_setup.js","modules/restArguments.js","modules/isObject.js","modules/isNull.js","modules/isUndefined.js","modules/isBoolean.js","modules/isElement.js","modules/_tagTester.js","modules/isString.js","modules/isNumber.js","modules/isDate.js","modules/isRegExp.js","modules/isError.js","modules/isSymbol.js","modules/isArrayBuffer.js","modules/isFunction.js","modules/_hasObjectTag.js","modules/_stringTagBug.js","modules/isDataView.js","modules/isArray.js","modules/_has.js","modules/isArguments.js","modules/isFinite.js","modules/isNaN.js","modules/constant.js","modules/_createSizePropertyCheck.js","modules/_shallowProperty.js","modules/_getByteLength.js","modules/_isBufferLike.js","modules/isTypedArray.js","modules/_getLength.js","modules/_collectNonEnumProps.js","modules/keys.js","modules/isEmpty.js","modules/isMatch.js","modules/underscore.js","modules/_toBufferView.js","modules/isEqual.js","modules/allKeys.js","modules/_methodFingerprint.js","modules/isMap.js","modules/isWeakMap.js","modules/isSet.js","modules/isWeakSet.js","modules/values.js","modules/pairs.js","modules/invert.js","modules/functions.js","modules/_createAssigner.js","modules/extend.js","modules/extendOwn.js","modules/defaults.js","modules/_baseCreate.js","modules/create.js","modules/clone.js","modules/tap.js","modules/toPath.js","modules/_toPath.js","modules/_deepGet.js","modules/get.js","modules/has.js","modules/identity.js","modules/matcher.js","modules/property.js","modules/_optimizeCb.js","modules/_baseIteratee.js","modules/iteratee.js","modules/_cb.js","modules/mapObject.js","modules/noop.js","modules/propertyOf.js","modules/times.js","modules/random.js","modules/now.js","modules/_createEscaper.js","modules/_escapeMap.js","modules/escape.js","modules/_unescapeMap.js","modules/unescape.js","modules/templateSettings.js","modules/template.js","modules/result.js","modules/uniqueId.js","modules/chain.js","modules/_executeBound.js","modules/partial.js","modules/bind.js","modules/_isArrayLike.js","modules/_flatten.js","modules/bindAll.js","modules/memoize.js","modules/delay.js","modules/defer.js","modules/throttle.js","modules/debounce.js","modules/wrap.js","modules/negate.js","modules/compose.js","modules/after.js","modules/before.js","modules/once.js","modules/findKey.js","modules/_createPredicateIndexFinder.js","modules/findIndex.js","modules/findLastIndex.js","modules/sortedIndex.js","modules/_createIndexFinder.js","modules/indexOf.js","modules/lastIndexOf.js","modules/find.js","modules/findWhere.js","modules/each.js","modules/map.js","modules/_createReduce.js","modules/reduce.js","modules/reduceRight.js","modules/filter.js","modules/reject.js","modules/every.js","modules/some.js","modules/contains.js","modules/invoke.js","modules/pluck.js","modules/where.js","modules/max.js","modules/min.js","modules/toArray.js","modules/sample.js","modules/shuffle.js","modules/sortBy.js","modules/_group.js","modules/groupBy.js","modules/indexBy.js","modules/countBy.js","modules/partition.js","modules/size.js","modules/_keyInObj.js","modules/pick.js","modules/omit.js","modules/initial.js","modules/first.js","modules/rest.js","modules/last.js","modules/compact.js","modules/flatten.js","modules/difference.js","modules/without.js","modules/uniq.js","modules/union.js","modules/intersection.js","modules/unzip.js","modules/zip.js","modules/object.js","modules/range.js","modules/chunk.js","modules/_chainResult.js","modules/mixin.js","modules/underscore-array-methods.js","modules/index.js","modules/index-default.js"],"sourcesContent":null,"names":["isFunction","has","isFinite","isNaN","isDataView","isArguments","_","isTypedArray","toPath","_has","flatten","_flatten"],"mappings":"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"} \ No newline at end of file diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore.js b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore.js new file mode 100644 index 00000000..825f7106 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/underscore/underscore.js @@ -0,0 +1,2042 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define('underscore', factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () { + var current = global._; + var exports = global._ = factory(); + exports.noConflict = function () { global._ = current; return exports; }; + }())); +}(this, (function () { + // Underscore.js 1.13.4 + // https://underscorejs.org + // (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors + // Underscore may be freely distributed under the MIT license. + + // Current version. + var VERSION = '1.13.4'; + + // Establish the root object, `window` (`self`) in the browser, `global` + // on the server, or `this` in some virtual machines. We use `self` + // instead of `window` for `WebWorker` support. + var root = (typeof self == 'object' && self.self === self && self) || + (typeof global == 'object' && global.global === global && global) || + Function('return this')() || + {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // Modern feature detection. + var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + + // All **ECMAScript 5+** native function implementations that we hope to use + // are declared here. + var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + + // Create references to these builtin functions because we override them. + var _isNaN = isNaN, + _isFinite = isFinite; + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + // The largest integer that can be represented exactly. + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + + // Some functions take a variable number of arguments, or a few expected + // arguments at the beginning and then a variable number of values to operate + // on. This helper accumulates all remaining arguments past the function’s + // argument length (or an explicit `startIndex`), into an array that becomes + // the last argument. Similar to ES6’s "rest parameter". + function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; + } + + // Is a given variable an object? + function isObject(obj) { + var type = typeof obj; + return type === 'function' || (type === 'object' && !!obj); + } + + // Is a given value equal to null? + function isNull(obj) { + return obj === null; + } + + // Is a given variable undefined? + function isUndefined(obj) { + return obj === void 0; + } + + // Is a given value a boolean? + function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + } + + // Is a given value a DOM element? + function isElement(obj) { + return !!(obj && obj.nodeType === 1); + } + + // Internal function for creating a `toString`-based type tester. + function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; + } + + var isString = tagTester('String'); + + var isNumber = tagTester('Number'); + + var isDate = tagTester('Date'); + + var isRegExp = tagTester('RegExp'); + + var isError = tagTester('Error'); + + var isSymbol = tagTester('Symbol'); + + var isArrayBuffer = tagTester('ArrayBuffer'); + + var isFunction = tagTester('Function'); + + // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old + // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). + var nodelist = root.document && root.document.childNodes; + if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + var isFunction$1 = isFunction; + + var hasObjectTag = tagTester('Object'); + + // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. + // In IE 11, the most common among them, this problem also applies to + // `Map`, `WeakMap` and `Set`. + var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + + var isDataView = tagTester('DataView'); + + // In IE 10 - Edge 13, we need a different heuristic + // to determine whether an object is a `DataView`. + function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); + } + + var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + + // Is a given value an array? + // Delegates to ECMA5's native `Array.isArray`. + var isArray = nativeIsArray || tagTester('Array'); + + // Internal function to check whether `key` is an own property name of `obj`. + function has$1(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + } + + var isArguments = tagTester('Arguments'); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has$1(obj, 'callee'); + }; + } + }()); + + var isArguments$1 = isArguments; + + // Is a given object a finite number? + function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); + } + + // Is the given value `NaN`? + function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); + } + + // Predicate-generating function. Often useful outside of Underscore. + function constant(value) { + return function() { + return value; + }; + } + + // Common internal logic for `isArrayLike` and `isBufferLike`. + function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } + } + + // Internal helper to generate a function to obtain property `key` from `obj`. + function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + } + + // Internal helper to obtain the `byteLength` property of an object. + var getByteLength = shallowProperty('byteLength'); + + // Internal helper to determine whether we should spend extensive checks against + // `ArrayBuffer` et al. + var isBufferLike = createSizePropertyCheck(getByteLength); + + // Is a given value a typed array? + var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); + } + + var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + + // Internal helper to obtain the `length` property of an object. + var getLength = shallowProperty('length'); + + // Internal helper to create a simple lookup structure. + // `collectNonEnumProps` used to depend on `_.contains`, but this led to + // circular imports. `emulatedSet` is a one-off solution that only works for + // arrays of strings. + function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key] === true; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; + } + + // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't + // be iterated by `for key in ...` and thus missed. Extends `keys` in place if + // needed. + function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys`. + function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has$1(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; + } + + // Returns whether an object has a given set of `key:value` pairs. + function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + } + + // If Underscore is called as a function, it returns a wrapped object that can + // be used OO-style. This wrapper holds altered versions of all functions added + // through `_.mixin`. Wrapped objects may be chained. + function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); + this._wrapped = obj; + } + + _$1.VERSION = VERSION; + + // Extracts the result from a wrapped and chained object. + _$1.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxies for some methods used in engine operations + // such as arithmetic and JSON stringification. + _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; + + _$1.prototype.toString = function() { + return String(this._wrapped); + }; + + // Internal function to wrap or shallow-copy an ArrayBuffer, + // typed array or DataView to a new view, reusing the buffer. + function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); + } + + // We use this string twice, so give it a name for minification. + var tagDataView = '[object DataView]'; + + // Internal recursive comparison function for `_.isEqual`. + function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); + } + + // Internal recursive comparison function for `_.isEqual`. + function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + } + + // Perform a deep comparison to check if two objects are equal. + function isEqual(a, b) { + return eq(a, b); + } + + // Retrieve all the enumerable property names of an object. + function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Since the regular `Object.prototype.toString` type tests don't work for + // some types in IE 11, we use a fingerprinting heuristic instead, based + // on the methods. It's not great, but it's the best we got. + // The fingerprint method lists are defined below. + function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; + } + + // In the interest of compact minification, we write + // each string in the fingerprints only once. + var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + + // `Map`, `WeakMap` and `Set` each have slightly different + // combinations of the above sublists. + var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + + var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + + var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + + var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + + var isWeakSet = tagTester('WeakSet'); + + // Retrieve the values of an object's properties. + function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; + } + + // Convert an object into a list of `[key, value]` pairs. + // The opposite of `_.object` with one argument. + function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; + } + + // Invert the keys and values of an object. The values must be serializable. + function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; + } + + // Return a sorted list of the function names available on the object. + function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); + } + + // An internal function for creating assigner functions. + function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + } + + // Extend a given object with all the properties in passed-in object(s). + var extend = createAssigner(allKeys); + + // Assigns a given object with all the own properties in the passed-in + // object(s). + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + var extendOwn = createAssigner(keys); + + // Fill in a given object with default properties. + var defaults = createAssigner(allKeys, true); + + // Create a naked function reference for surrogate-prototype-swapping. + function ctor() { + return function(){}; + } + + // An internal function for creating a new object that inherits from another. + function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + } + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; + } + + // Create a (shallow-cloned) duplicate of an object. + function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); + } + + // Invokes `interceptor` with the `obj` and then returns `obj`. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + function tap(obj, interceptor) { + interceptor(obj); + return obj; + } + + // Normalize a (deep) property `path` to array. + // Like `_.iteratee`, this function can be customized. + function toPath$1(path) { + return isArray(path) ? path : [path]; + } + _$1.toPath = toPath$1; + + // Internal wrapper for `_.toPath` to enable minification. + // Similar to `cb` for `_.iteratee`. + function toPath(path) { + return _$1.toPath(path); + } + + // Internal function to obtain a nested property in `obj` along `path`. + function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; + } + + // Get the value of the (deep) property on `path` from `object`. + // If any property in `path` does not exist or if the value is + // `undefined`, return `defaultValue` instead. + // The `path` is normalized through `_.toPath`. + function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; + } + + // Shortcut function for checking if an object has a given property directly on + // itself (in other words, not on a prototype). Unlike the internal `has` + // function, this public version can also traverse nested properties. + function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has$1(obj, key)) return false; + obj = obj[key]; + } + return !!length; + } + + // Keep the identity function around for default iteratees. + function identity(value) { + return value; + } + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; + } + + // Creates a function that, when passed an object, will traverse that object’s + // properties down the given `path`, specified as an array of keys or indices. + function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; + } + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + } + + // An internal function to generate callbacks that can be applied to each + // element in a collection, returning the desired result — either `_.identity`, + // an arbitrary callback, a property matcher, or a property accessor. + function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); + } + + // External wrapper for our callback generator. Users may customize + // `_.iteratee` if they want additional predicate/iteratee shorthand styles. + // This abstraction hides the internal-only `argCount` argument. + function iteratee(value, context) { + return baseIteratee(value, context, Infinity); + } + _$1.iteratee = iteratee; + + // The function we call internally to generate a callback. It invokes + // `_.iteratee` if overridden, otherwise `baseIteratee`. + function cb(value, context, argCount) { + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); + return baseIteratee(value, context, argCount); + } + + // Returns the results of applying the `iteratee` to each element of `obj`. + // In contrast to `_.map` it returns an object. + function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Predicate-generating function. Often useful outside of Underscore. + function noop(){} + + // Generates a function for a given object that returns a given property. + function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; + } + + // Run a function **n** times. + function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + } + + // Return a random integer between `min` and `max` (inclusive). + function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + } + + // A (possibly faster) way to get the current timestamp as an integer. + var now = Date.now || function() { + return new Date().getTime(); + }; + + // Internal helper to generate functions for escaping and unescaping strings + // to/from HTML interpolation. + function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + } + + // Internal list of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + + // Function for escaping strings to HTML interpolation. + var _escape = createEscaper(escapeMap); + + // Internal list of HTML entities for unescaping. + var unescapeMap = invert(escapeMap); + + // Function for unescaping strings from HTML interpolation. + var _unescape = createEscaper(unescapeMap); + + // By default, Underscore uses ERB-style template delimiters. Change the + // following template settings to use alternative delimiters. + var templateSettings = _$1.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + + // When customizing `_.templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + + function escapeChar(match) { + return '\\' + escapes[match]; + } + + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _$1.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _$1); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + } + + // Traverses the children of `obj` along `path`. If a child is a function, it + // is invoked with its parent as context. Returns the value of the final + // child, or `fallback` if any child is undefined. + function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; + } + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + } + + // Start chaining a wrapped Underscore object. + function chain(obj) { + var instance = _$1(obj); + instance._chain = true; + return instance; + } + + // Internal function to execute `sourceFunc` bound to `context` with optional + // `args`. Determines whether to execute a function as a constructor or as a + // normal function. + function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; + } + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. `_` acts + // as a placeholder by default, allowing any combination of arguments to be + // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. + var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }); + + partial.placeholder = _$1; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). + var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + + // Internal helper for collection methods to determine whether a collection + // should be iterated as an array or as an object. + // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var isArrayLike = createSizePropertyCheck(getLength); + + // Internal implementation of a recursive `flatten` function. + function flatten$1(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten$1(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + } + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + var bindAll = restArguments(function(obj, keys) { + keys = flatten$1(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; + }); + + // Memoize an expensive function by storing its results. + function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + } + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + var defer = partial(delay, _$1, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; + } + + // When a sequence of calls of the returned function ends, the argument + // function is triggered. The end of a sequence is defined by the `wait` + // parameter. If `immediate` is passed, the argument function will be + // triggered at the beginning of the sequence instead of at the end. + function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; + } + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + function wrap(func, wrapper) { + return partial(wrapper, func); + } + + // Returns a negated version of the passed-in predicate. + function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + } + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + } + + // Returns a function that will only be executed on and after the Nth call. + function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + } + + // Returns a function that will only be executed up to (but not including) the + // Nth call. + function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + } + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + var once = partial(before, 2); + + // Returns the first key on an object that passes a truth test. + function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + } + + // Internal function to generate `_.findIndex` and `_.findLastIndex`. + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a truth test. + var findIndex = createPredicateIndexFinder(1); + + // Returns the last index on an array-like that passes a truth test. + var findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + } + + // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + var indexOf = createIndexFinder(1, findIndex, sortedIndex); + + // Return the position of the last occurrence of an item in an array, + // or -1 if the item is not included in the array. + var lastIndexOf = createIndexFinder(-1, findLastIndex); + + // Return the first value which passes a truth test. + function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; + } + + // Convenience version of a common use case of `_.find`: getting the first + // object containing specific `key:value` pairs. + function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); + } + + // The cornerstone for collection functions, an `each` + // implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; + } + + // Return the results of applying the iteratee to each element. + function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Internal helper to create a reducing function, iterating left or right. + function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + var reduce = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + var reduceRight = createReduce(-1); + + // Return all the elements that pass a truth test. + function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + } + + // Return all the elements for which a truth test fails. + function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); + } + + // Determine whether all of the elements pass a truth test. + function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + } + + // Determine if at least one element in the object passes a truth test. + function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + } + + // Determine if the array or object contains a given item (using `===`). + function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; + } + + // Invoke a method (with arguments) on every item in a collection. + var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + + // Convenience version of a common use case of `_.map`: fetching a property. + function pluck(obj, key) { + return map(obj, property(key)); + } + + // Convenience version of a common use case of `_.filter`: selecting only + // objects containing specific `key:value` pairs. + function where(obj, attrs) { + return filter(obj, matcher(attrs)); + } + + // Return the maximum element (or element-based computation). + function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Return the minimum element (or element-based computation). + function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || (computed === Infinity && result === Infinity)) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Safely create a real, live array from anything iterable. + var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); + } + + // Sample **n** random values from a collection using the modern version of the + // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `_.map`. + function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = toArray(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); + } + + // Shuffle a collection. + function shuffle(obj) { + return sample(obj, Infinity); + } + + // Sort the object's values by a criterion produced by an iteratee. + function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + } + + // An internal function used for aggregate "group by" operations. + function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + } + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + var groupBy = group(function(result, value, key) { + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `_.groupBy`, but for + // when you know that your index values will be unique. + var indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + var countBy = group(function(result, value, key) { + if (has$1(result, key)) result[key]++; else result[key] = 1; + }); + + // Split a collection into two arrays: one whose elements all pass the given + // truth test, and one whose elements all do not pass the truth test. + var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); + }, true); + + // Return the number of elements in a collection. + function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; + } + + // Internal `_.pick` helper function to determine whether `key` is an enumerable + // property name of `obj`. + function keyInObj(value, key, obj) { + return key in obj; + } + + // Return a copy of the object only containing the allowed properties. + var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten$1(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }); + + // Return a copy of the object without the disallowed properties. + var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten$1(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); + }); + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + } + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. The **guard** check allows it to work with `_.map`. + function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); + } + + // Returns everything but the first entry of the `array`. Especially useful on + // the `arguments` object. Passing an **n** will return the rest N values in the + // `array`. + function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + } + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); + } + + // Trim out all falsy values from an array. + function compact(array) { + return filter(array, Boolean); + } + + // Flatten out an array, either recursively (by default), or up to `depth`. + // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. + function flatten(array, depth) { + return flatten$1(array, depth, false); + } + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + var difference = restArguments(function(array, rest) { + rest = flatten$1(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); + }); + + // Return a version of the array that does not contain the specified value(s). + var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); + }); + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // The faster algorithm will not work with an iteratee if the iteratee + // is not a one-to-one function, so providing an iteratee will disable + // the faster algorithm. + function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; + } + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + var union = restArguments(function(arrays) { + return uniq(flatten$1(arrays, true, true)); + }); + + // Produce an array that contains every item shared between all the + // passed-in arrays. + function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + } + + // Complement of zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices. + function unzip(array) { + var length = (array && max(array, getLength).length) || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; + } + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + var zip = restArguments(unzip); + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. Passing by pairs is the reverse of `_.pairs`. + function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + } + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](https://docs.python.org/library/functions.html#range). + function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + } + + // Chunk a single array into multiple arrays, each containing `count` or fewer + // items. + function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; + } + + // Helper function to continue chaining intermediate results. + function chainResult(instance, obj) { + return instance._chain ? _$1(obj).chain() : obj; + } + + // Add your own custom functions to the Underscore object. + function mixin(obj) { + each(functions(obj), function(name) { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_$1, args)); + }; + }); + return _$1; + } + + // Add all mutator `Array` functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; + }); + + // Add all accessor `Array` functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; + }); + + // Named Exports + + var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath$1, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _$1 + }; + + // Default Export + + // Add all of the Underscore functions to the wrapper object. + var _ = mixin(allExports); + // Legacy Node.js API. + _._ = _; + + return _; + +}))); +//# sourceMappingURL=underscore-umd.js.map diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/LICENSE new file mode 100644 index 00000000..19129e31 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/README.md new file mode 100644 index 00000000..98eab252 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/README.md @@ -0,0 +1,36 @@ +# wrappy + +Callback wrapping utility + +## USAGE + +```javascript +var wrappy = require("wrappy") + +// var wrapper = wrappy(wrapperFunction) + +// make sure a cb is called only once +// See also: http://npm.im/once for this specific use case +var once = wrappy(function (cb) { + var called = false + return function () { + if (called) return + called = true + return cb.apply(this, arguments) + } +}) + +function printBoo () { + console.log('boo') +} +// has some rando property +printBoo.iAmBooPrinter = true + +var onlyPrintOnce = once(printBoo) + +onlyPrintOnce() // prints 'boo' +onlyPrintOnce() // does nothing + +// random property is retained! +assert.equal(onlyPrintOnce.iAmBooPrinter, true) +``` diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/package.json new file mode 100644 index 00000000..13075204 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/package.json @@ -0,0 +1,29 @@ +{ + "name": "wrappy", + "version": "1.0.2", + "description": "Callback wrapping utility", + "main": "wrappy.js", + "files": [ + "wrappy.js" + ], + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "tap": "^2.3.1" + }, + "scripts": { + "test": "tap --coverage test/*.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/npm/wrappy" + }, + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/wrappy/issues" + }, + "homepage": "https://github.com/npm/wrappy" +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/wrappy.js b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/wrappy.js new file mode 100644 index 00000000..bb7e7d6f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/wrappy/wrappy.js @@ -0,0 +1,33 @@ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/CHANGES.md b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/CHANGES.md new file mode 100644 index 00000000..402032c8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/CHANGES.md @@ -0,0 +1,53 @@ +## 2.0.4 ## + +* Update dependencies +* Bug fixes + +## 2.0.3 ## + +* Bug fixes + +## 2.0.2 ## + +* Update dependencies +* Use ESLint instead of TSLint +* Use npm instead of gulp + +## 2.0.1 ## + +* Bug fixes + +## 2.0.0 ## + +* API rewrite and simplification +* Add option to use self-closing tags if an element is empty +* Stop indenting multi-line strings +* Add option to automatically fix strings that are not valid XML in certain + cases +* More detailed error messages +* Other bug fixes + +## 1.0.2 ## + +* Bug fixes + +## 1.0.1 ## + +* Documentation fixes + +## 1.0.0 ## + +* Add null and undefined in type declarations +* Replace `XmlText` with `XmlCharData` and `XmlAttributeText` to reflect + differences in what characters are acceptable in attribute values versus + character data + +## 0.1.1 ## + +* Re-write in TypeScript +* Remove expensive dependencies (especially babel-runtime) +* Bug fixes and documentation fixes + +## 0.1.0 ## + +* Initial release diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/LICENSE b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/LICENSE new file mode 100644 index 00000000..29f81d81 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/NOTICE b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/NOTICE new file mode 100644 index 00000000..6eb66f1c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/NOTICE @@ -0,0 +1,2 @@ +xmlcreate +Copyright (C) 2016-2021 Michael Kourlas diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/README.md b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/README.md new file mode 100644 index 00000000..79d5d5f9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/README.md @@ -0,0 +1,141 @@ +# xmlcreate # + +[![Node.js CI](https://github.com/michaelkourlas/node-xmlcreate/actions/workflows/node.js.yml/badge.svg)](https://github.com/michaelkourlas/node-xmlcreate/actions/workflows/node.js.yml) +[![npm version](https://badge.fury.io/js/xmlcreate.svg)](https://badge.fury.io/js/xmlcreate) + +## Overview ## + +xmlcreate is a Node.js module that can be used to build XML using a simple API. + +## Features ## + +xmlcreate allows you to use a series of chained function calls to build an XML +tree. + +Once the tree is built, it can be serialized to text. The formatting of the +text is customizable. + +xmlcreate can perform some basic validation to check that the resulting XML +is well-formed. + +## Installation ## + +The easiest way to install xmlcreate is using npm: + +``` +npm install xmlcreate +``` + +You can also build xmlcreate from source using npm: + +``` +git clone https://github.com/michaelkourlas/node-xmlcreate.git +npm install +npm run-script build +``` + +The `build` script will build the production variant of xmlcreate, run all +tests, and build the documentation. + +You can build the production variant without running tests using the script +`prod`. You can also build the development version using the script `dev`. +The only difference between the two is that the development version includes +source maps. + +## Usage ## + +The documentation for the current version is available [here](http://www.kourlas.com/node-xmlcreate/docs/2.0.4/). + +You can also build the documentation using npm: + +``` +npm run-script docs +``` + +## Examples ## + +The following TypeScript example illustrates the basic usage of xmlcreate: + +```typescript +import {document} from "xmlcreate"; + +const tree = document(); +tree + .decl({encoding: "UTF-8"}) + .up() + .dtd({ + name: "html", + pubId: "-//W3C//DTD XHTML 1.0 Strict//EN", + sysId: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + }) + .up() + .element({name: "html"}) + .attribute({name: "xmlns"}) + .text({charData: "http://www.w3.org/1999/xhtml"}) + .up() + .up() + .attribute({name: "xml:lang"}) + .text({charData: "en"}) + .up() + .up() + .element({name: "head"}) + .element({name: "title"}) + .charData({charData: "My page title"}) + .up() + .up() + .up() + .element({name: "body"}) + .element({name: "h1"}) + .charData({charData: "Welcome!"}) + .up() + .up() + .element({name: "p"}) + .charData({charData: "This is some text on my website."}) + .up() + .up() + .element({name: "div"}) + .element({name: "img"}) + .attribute({name: "src"}) + .text({charData: "picture.png"}) + .up() + .up() + .attribute({name: "alt"}) + .text({charData: "picture"}).up().up().up().up().up(); + +console.log(tree.toString({doubleQuotes: true})); +``` + +This example produces the following XML: + +```xml + + + + + My page title + + +

    Welcome!

    +

    This is some text on my website.

    + + +``` + +A JavaScript version of this example can be found in the examples directory. + +## Tests ## + +xmlcreate includes a set of tests to verify core functionality. You can run +the tests using npm: + +``` +npm run-script test-prod +``` + +The only difference between the `test-prod` and `test-dev` scripts is that the +development version includes source maps. + +## License ## + +xmlcreate is licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0). +Please see the LICENSE file for more information. diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.d.ts new file mode 100644 index 00000000..b15ede28 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.d.ts @@ -0,0 +1,19 @@ +/** + * Copyright (C) 2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Returns a context string for the specified node, for use in error messages. + */ +export declare function getContext(obj: unknown): string; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.js new file mode 100644 index 00000000..a7506765 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/error.js @@ -0,0 +1,47 @@ +"use strict"; +/** + * Copyright (C) 2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getContext = void 0; +var XmlAttribute_1 = __importDefault(require("./nodes/XmlAttribute")); +var XmlDocument_1 = __importDefault(require("./nodes/XmlDocument")); +var XmlDtd_1 = __importDefault(require("./nodes/XmlDtd")); +var XmlElement_1 = __importDefault(require("./nodes/XmlElement")); +/** + * Returns a context string for the specified node, for use in error messages. + */ +function getContext(obj) { + if (obj instanceof XmlAttribute_1.default) { + return getContext(obj.up()) + (" > attribute \"" + obj.name + "\""); + } + else if (obj instanceof XmlDocument_1.default) { + return "in XML document"; + } + else if (obj instanceof XmlDtd_1.default) { + return getContext(obj.up()) + " > DTD"; + } + else if (obj instanceof XmlElement_1.default) { + return getContext(obj.up()) + (" > element \"" + obj.name + "\""); + } + else { + throw new Error("Unrecognized object of type " + + Object.prototype.toString.call(obj)); + } +} +exports.getContext = getContext; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.d.ts new file mode 100644 index 00000000..9f4dc101 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.d.ts @@ -0,0 +1,37 @@ +/** + * Copyright (C) 2016-2018 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Replaces ampersands (&) with the appropriate XML character reference. + */ +export declare function escapeAmpersands(str: string): string; +/** + * Replaces left angle brackets (<) with the appropriate XML character + * reference. + */ +export declare function escapeLeftAngleBrackets(str: string): string; +/** + * Replaces right angle brackets (>) with the appropriate XML character + * reference when part of the string "]]>". + */ +export declare function escapeRightAngleBracketsInCdataTerminator(str: string): string; +/** + * Replaces single quotes (") with the appropriate XML character reference. + */ +export declare function escapeSingleQuotes(str: string): string; +/** + * Replaces double quotes (") with the appropriate XML character reference. + */ +export declare function escapeDoubleQuotes(str: string): string; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.js new file mode 100644 index 00000000..2335c0a6 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/escape.js @@ -0,0 +1,55 @@ +"use strict"; +/** + * Copyright (C) 2016-2018 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.escapeDoubleQuotes = exports.escapeSingleQuotes = exports.escapeRightAngleBracketsInCdataTerminator = exports.escapeLeftAngleBrackets = exports.escapeAmpersands = void 0; +/** + * Replaces ampersands (&) with the appropriate XML character reference. + */ +function escapeAmpersands(str) { + return str.replace(/&/g, "&"); +} +exports.escapeAmpersands = escapeAmpersands; +/** + * Replaces left angle brackets (<) with the appropriate XML character + * reference. + */ +function escapeLeftAngleBrackets(str) { + return str.replace(/". + */ +function escapeRightAngleBracketsInCdataTerminator(str) { + return str.replace(/]]>/g, "]]>"); +} +exports.escapeRightAngleBracketsInCdataTerminator = escapeRightAngleBracketsInCdataTerminator; +/** + * Replaces single quotes (") with the appropriate XML character reference. + */ +function escapeSingleQuotes(str) { + return str.replace(/'/g, "'"); +} +exports.escapeSingleQuotes = escapeSingleQuotes; +/** + * Replaces double quotes (") with the appropriate XML character reference. + */ +function escapeDoubleQuotes(str) { + return str.replace(/"/g, """); +} +exports.escapeDoubleQuotes = escapeDoubleQuotes; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.d.ts new file mode 100644 index 00000000..83ea5b34 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.d.ts @@ -0,0 +1,38 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import XmlDocument, { IXmlDocumentOptions } from "./nodes/XmlDocument"; +export { default as XmlAttribute, IXmlAttributeOptions } from "./nodes/XmlAttribute"; +export { default as XmlAttributeText, IXmlAttributeTextOptions } from "./nodes/XmlAttributeText"; +export { default as XmlCdata, IXmlCdataOptions } from "./nodes/XmlCdata"; +export { default as XmlCharData, IXmlCharDataOptions } from "./nodes/XmlCharData"; +export { default as XmlCharRef, IXmlCharRefOptions } from "./nodes/XmlCharRef"; +export { default as XmlComment, IXmlCommentOptions } from "./nodes/XmlComment"; +export { default as XmlDecl, IXmlDeclOptions } from "./nodes/XmlDecl"; +export { default as XmlDocument, IXmlDocumentOptions } from "./nodes/XmlDocument"; +export { default as XmlDtd, IXmlDtdOptions } from "./nodes/XmlDtd"; +export { default as XmlDtdAttlist, IXmlDtdAttlistOptions } from "./nodes/XmlDtdAttlist"; +export { default as XmlDtdElement, IXmlDtdElementOptions } from "./nodes/XmlDtdElement"; +export { default as XmlDtdEntity, IXmlDtdEntityOptions } from "./nodes/XmlDtdEntity"; +export { default as XmlDtdNotation, IXmlDtdNotationOptions } from "./nodes/XmlDtdNotation"; +export { default as XmlDtdParamEntityRef, IXmlDtdParamEntityRefOptions } from "./nodes/XmlDtdParamEntityRef"; +export { default as XmlElement, IXmlElementOptions } from "./nodes/XmlElement"; +export { default as XmlEntityRef, IXmlEntityRefOptions } from "./nodes/XmlEntityRef"; +export { default as XmlProcInst, IXmlProcInstOptions } from "./nodes/XmlProcInst"; +export { IStringOptions } from "./options"; +/** + * Returns a new XML document with the specified options. + */ +export declare function document(options?: IXmlDocumentOptions): XmlDocument; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.js new file mode 100644 index 00000000..85e7cbd9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/main.js @@ -0,0 +1,64 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.document = exports.XmlProcInst = exports.XmlEntityRef = exports.XmlElement = exports.XmlDtdParamEntityRef = exports.XmlDtdNotation = exports.XmlDtdEntity = exports.XmlDtdElement = exports.XmlDtdAttlist = exports.XmlDtd = exports.XmlDocument = exports.XmlDecl = exports.XmlComment = exports.XmlCharRef = exports.XmlCharData = exports.XmlCdata = exports.XmlAttributeText = exports.XmlAttribute = void 0; +var XmlDocument_1 = __importDefault(require("./nodes/XmlDocument")); +var XmlAttribute_1 = require("./nodes/XmlAttribute"); +Object.defineProperty(exports, "XmlAttribute", { enumerable: true, get: function () { return __importDefault(XmlAttribute_1).default; } }); +var XmlAttributeText_1 = require("./nodes/XmlAttributeText"); +Object.defineProperty(exports, "XmlAttributeText", { enumerable: true, get: function () { return __importDefault(XmlAttributeText_1).default; } }); +var XmlCdata_1 = require("./nodes/XmlCdata"); +Object.defineProperty(exports, "XmlCdata", { enumerable: true, get: function () { return __importDefault(XmlCdata_1).default; } }); +var XmlCharData_1 = require("./nodes/XmlCharData"); +Object.defineProperty(exports, "XmlCharData", { enumerable: true, get: function () { return __importDefault(XmlCharData_1).default; } }); +var XmlCharRef_1 = require("./nodes/XmlCharRef"); +Object.defineProperty(exports, "XmlCharRef", { enumerable: true, get: function () { return __importDefault(XmlCharRef_1).default; } }); +var XmlComment_1 = require("./nodes/XmlComment"); +Object.defineProperty(exports, "XmlComment", { enumerable: true, get: function () { return __importDefault(XmlComment_1).default; } }); +var XmlDecl_1 = require("./nodes/XmlDecl"); +Object.defineProperty(exports, "XmlDecl", { enumerable: true, get: function () { return __importDefault(XmlDecl_1).default; } }); +var XmlDocument_2 = require("./nodes/XmlDocument"); +Object.defineProperty(exports, "XmlDocument", { enumerable: true, get: function () { return __importDefault(XmlDocument_2).default; } }); +var XmlDtd_1 = require("./nodes/XmlDtd"); +Object.defineProperty(exports, "XmlDtd", { enumerable: true, get: function () { return __importDefault(XmlDtd_1).default; } }); +var XmlDtdAttlist_1 = require("./nodes/XmlDtdAttlist"); +Object.defineProperty(exports, "XmlDtdAttlist", { enumerable: true, get: function () { return __importDefault(XmlDtdAttlist_1).default; } }); +var XmlDtdElement_1 = require("./nodes/XmlDtdElement"); +Object.defineProperty(exports, "XmlDtdElement", { enumerable: true, get: function () { return __importDefault(XmlDtdElement_1).default; } }); +var XmlDtdEntity_1 = require("./nodes/XmlDtdEntity"); +Object.defineProperty(exports, "XmlDtdEntity", { enumerable: true, get: function () { return __importDefault(XmlDtdEntity_1).default; } }); +var XmlDtdNotation_1 = require("./nodes/XmlDtdNotation"); +Object.defineProperty(exports, "XmlDtdNotation", { enumerable: true, get: function () { return __importDefault(XmlDtdNotation_1).default; } }); +var XmlDtdParamEntityRef_1 = require("./nodes/XmlDtdParamEntityRef"); +Object.defineProperty(exports, "XmlDtdParamEntityRef", { enumerable: true, get: function () { return __importDefault(XmlDtdParamEntityRef_1).default; } }); +var XmlElement_1 = require("./nodes/XmlElement"); +Object.defineProperty(exports, "XmlElement", { enumerable: true, get: function () { return __importDefault(XmlElement_1).default; } }); +var XmlEntityRef_1 = require("./nodes/XmlEntityRef"); +Object.defineProperty(exports, "XmlEntityRef", { enumerable: true, get: function () { return __importDefault(XmlEntityRef_1).default; } }); +var XmlProcInst_1 = require("./nodes/XmlProcInst"); +Object.defineProperty(exports, "XmlProcInst", { enumerable: true, get: function () { return __importDefault(XmlProcInst_1).default; } }); +/** + * Returns a new XML document with the specified options. + */ +function document(options) { + if (options === void 0) { options = {}; } + return new XmlDocument_1.default(options); +} +exports.document = document; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.d.ts new file mode 100644 index 00000000..a6e7981e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.d.ts @@ -0,0 +1,88 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IStringOptions } from "../options"; +import XmlAttributeText, { IXmlAttributeTextOptions } from "./XmlAttributeText"; +import XmlCharRef, { IXmlCharRefOptions } from "./XmlCharRef"; +import XmlEntityRef, { IXmlEntityRefOptions } from "./XmlEntityRef"; +/** + * The options used to create a new attribute. + */ +export interface IXmlAttributeOptions { + /** + * The name of the attribute. + */ + name: string; + /** + * Whether to replace any invalid characters in the name of the attribute + * with the Unicode replacement character. By default, this is disabled. + */ + replaceInvalidCharsInName?: boolean; +} +/** + * Represents an attribute. + * + * An attribute is part of the start tag of an element and is + * structured as follows, where `{name}` is the name of the attribute and + * `{value}` is the value of the attribute: + * + * ```xml + * + * ``` + * + * The `{name}` value is a property of this node, while the `{value}` property + * consists of the children of this node. + * + * Attributes can have an unlimited number of attribute text, character + * references, and entity references. + */ +export default class XmlAttribute { + private readonly _children; + private readonly _replaceInvalidCharsInName; + private readonly _parent; + private readonly _validation; + private _name; + constructor(parent: Parent, validation: boolean, options: IXmlAttributeOptions); + /** + * Gets the name of this attribute. + */ + get name(): string; + /** + * Sets the name of this attribute. + */ + set name(name: string); + /** + * Adds a character reference to this attribute and returns the new + * character reference. + */ + charRef(options: IXmlCharRefOptions): XmlCharRef; + /** + * Adds an entity reference to this attribute and returns the new entity + * reference. + */ + entityRef(options: IXmlEntityRefOptions): XmlEntityRef; + /** + * Adds attribute text to this attribute and returns the new text. + */ + text(options: IXmlAttributeTextOptions): XmlAttributeText; + /** + * Returns an XML string representation of this attribute. + */ + toString(options?: IStringOptions): string; + /** + * Returns the parent of this attribute. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.js new file mode 100644 index 00000000..4563b62d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttribute.js @@ -0,0 +1,146 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var escape_1 = require("../escape"); +var options_1 = require("../options"); +var validate_1 = require("../validate"); +var XmlAttributeText_1 = __importDefault(require("./XmlAttributeText")); +var XmlCharRef_1 = __importDefault(require("./XmlCharRef")); +var XmlEntityRef_1 = __importDefault(require("./XmlEntityRef")); +/** + * Represents an attribute. + * + * An attribute is part of the start tag of an element and is + * structured as follows, where `{name}` is the name of the attribute and + * `{value}` is the value of the attribute: + * + * ```xml + * + * ``` + * + * The `{name}` value is a property of this node, while the `{value}` property + * consists of the children of this node. + * + * Attributes can have an unlimited number of attribute text, character + * references, and entity references. + */ +var XmlAttribute = /** @class */ (function () { + function XmlAttribute(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInName)) { + this._replaceInvalidCharsInName = options.replaceInvalidCharsInName; + } + else { + this._replaceInvalidCharsInName = false; + } + this._children = []; + this._parent = parent; + this.name = options.name; + } + Object.defineProperty(XmlAttribute.prototype, "name", { + /** + * Gets the name of this attribute. + */ + get: function () { + return this._name; + }, + /** + * Sets the name of this attribute. + */ + set: function (name) { + if (this._replaceInvalidCharsInName) { + name = (0, validate_1.fixName)(name); + if (name.length === 0) { + throw new Error((0, error_1.getContext)(this.up()) + ": attribute name" + + " should not be empty"); + } + } + else if (this._validation && !(0, validate_1.validateName)(name)) { + if (name.length === 0) { + throw new Error((0, error_1.getContext)(this.up()) + ": attribute name" + + " should not be empty"); + } + else { + throw new Error((0, error_1.getContext)(this.up()) + ": attribute name" + + (" \"" + name + "\" should not contain characters not") + + " allowed in XML names"); + } + } + this._name = name; + }, + enumerable: false, + configurable: true + }); + /** + * Adds a character reference to this attribute and returns the new + * character reference. + */ + XmlAttribute.prototype.charRef = function (options) { + var charRef = new XmlCharRef_1.default(this, this._validation, options); + this._children.push(charRef); + return charRef; + }; + /** + * Adds an entity reference to this attribute and returns the new entity + * reference. + */ + XmlAttribute.prototype.entityRef = function (options) { + var charRef = new XmlEntityRef_1.default(this, this._validation, options); + this._children.push(charRef); + return charRef; + }; + /** + * Adds attribute text to this attribute and returns the new text. + */ + XmlAttribute.prototype.text = function (options) { + var textNode = new XmlAttributeText_1.default(this, this._validation, options); + this._children.push(textNode); + return textNode; + }; + /** + * Returns an XML string representation of this attribute. + */ + XmlAttribute.prototype.toString = function (options) { + if (options === void 0) { options = {}; } + var optionsObj = new options_1.StringOptions(options); + var quote = optionsObj.doubleQuotes ? "\"" : "'"; + var str = this._name + "=" + quote; + for (var _i = 0, _a = this._children; _i < _a.length; _i++) { + var child = _a[_i]; + if (optionsObj.doubleQuotes) { + str += (0, escape_1.escapeDoubleQuotes)(child.toString()); + } + else { + str += (0, escape_1.escapeSingleQuotes)(child.toString()); + } + } + str += quote; + return str; + }; + /** + * Returns the parent of this attribute. + */ + XmlAttribute.prototype.up = function () { + return this._parent; + }; + return XmlAttribute; +}()); +exports.default = XmlAttribute; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.d.ts new file mode 100644 index 00000000..9069f517 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.d.ts @@ -0,0 +1,58 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create attribute text. + */ +export interface IXmlAttributeTextOptions { + /** + * The attribute text. + */ + charData: string; + /** + * Whether to replace any invalid characters in the attribute text with the + * Unicode replacement character. By default, this is disabled. + */ + replaceInvalidCharsInCharData?: boolean; +} +/** + * Represents text in an attribute value. + * + * Restricted characters, such as the ampersand (`&`) and the opening angle + * bracket (`<`), are all automatically escaped. + */ +export default class XmlAttributeText { + private readonly _replaceInvalidCharsInCharData; + private readonly _parent; + private readonly _validation; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlAttributeTextOptions); + /** + * Gets this attribute text. + */ + get charData(): string; + /** + * Sets this attribute text. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this attribute text. + */ + toString(): string; + /** + * Returns the parent of this attribute text. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.js new file mode 100644 index 00000000..db1ae45f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlAttributeText.js @@ -0,0 +1,80 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var escape_1 = require("../escape"); +var validate_1 = require("../validate"); +/** + * Represents text in an attribute value. + * + * Restricted characters, such as the ampersand (`&`) and the opening angle + * bracket (`<`), are all automatically escaped. + */ +var XmlAttributeText = /** @class */ (function () { + function XmlAttributeText(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) { + this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData); + } + else { + this._replaceInvalidCharsInCharData = false; + } + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlAttributeText.prototype, "charData", { + /** + * Gets this attribute text. + */ + get: function () { + return this._charData; + }, + /** + * Sets this attribute text. + */ + set: function (charData) { + if (this._replaceInvalidCharsInCharData) { + charData = (0, validate_1.fixChar)(charData); + } + else if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": attribute text" + + (" \"" + charData + "\" should not contain characters not") + + " allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this attribute text. + */ + XmlAttributeText.prototype.toString = function () { + var str = this._charData; + str = (0, escape_1.escapeAmpersands)(str); + str = (0, escape_1.escapeLeftAngleBrackets)(str); + return str; + }; + /** + * Returns the parent of this attribute text. + */ + XmlAttributeText.prototype.up = function () { + return this._parent; + }; + return XmlAttributeText; +}()); +exports.default = XmlAttributeText; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.d.ts new file mode 100644 index 00000000..5603e707 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.d.ts @@ -0,0 +1,63 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a CDATA section. + */ +export interface IXmlCdataOptions { + /** + * The character data of the CDATA section. + */ + charData: string; + /** + * Whether to replace any invalid characters in the character data of the + * CDATA section with the Unicode replacement character. By default, this + * is disabled. + */ + replaceInvalidCharsInCharData?: boolean; +} +/** + * Represents a CDATA section. + * + * A CDATA section is structured as follows, where `{data}` is the + * character data of the section: + * + * ```xml + * + * ``` + */ +export default class XmlCdata { + private readonly _replaceInvalidCharsInCharData; + private readonly _parent; + private readonly _validation; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlCdataOptions); + /** + * Gets the character data of this CDATA section. + */ + get charData(): string; + /** + * Sets the character data of this CDATA section. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this CDATA section. + */ + toString(): string; + /** + * Returns the parent of this CDATA section. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.js new file mode 100644 index 00000000..f120e457 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCdata.js @@ -0,0 +1,88 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a CDATA section. + * + * A CDATA section is structured as follows, where `{data}` is the + * character data of the section: + * + * ```xml + * + * ``` + */ +var XmlCdata = /** @class */ (function () { + function XmlCdata(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) { + this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData); + } + else { + this._replaceInvalidCharsInCharData = false; + } + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlCdata.prototype, "charData", { + /** + * Gets the character data of this CDATA section. + */ + get: function () { + return this._charData; + }, + /** + * Sets the character data of this CDATA section. + */ + set: function (charData) { + if (this._replaceInvalidCharsInCharData) { + charData = (0, validate_1.fixChar)(charData); + } + else if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": CDATA section" + + (" \"" + charData + "\" should not contain characters") + + " not allowed in XML"); + } + if (this._replaceInvalidCharsInCharData) { + charData = charData.replace("]]>", "\uFFFD\uFFFD\uFFFD"); + } + else if (this._validation && charData.indexOf("]]>") !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": CDATA section" + + (" \"" + charData + "\" should not contain the string") + + " ']]>'"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this CDATA section. + */ + XmlCdata.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this CDATA section. + */ + XmlCdata.prototype.up = function () { + return this._parent; + }; + return XmlCdata; +}()); +exports.default = XmlCdata; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.d.ts new file mode 100644 index 00000000..bc56b587 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.d.ts @@ -0,0 +1,59 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create new character data. + */ +export interface IXmlCharDataOptions { + /** + * The character data. + */ + charData: string; + /** + * Whether to replace any invalid characters in the character data with the + * Unicode replacement character. By default, this is disabled. + */ + replaceInvalidCharsInCharData?: boolean; +} +/** + * Represents character data. + * + * Restricted characters, such as the ampersand (`&`), the opening angle + * bracket (`<`), and the closing angle bracket (`>`) when it appears in the + * string `]]>`, are all automatically escaped. + */ +export default class XmlCharData { + private readonly _replaceInvalidCharsInCharData; + private readonly _parent; + private readonly _validation; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlCharDataOptions); + /** + * Gets the text of this character data. + */ + get charData(): string; + /** + * Sets the text of this character data. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this character data. + */ + toString(): string; + /** + * Returns the parent of this character data. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.js new file mode 100644 index 00000000..77965900 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharData.js @@ -0,0 +1,82 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var escape_1 = require("../escape"); +var validate_1 = require("../validate"); +/** + * Represents character data. + * + * Restricted characters, such as the ampersand (`&`), the opening angle + * bracket (`<`), and the closing angle bracket (`>`) when it appears in the + * string `]]>`, are all automatically escaped. + */ +var XmlCharData = /** @class */ (function () { + function XmlCharData(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) { + this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData); + } + else { + this._replaceInvalidCharsInCharData = false; + } + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlCharData.prototype, "charData", { + /** + * Gets the text of this character data. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this character data. + */ + set: function (charData) { + if (this._replaceInvalidCharsInCharData) { + charData = (0, validate_1.fixChar)(charData); + } + else if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": character data" + + ("\"" + charData + "\" should not contain characters not") + + " allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this character data. + */ + XmlCharData.prototype.toString = function () { + var str = this._charData; + str = (0, escape_1.escapeAmpersands)(str); + str = (0, escape_1.escapeLeftAngleBrackets)(str); + str = (0, escape_1.escapeRightAngleBracketsInCdataTerminator)(str); + return str; + }; + /** + * Returns the parent of this character data. + */ + XmlCharData.prototype.up = function () { + return this._parent; + }; + return XmlCharData; +}()); +exports.default = XmlCharData; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.d.ts new file mode 100644 index 00000000..444d1436 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.d.ts @@ -0,0 +1,89 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new character reference. + */ +export interface IXmlCharRefOptions { + /** + * The character to represent using the reference. + */ + char: string; + /** + * Whether to use the hexadecimal or decimal representation for the + * reference. Defaults to false. + */ + hex?: boolean; +} +/** + * Represents a character reference. + * + * A character reference is structured as follows, where `{dec}` is the + * decimal representation code point corresponding to a particular Unicode + * character: + * + * ```xml + * &#{dec}; + * ``` + * + * The corresponding hexadecimal version is structured as follows, where + * `{hex}` is the hexadecimal representation code point corresponding to a + * particular Unicode character: + * + * ```xml + * &#x{hex}; + * ``` + * + * Unicode characters outside of the Basic Multilingual Plane are represented + * using a surrogate pair consisting of two character references. + * + * The `{dec}` and `{hex}` values are defined by the `char` and `hex` + * properties of this node; the former is the character to be represented while + * the latter indicates whether the decimal or hexadecimal representation + * should be used. + */ +export default class XmlCharRef { + private readonly _validation; + private readonly _parent; + private _char; + private _hex; + constructor(parent: Parent, validation: boolean, options: IXmlCharRefOptions); + /** + * Gets the character of this character reference. + */ + get char(): string; + /** + * Sets the character of this character reference. + */ + set char(char: string); + /** + * Gets whether the decimal or hexadecimal representation should be used + * for this character reference. + */ + get hex(): boolean; + /** + * Sets whether the decimal or hexadecimal representation should be used + * for this character reference. + */ + set hex(hex: boolean); + /** + * Returns an XML string representation of this character reference. + */ + toString(): string; + /** + * Returns the parent of this character reference. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.js new file mode 100644 index 00000000..dc53ba40 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlCharRef.js @@ -0,0 +1,136 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a character reference. + * + * A character reference is structured as follows, where `{dec}` is the + * decimal representation code point corresponding to a particular Unicode + * character: + * + * ```xml + * &#{dec}; + * ``` + * + * The corresponding hexadecimal version is structured as follows, where + * `{hex}` is the hexadecimal representation code point corresponding to a + * particular Unicode character: + * + * ```xml + * &#x{hex}; + * ``` + * + * Unicode characters outside of the Basic Multilingual Plane are represented + * using a surrogate pair consisting of two character references. + * + * The `{dec}` and `{hex}` values are defined by the `char` and `hex` + * properties of this node; the former is the character to be represented while + * the latter indicates whether the decimal or hexadecimal representation + * should be used. + */ +var XmlCharRef = /** @class */ (function () { + function XmlCharRef(parent, validation, options) { + this._hex = false; + this._validation = validation; + this._parent = parent; + this.char = options.char; + if (!(0, validate_1.isUndefined)(options.hex)) { + this.hex = options.hex; + } + } + Object.defineProperty(XmlCharRef.prototype, "char", { + /** + * Gets the character of this character reference. + */ + get: function () { + return this._char; + }, + /** + * Sets the character of this character reference. + */ + set: function (char) { + if (this._validation && !(0, validate_1.validateSingleChar)(char)) { + throw new Error((0, error_1.getContext)(this.up()) + ": character reference" + + (" \"" + char + "\" should reference a single character,") + + " and this character should be allowed in XML"); + } + this._char = char; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlCharRef.prototype, "hex", { + /** + * Gets whether the decimal or hexadecimal representation should be used + * for this character reference. + */ + get: function () { + return this._hex; + }, + /** + * Sets whether the decimal or hexadecimal representation should be used + * for this character reference. + */ + set: function (hex) { + this._hex = hex; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this character reference. + */ + XmlCharRef.prototype.toString = function () { + var char; + if (this._char.length === 1) { + char = this._char.charCodeAt(0); + } + else { + var first = this._char.charCodeAt(0); + if (first >= 0xD800 && first <= 0xDBFF && this._char.length > 1) { + var second = this._char.charCodeAt(1); + if (second >= 0xDC00 && second <= 0xDFFF) { + char = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + else { + throw new Error((0, error_1.getContext)(this.up()) + ": character" + + (" reference \"" + this.char + "\" should") + + " reference a valid Unicode character"); + } + } + else { + char = first; + } + } + if (this._hex) { + return "&#x" + char.toString(16) + ";"; + } + else { + return "&#" + char + ";"; + } + }; + /** + * Returns the parent of this character reference. + */ + XmlCharRef.prototype.up = function () { + return this._parent; + }; + return XmlCharRef; +}()); +exports.default = XmlCharRef; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.d.ts new file mode 100644 index 00000000..28aadb8e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.d.ts @@ -0,0 +1,62 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new comment. + */ +export interface IXmlCommentOptions { + /** + * The content of the comment. + */ + charData: string; + /** + * Whether to replace any invalid characters in the content of the comment + * with the Unicode replacement character. By default, this is disabled. + */ + replaceInvalidCharsInCharData?: boolean; +} +/** + * Represents a comment. + * + * A comment is structured as follows, where `{content}` is the text of the + * comment: + * + * ```xml + * + * ``` + */ +export default class XmlComment { + private readonly _replaceInvalidCharsInCharData; + private readonly _parent; + private readonly _validation; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlCommentOptions); + /** + * Gets the text of this comment. + */ + get charData(): string; + /** + * Sets the text of this comment. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this comment. + */ + toString(): string; + /** + * Returns the parent of this comment. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.js new file mode 100644 index 00000000..81a40f32 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlComment.js @@ -0,0 +1,99 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a comment. + * + * A comment is structured as follows, where `{content}` is the text of the + * comment: + * + * ```xml + * + * ``` + */ +var XmlComment = /** @class */ (function () { + function XmlComment(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInCharData)) { + this._replaceInvalidCharsInCharData = (options.replaceInvalidCharsInCharData); + } + else { + this._replaceInvalidCharsInCharData = false; + } + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlComment.prototype, "charData", { + /** + * Gets the text of this comment. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this comment. + */ + set: function (charData) { + if (this._replaceInvalidCharsInCharData) { + charData = (0, validate_1.fixChar)(charData); + } + else if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": comment content" + + (" \"" + charData + "\" should not contain characters") + + " not allowed in XML"); + } + if (this._replaceInvalidCharsInCharData) { + charData = charData.replace("--", "\uFFFD\uFFFD"); + } + else if (this._validation && charData.indexOf("--") !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": comment content" + + (" \"" + charData + "\" should not contain the string") + + " '--'"); + } + if (this._replaceInvalidCharsInCharData) { + if (charData.lastIndexOf("-") === charData.length - 1) { + charData = charData.substr(0, charData.length - 1) + "\uFFFD"; + } + } + else if (this._validation + && charData.lastIndexOf("-") === charData.length - 1) { + throw new Error((0, error_1.getContext)(this.up()) + ": comment content" + + (" \"" + charData + "\" should not end with the string") + + " '-'"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this comment. + */ + XmlComment.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this comment. + */ + XmlComment.prototype.up = function () { + return this._parent; + }; + return XmlComment; +}()); +exports.default = XmlComment; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.d.ts new file mode 100644 index 00000000..2313a721 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.d.ts @@ -0,0 +1,92 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IStringOptions } from "../options"; +/** + * The options used to create a new declaration. + */ +export interface IXmlDeclOptions { + /** + * The encoding attribute to be included in the declaration. If defined, + * this value must be a valid encoding. By default, no encoding attribute + * is included. + */ + encoding?: string; + /** + * The value of the standalone attribute to be included in the declaration. + * If defined, this value must be "yes" or "no". By default, no standalone + * attribute is included. + */ + standalone?: string; + /** + * The XML version to be included in the declaration. If defined, this + * value must be a valid XML version number. Defaults to "1.0". + */ + version?: string; +} +/** + * Represents a declaration. + * + * A declaration is structured as follows, where `{version}` is the XML + * version, `{encoding}` is the encoding of the document, and `{standalone}` + * is either "yes" or "no", depending on whether the document may contain + * external markup declarations: + * + * ```xml + * + * ``` + */ +export default class XmlDecl { + private readonly _validation; + private _encoding; + private readonly _parent; + private _standalone; + private _version; + constructor(parent: Parent, validation: boolean, options: IXmlDeclOptions); + /** + * Gets the encoding associated with this declaration. + */ + get encoding(): string | undefined; + /** + * Sets the encoding associated with this declaration. + */ + set encoding(encoding: string | undefined); + /** + * Gets the value of the standalone attribute associated with this + * declaration. + */ + get standalone(): string | undefined; + /** + * Sets the value of the standalone attribute associated with this + * declaration. + */ + set standalone(standalone: string | undefined); + /** + * Gets the XML version associated with this declaration. + */ + get version(): string; + /** + * Sets the XML version associated with this declaration. + */ + set version(version: string); + /** + * Returns an XML string representation of this declaration. + */ + toString(options?: IStringOptions): string; + /** + * Returns the parent of this declaration. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.js new file mode 100644 index 00000000..8adb1644 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDecl.js @@ -0,0 +1,180 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var options_1 = require("../options"); +var validate_1 = require("../validate"); +/** + * Represents a declaration. + * + * A declaration is structured as follows, where `{version}` is the XML + * version, `{encoding}` is the encoding of the document, and `{standalone}` + * is either "yes" or "no", depending on whether the document may contain + * external markup declarations: + * + * ```xml + * + * ``` + */ +var XmlDecl = /** @class */ (function () { + function XmlDecl(parent, validation, options) { + this._version = "1.0"; + this._validation = validation; + this._parent = parent; + this.encoding = options.encoding; + this.standalone = options.standalone; + if (!(0, validate_1.isUndefined)(options.version)) { + this.version = options.version; + } + } + Object.defineProperty(XmlDecl.prototype, "encoding", { + /** + * Gets the encoding associated with this declaration. + */ + get: function () { + return this._encoding; + }, + /** + * Sets the encoding associated with this declaration. + */ + set: function (encoding) { + if (this._validation && !(0, validate_1.isUndefined)(encoding)) { + if (!validateEncoding(encoding)) { + throw new Error((0, error_1.getContext)(this.up()) + ": declaration" + + (" encoding attribute " + encoding + " should be a") + + " valid encoding"); + } + } + this._encoding = encoding; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlDecl.prototype, "standalone", { + /** + * Gets the value of the standalone attribute associated with this + * declaration. + */ + get: function () { + return this._standalone; + }, + /** + * Sets the value of the standalone attribute associated with this + * declaration. + */ + set: function (standalone) { + if (this._validation && !(0, validate_1.isUndefined)(standalone)) { + if (standalone !== "yes" && standalone !== "no") { + throw new Error((0, error_1.getContext)(this.up()) + ": declaration" + + (" standalone attribute " + standalone + " should") + + " be the string 'yes' or the string 'no'"); + } + } + this._standalone = standalone; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlDecl.prototype, "version", { + /** + * Gets the XML version associated with this declaration. + */ + get: function () { + return this._version; + }, + /** + * Sets the XML version associated with this declaration. + */ + set: function (version) { + if (this._validation && !validateVersion(version)) { + throw new Error((0, error_1.getContext)(this.up()) + ": declaration version" + + (" attribute " + version + " should be a valid XML") + + " version"); + } + this._version = version; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this declaration. + */ + XmlDecl.prototype.toString = function (options) { + if (options === void 0) { options = {}; } + var optionsObj = new options_1.StringOptions(options); + var quote = optionsObj.doubleQuotes ? '"' : "'"; + var str = ""; + return str; + }; + /** + * Returns the parent of this declaration. + */ + XmlDecl.prototype.up = function () { + return this._parent; + }; + return XmlDecl; +}()); +exports.default = XmlDecl; +/** + * Returns true if the specified encoding only contains characters permitted by + * the XML specification. + */ +function validateEncoding(str) { + if (str.length === 0) { + return false; + } + var initialChar = str.charCodeAt(0); + if (!((initialChar >= 0x41 && initialChar <= 0x5A) + || (initialChar >= 0x61 && initialChar <= 0x7A))) { + return false; + } + for (var i = 1; i < str.length; i++) { + var char = str.charCodeAt(i); + if (char === 0x5F + || char === 0x2D + || char === 0x2E + || (char >= 0x30 && char <= 0x39) + || (char >= 0x41 && char <= 0x5A) + || (char >= 0x61 && char <= 0x7A)) { + continue; + } + if (i + 1 === str.length) { + return false; + } + return false; + } + return true; +} +/** + * Returns true if the specified version only contains characters permitted by + * the XML specification. + */ +function validateVersion(str) { + for (var i = 0; i <= 9; i++) { + if (str === "1." + i) { + return true; + } + } + return false; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.d.ts new file mode 100644 index 00000000..d4a74ecf --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.d.ts @@ -0,0 +1,96 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IStringOptions } from "../options"; +import XmlComment, { IXmlCommentOptions } from "./XmlComment"; +import XmlDecl, { IXmlDeclOptions } from "./XmlDecl"; +import XmlDtd, { IXmlDtdOptions } from "./XmlDtd"; +import XmlElement, { IXmlElementOptions } from "./XmlElement"; +import XmlProcInst, { IXmlProcInstOptions } from "./XmlProcInst"; +/** + * The options used to create a new document. + */ +export interface IXmlDocumentOptions { + /** + * Whether to throw an exception if basic XML validation fails while + * building the document. + */ + validation?: boolean; +} +/** + * Represents a document. + * + * A sample document is structured as follows: + * + * ```xml + * + * + * + * + * My page title + * + * + *

    Welcome!

    + *

    I hope you enjoy visiting my website.

    + * + * + * + * ``` + * + * Each component of the document, such as the declaration, document type + * definition, and root element, are children of this node. + * + * Documents must have exactly one element, which is the document's root + * element. + * + * Documents can have exactly one declaration and one document type definition + * in that order, so long as they precede the element. + * + * Documents can have an unlimited number of comments or processing + * instructions, so long as they follow the declaration, if one exists. + */ +export default class XmlDocument { + private readonly _children; + private readonly _validation; + constructor(options: IXmlDocumentOptions); + /** + * Adds a comment to this document and returns the new comment. + */ + comment(options: IXmlCommentOptions): XmlComment; + /** + * Adds a declaration to this document and returns the new declaration. + */ + decl(options?: IXmlDeclOptions): XmlDecl; + /** + * Adds a document type definition to this document and returns the new + * document type definition. + */ + dtd(options: IXmlDtdOptions): XmlDtd; + /** + * Adds the root element to this document and returns the element. + */ + element(options: IXmlElementOptions): XmlElement; + /** + * Adds a processing instruction to this document and returns the new + * processing instruction. + */ + procInst(options: IXmlProcInstOptions): XmlProcInst; + /** + * Returns an XML string representation of this document using the + * specified options. + */ + toString(options?: IStringOptions): string; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.js new file mode 100644 index 00000000..5d31d67b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDocument.js @@ -0,0 +1,166 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var options_1 = require("../options"); +var validate_1 = require("../validate"); +var XmlComment_1 = __importDefault(require("./XmlComment")); +var XmlDecl_1 = __importDefault(require("./XmlDecl")); +var XmlDtd_1 = __importDefault(require("./XmlDtd")); +var XmlElement_1 = __importDefault(require("./XmlElement")); +var XmlProcInst_1 = __importDefault(require("./XmlProcInst")); +/** + * Represents a document. + * + * A sample document is structured as follows: + * + * ```xml + * + * + * + * + * My page title + * + * + *

    Welcome!

    + *

    I hope you enjoy visiting my website.

    + * + * + * + * ``` + * + * Each component of the document, such as the declaration, document type + * definition, and root element, are children of this node. + * + * Documents must have exactly one element, which is the document's root + * element. + * + * Documents can have exactly one declaration and one document type definition + * in that order, so long as they precede the element. + * + * Documents can have an unlimited number of comments or processing + * instructions, so long as they follow the declaration, if one exists. + */ +var XmlDocument = /** @class */ (function () { + function XmlDocument(options) { + this._children = []; + this._validation = !(0, validate_1.isUndefined)(options.validation) + ? options.validation + : true; + } + /** + * Adds a comment to this document and returns the new comment. + */ + XmlDocument.prototype.comment = function (options) { + var comment = new XmlComment_1.default(this, this._validation, options); + this._children.push(comment); + return comment; + }; + /** + * Adds a declaration to this document and returns the new declaration. + */ + XmlDocument.prototype.decl = function (options) { + if (options === void 0) { options = {}; } + if (this._validation && this._children.length !== 0) { + throw new Error("in XML document: declaration must be the first" + + " child"); + } + var declaration = new XmlDecl_1.default(this, this._validation, options); + this._children.push(declaration); + return declaration; + }; + /** + * Adds a document type definition to this document and returns the new + * document type definition. + */ + XmlDocument.prototype.dtd = function (options) { + var filteredChildren = this._children.filter(function (value) { + return value instanceof XmlElement_1.default; + }); + if (this._validation && filteredChildren.length !== 0) { + throw new Error("in XML document: DTD must precede the root" + + " element"); + } + var dtd = new XmlDtd_1.default(this, this._validation, options); + this._children.push(dtd); + return dtd; + }; + /** + * Adds the root element to this document and returns the element. + */ + XmlDocument.prototype.element = function (options) { + var filteredChildren = this._children.filter(function (value) { + return value instanceof XmlElement_1.default; + }); + if (this._validation && filteredChildren.length !== 0) { + throw new Error("in XML document: only one root element is" + + " permitted"); + } + var element = new XmlElement_1.default(this, this._validation, options); + this._children.push(element); + return element; + }; + /** + * Adds a processing instruction to this document and returns the new + * processing instruction. + */ + XmlDocument.prototype.procInst = function (options) { + var procInst = new XmlProcInst_1.default(this, this._validation, options); + this._children.push(procInst); + return procInst; + }; + /** + * Returns an XML string representation of this document using the + * specified options. + */ + XmlDocument.prototype.toString = function (options) { + if (options === void 0) { options = {}; } + var filteredChildren = this._children.filter(function (value) { + return value instanceof XmlElement_1.default; + }); + if (this._validation && filteredChildren.length !== 1) { + throw new Error("in XML document: no more than one root element" + + " is permitted"); + } + var optionsObj = new options_1.StringOptions(options); + var str = ""; + for (var _i = 0, _a = this._children; _i < _a.length; _i++) { + var node = _a[_i]; + if (node instanceof XmlDecl_1.default + || node instanceof XmlDtd_1.default + || node instanceof XmlElement_1.default) { + str += node.toString(options); + } + else { + str += node.toString(); + } + if (optionsObj.pretty) { + str += optionsObj.newline; + } + } + var len = str.length - optionsObj.newline.length; + if (str.substr(len) === optionsObj.newline) { + str = str.substr(0, len); + } + return str; + }; + return XmlDocument; +}()); +exports.default = XmlDocument; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.d.ts new file mode 100644 index 00000000..bbb159f8 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.d.ts @@ -0,0 +1,147 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IStringOptions } from "../options"; +import XmlComment, { IXmlCommentOptions } from "./XmlComment"; +import XmlDtdAttlist, { IXmlDtdAttlistOptions } from "./XmlDtdAttlist"; +import XmlDtdElement, { IXmlDtdElementOptions } from "./XmlDtdElement"; +import XmlDtdEntity, { IXmlDtdEntityOptions } from "./XmlDtdEntity"; +import XmlDtdNotation, { IXmlDtdNotationOptions } from "./XmlDtdNotation"; +import { default as XmlDtdParamEntityRef, IXmlDtdParamEntityRefOptions } from "./XmlDtdParamEntityRef"; +import XmlProcInst, { IXmlProcInstOptions } from "./XmlProcInst"; +/** + * The options used to create a new document type definition. + */ +export interface IXmlDtdOptions { + /** + * The name of the DTD. + */ + name: string; + /** + * The system identifier of the DTD, excluding quotation marks. By default, + * no system identifier is included. + */ + sysId?: string; + /** + * The public identifier of the DTD, excluding quotation marks. If a public + * identifier is provided, a system identifier must be provided as well. + * By default, no public identifier is included. + */ + pubId?: string; +} +/** + * Represents an XML document type definition (DTD). + * + * A document type definition is structured as follows, where `{name}` is + * the name of the DTD, `{sysId}` is the system identifier of the DTD, + * `{pubId}` is the public identifier of the DTD, and `{intSubset}` is the + * internal subset of the DTD: + * + * ```xml + * + * ``` + * + * DTDs can have an unlimited number of comments, attribute-list declarations, + * element declarations, entity declarations, notation declarations, parameter + * entity references, and processing instructions. + */ +export default class XmlDtd { + private readonly _children; + private readonly _parent; + private _name; + private readonly _validation; + private _pubId; + private _sysId; + constructor(parent: Parent, validation: boolean, options: IXmlDtdOptions); + /** + * Gets the name of the DTD. + */ + get name(): string; + /** + * Sets the name of the DTD. + */ + set name(name: string); + /** + * Gets the public identifier of the DTD. + */ + get pubId(): string | undefined; + /** + * Sets the public identifier of the DTD. + */ + set pubId(pubId: string | undefined); + /** + * Gets the system identifier of the DTD. + */ + get sysId(): string | undefined; + /** + * Sets the system identifier of the DTD. + */ + set sysId(sysId: string | undefined); + /** + * Adds an attribute-list declaration to this document type declaration + * and returns the new attribute-list declaration. + */ + attlist(options: IXmlDtdAttlistOptions): XmlDtdAttlist; + /** + * Adds a comment to this document type declaration and returns the + * new comment. + */ + comment(options: IXmlCommentOptions): XmlComment; + /** + * Adds an element declaration to this document type declaration + * and returns the new element declaration. + */ + element(options: IXmlDtdElementOptions): XmlDtdElement; + /** + * Adds an entity declaration to this document type declaration + * and returns the new entity declaration. + */ + entity(options: IXmlDtdEntityOptions): XmlDtdEntity; + /** + * Adds a notation declaration to this document type declaration + * and returns the new notation declaration. + */ + notation(options: IXmlDtdNotationOptions): XmlDtdNotation; + /** + * Adds a parameter entity reference to this document type declaration + * and returns the new parameter entity reference. + */ + paramEntityRef(options: IXmlDtdParamEntityRefOptions): XmlDtdParamEntityRef; + /** + * Adds a processing instruction to this document type declaration + * and returns the new processing instruction. + */ + procInst(options: IXmlProcInstOptions): XmlProcInst; + /** + * Returns an XML string representation of this document type declaration. + */ + toString(options?: IStringOptions): string; + /** + * Returns the parent of this attribute. + */ + up(): Parent; + /** + * Appends the XML string representation of a public or system identifier + * to an existing string. + */ + private appendId; +} +/** + * Returns true if the specified public identifier only contains characters + * permitted by the XML specification. + */ +export declare function validatePubId(str: string): boolean; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.js new file mode 100644 index 00000000..71e4d630 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtd.js @@ -0,0 +1,312 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validatePubId = void 0; +var error_1 = require("../error"); +var options_1 = require("../options"); +var validate_1 = require("../validate"); +var XmlComment_1 = __importDefault(require("./XmlComment")); +var XmlDtdAttlist_1 = __importDefault(require("./XmlDtdAttlist")); +var XmlDtdElement_1 = __importDefault(require("./XmlDtdElement")); +var XmlDtdEntity_1 = __importDefault(require("./XmlDtdEntity")); +var XmlDtdNotation_1 = __importDefault(require("./XmlDtdNotation")); +var XmlDtdParamEntityRef_1 = __importDefault(require("./XmlDtdParamEntityRef")); +var XmlProcInst_1 = __importDefault(require("./XmlProcInst")); +/** + * Represents an XML document type definition (DTD). + * + * A document type definition is structured as follows, where `{name}` is + * the name of the DTD, `{sysId}` is the system identifier of the DTD, + * `{pubId}` is the public identifier of the DTD, and `{intSubset}` is the + * internal subset of the DTD: + * + * ```xml + * + * ``` + * + * DTDs can have an unlimited number of comments, attribute-list declarations, + * element declarations, entity declarations, notation declarations, parameter + * entity references, and processing instructions. + */ +var XmlDtd = /** @class */ (function () { + function XmlDtd(parent, validation, options) { + this._pubId = undefined; + this._sysId = undefined; + this._validation = validation; + this._children = []; + this._parent = parent; + this.name = options.name; + if (!(0, validate_1.isUndefined)(options.sysId)) { + this.sysId = options.sysId; + } + if (!(0, validate_1.isUndefined)(options.pubId)) { + this.pubId = options.pubId; + } + } + Object.defineProperty(XmlDtd.prototype, "name", { + /** + * Gets the name of the DTD. + */ + get: function () { + return this._name; + }, + /** + * Sets the name of the DTD. + */ + set: function (name) { + if (this._validation && !(0, validate_1.validateName)(name)) { + throw new Error((0, error_1.getContext)(this.up()) + ": DTD name \"" + name + "\"" + + " should not contain characters not allowed in" + + " XML names"); + } + this._name = name; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlDtd.prototype, "pubId", { + /** + * Gets the public identifier of the DTD. + */ + get: function () { + return this._pubId; + }, + /** + * Sets the public identifier of the DTD. + */ + set: function (pubId) { + if (!(0, validate_1.isUndefined)(pubId)) { + if (this._validation && !validatePubId(pubId)) { + throw new Error((0, error_1.getContext)(this.up()) + ": DTD public" + + (" identifier \"" + pubId + "\" should not contain") + + " characters not allowed in public" + + " identifiers"); + } + if (this._validation && (0, validate_1.isUndefined)(this._sysId)) { + throw new Error((0, error_1.getContext)(this.up()) + ": DTD public" + + (" identifier \"" + pubId + "\" should not be defined") + + " if system identifier is undefined"); + } + } + this._pubId = pubId; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlDtd.prototype, "sysId", { + /** + * Gets the system identifier of the DTD. + */ + get: function () { + return this._sysId; + }, + /** + * Sets the system identifier of the DTD. + */ + set: function (sysId) { + if (!(0, validate_1.isUndefined)(sysId)) { + if (this._validation && !(0, validate_1.validateChar)(sysId)) { + throw new Error((0, error_1.getContext)(this.up()) + ": DTD system" + + (" identifier \"" + sysId + "\" should not contain") + + " characters not allowed in XML"); + } + else if (this._validation + && sysId.indexOf("'") !== -1 + && sysId.indexOf("\"") !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": DTD system" + + (" identifier \"" + sysId + "\" should not contain") + + " both single quotes and double quotes"); + } + } + this._sysId = sysId; + }, + enumerable: false, + configurable: true + }); + /** + * Adds an attribute-list declaration to this document type declaration + * and returns the new attribute-list declaration. + */ + XmlDtd.prototype.attlist = function (options) { + var attlist = new XmlDtdAttlist_1.default(this, this._validation, options); + this._children.push(attlist); + return attlist; + }; + /** + * Adds a comment to this document type declaration and returns the + * new comment. + */ + XmlDtd.prototype.comment = function (options) { + var comment = new XmlComment_1.default(this, this._validation, options); + this._children.push(comment); + return comment; + }; + /** + * Adds an element declaration to this document type declaration + * and returns the new element declaration. + */ + XmlDtd.prototype.element = function (options) { + var element = new XmlDtdElement_1.default(this, this._validation, options); + this._children.push(element); + return element; + }; + /** + * Adds an entity declaration to this document type declaration + * and returns the new entity declaration. + */ + XmlDtd.prototype.entity = function (options) { + var entity = new XmlDtdEntity_1.default(this, this._validation, options); + this._children.push(entity); + return entity; + }; + /** + * Adds a notation declaration to this document type declaration + * and returns the new notation declaration. + */ + XmlDtd.prototype.notation = function (options) { + var notation = new XmlDtdNotation_1.default(this, this._validation, options); + this._children.push(notation); + return notation; + }; + /** + * Adds a parameter entity reference to this document type declaration + * and returns the new parameter entity reference. + */ + XmlDtd.prototype.paramEntityRef = function (options) { + var paramEntity = new XmlDtdParamEntityRef_1.default(this, this._validation, options); + this._children.push(paramEntity); + return paramEntity; + }; + /** + * Adds a processing instruction to this document type declaration + * and returns the new processing instruction. + */ + XmlDtd.prototype.procInst = function (options) { + var procInst = new XmlProcInst_1.default(this, this._validation, options); + this._children.push(procInst); + return procInst; + }; + /** + * Returns an XML string representation of this document type declaration. + */ + XmlDtd.prototype.toString = function (options) { + if (options === void 0) { options = {}; } + var optionsObj = new options_1.StringOptions(options); + var str = ""; + } + else { + str += ">"; + } + return str; + }; + /** + * Returns the parent of this attribute. + */ + XmlDtd.prototype.up = function () { + return this._parent; + }; + /** + * Appends the XML string representation of a public or system identifier + * to an existing string. + */ + XmlDtd.prototype.appendId = function (type, value, str, options) { + str += type + " "; + if (options.doubleQuotes) { + if (this._validation && value.indexOf("\"") !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": doubleQuotes option" + + " inconsistent with DTD system identifier or" + + " public identifier"); + } + str += "\"" + value + "\""; + } + else { + if (this._validation && value.indexOf("'") !== -1) { + throw new Error((0, error_1.getContext)(this) + ": doubleQuotes option" + + " inconsistent with DTD system identifier or" + + " public identifier"); + } + str += "'" + value + "'"; + } + return str; + }; + return XmlDtd; +}()); +exports.default = XmlDtd; +/** + * Returns true if the specified public identifier only contains characters + * permitted by the XML specification. + */ +function validatePubId(str) { + for (var i = 0; i < str.length; i++) { + var char = str.charCodeAt(i); + if (char === 0xA + || char === 0xD + || char === 0x20 + || char === 0x21 + || (char >= 0x23 && char <= 0x25) + || (char >= 0x27 && char <= 0x2F) + || (char >= 0x30 && char <= 0x39) + || char === 0x3A + || char === 0x3B + || char === 0x3D + || char === 0x3F + || (char >= 0x40 && char <= 0x5A) + || char === 0x5F + || (char >= 0x61 && char <= 0x7A)) { + continue; + } + if (i + 1 === str.length) { + return false; + } + return false; + } + return true; +} +exports.validatePubId = validatePubId; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.d.ts new file mode 100644 index 00000000..e7c217dc --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new attribute-list declaration. + */ +export interface IXmlDtdAttlistOptions { + /** + * The text of the declaration. + */ + charData: string; +} +/** + * Represents an attribute-list declaration in a document type definition. + * + * An attribute-list declaration is structured as follows, where `{text}` + * is the text of the declaration: + * + * ```xml + * + * ``` + */ +export default class XmlDtdAttlist { + private readonly _validation; + private readonly _parent; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlDtdAttlistOptions); + /** + * Gets the text of this entity declaration. + */ + get charData(): string; + /** + * Sets the text of this entity declaration. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this entity declaration. + */ + toString(): string; + /** + * Returns the parent of this entity declaration. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.js new file mode 100644 index 00000000..1d8edb1b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdAttlist.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents an attribute-list declaration in a document type definition. + * + * An attribute-list declaration is structured as follows, where `{text}` + * is the text of the declaration: + * + * ```xml + * + * ``` + */ +var XmlDtdAttlist = /** @class */ (function () { + function XmlDtdAttlist(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlDtdAttlist.prototype, "charData", { + /** + * Gets the text of this entity declaration. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this entity declaration. + */ + set: function (charData) { + if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": attribute-list" + + (" declaration \"" + charData + "\" should not contain") + + " characters not allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this entity declaration. + */ + XmlDtdAttlist.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this entity declaration. + */ + XmlDtdAttlist.prototype.up = function () { + return this._parent; + }; + return XmlDtdAttlist; +}()); +exports.default = XmlDtdAttlist; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.d.ts new file mode 100644 index 00000000..3b96320d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new element declaration. + */ +export interface IXmlDtdElementOptions { + /** + * The text of the declaration. + */ + charData: string; +} +/** + * Represents an element declaration in a document type definition. + * + * An element declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +export default class XmlDtdElement { + private readonly _validation; + private readonly _parent; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlDtdElementOptions); + /** + * Gets the text of this element declaration. + */ + get charData(): string; + /** + * Sets the text of this element declaration. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this element declaration. + */ + toString(): string; + /** + * Returns the parent of this element declaration. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.js new file mode 100644 index 00000000..1b8d1f3e --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdElement.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents an element declaration in a document type definition. + * + * An element declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +var XmlDtdElement = /** @class */ (function () { + function XmlDtdElement(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlDtdElement.prototype, "charData", { + /** + * Gets the text of this element declaration. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this element declaration. + */ + set: function (charData) { + if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": element declaration" + + (" \"" + charData + "\" should not contain characters") + + " not allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this element declaration. + */ + XmlDtdElement.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this element declaration. + */ + XmlDtdElement.prototype.up = function () { + return this._parent; + }; + return XmlDtdElement; +}()); +exports.default = XmlDtdElement; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.d.ts new file mode 100644 index 00000000..71f348a5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new entity declaration. + */ +export interface IXmlDtdEntityOptions { + /** + * The text of the declaration. + */ + charData: string; +} +/** + * Represents an entity declaration in a document type definition. + * + * An entity declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +export default class XmlDtdEntity { + private readonly _validation; + private readonly _parent; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlDtdEntityOptions); + /** + * Gets the text of this entity declaration. + */ + get charData(): string; + /** + * Sets the text of this entity declaration. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this entity declaration. + */ + toString(): string; + /** + * Returns the parent of this entity declaration. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.js new file mode 100644 index 00000000..dd67d5d9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdEntity.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents an entity declaration in a document type definition. + * + * An entity declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +var XmlDtdEntity = /** @class */ (function () { + function XmlDtdEntity(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlDtdEntity.prototype, "charData", { + /** + * Gets the text of this entity declaration. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this entity declaration. + */ + set: function (charData) { + if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": entity declaration" + + (" \"" + charData + "\" should not contain characters") + + " not allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this entity declaration. + */ + XmlDtdEntity.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this entity declaration. + */ + XmlDtdEntity.prototype.up = function () { + return this._parent; + }; + return XmlDtdEntity; +}()); +exports.default = XmlDtdEntity; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.d.ts new file mode 100644 index 00000000..17c17934 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new notation declaration. + */ +export interface IXmlDtdNotationOptions { + /** + * The text of the declaration. + */ + charData: string; +} +/** + * Represents a notation declaration in a document type definition. + * + * A notation declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +export default class XmlDtdNotation { + private readonly _validation; + private readonly _parent; + private _charData; + constructor(parent: Parent, validation: boolean, options: IXmlDtdNotationOptions); + /** + * Gets the text of this notation declaration. + */ + get charData(): string; + /** + * Sets the text of this notation declaration. + */ + set charData(charData: string); + /** + * Returns an XML string representation of this notation declaration. + */ + toString(): string; + /** + * Returns the parent of this notation declaration. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.js new file mode 100644 index 00000000..9b6dc4e5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdNotation.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a notation declaration in a document type definition. + * + * A notation declaration is structured as follows, where `{text}` is the + * text of the declaration: + * + * ```xml + * + * ``` + */ +var XmlDtdNotation = /** @class */ (function () { + function XmlDtdNotation(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.charData = options.charData; + } + Object.defineProperty(XmlDtdNotation.prototype, "charData", { + /** + * Gets the text of this notation declaration. + */ + get: function () { + return this._charData; + }, + /** + * Sets the text of this notation declaration. + */ + set: function (charData) { + if (this._validation && !(0, validate_1.validateChar)(charData)) { + throw new Error((0, error_1.getContext)(this.up()) + ": notation declaration" + + (" \"" + charData + "\" should not contain characters") + + " not allowed in XML"); + } + this._charData = charData; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this notation declaration. + */ + XmlDtdNotation.prototype.toString = function () { + return ""; + }; + /** + * Returns the parent of this notation declaration. + */ + XmlDtdNotation.prototype.up = function () { + return this._parent; + }; + return XmlDtdNotation; +}()); +exports.default = XmlDtdNotation; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.d.ts new file mode 100644 index 00000000..c9aac39f --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new parameter entity reference. + */ +export interface IXmlDtdParamEntityRefOptions { + /** + * The name of the entity to be referenced. + */ + name: string; +} +/** + * Represents a parameter entity reference in a document type definition. + * + * A parameter entity reference is structured as follows, where `{entity}` + * is the name of the entity: + * + * ```xml + * %{entity}; + * ``` + */ +export default class XmlDtdParamEntityRef { + private readonly _validation; + private readonly _parent; + private _name; + constructor(parent: Parent, validation: boolean, options: IXmlDtdParamEntityRefOptions); + /** + * Gets the name of this parameter entity reference. + */ + get name(): string; + /** + * Sets the name of this parameter entity reference. + */ + set name(name: string); + /** + * Returns an XML string representation of this parameter entity reference. + */ + toString(): string; + /** + * Returns the parent of this parameter entity reference. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.js new file mode 100644 index 00000000..931c82e9 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlDtdParamEntityRef.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a parameter entity reference in a document type definition. + * + * A parameter entity reference is structured as follows, where `{entity}` + * is the name of the entity: + * + * ```xml + * %{entity}; + * ``` + */ +var XmlDtdParamEntityRef = /** @class */ (function () { + function XmlDtdParamEntityRef(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.name = options.name; + } + Object.defineProperty(XmlDtdParamEntityRef.prototype, "name", { + /** + * Gets the name of this parameter entity reference. + */ + get: function () { + return this._name; + }, + /** + * Sets the name of this parameter entity reference. + */ + set: function (name) { + if (this._validation && !(0, validate_1.validateName)(name)) { + throw new Error((0, error_1.getContext)(this.up()) + ": parameter entity" + + (" reference name \"" + name + "\" should not contain") + + " characters not allowed in XML names"); + } + this._name = name; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this parameter entity reference. + */ + XmlDtdParamEntityRef.prototype.toString = function () { + return "%" + this._name + ";"; + }; + /** + * Returns the parent of this parameter entity reference. + */ + XmlDtdParamEntityRef.prototype.up = function () { + return this._parent; + }; + return XmlDtdParamEntityRef; +}()); +exports.default = XmlDtdParamEntityRef; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.d.ts new file mode 100644 index 00000000..187f376b --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.d.ts @@ -0,0 +1,153 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IStringOptions } from "../options"; +import { default as XmlAttribute, IXmlAttributeOptions as IXmlAttributeOptions } from "./XmlAttribute"; +import XmlCdata, { IXmlCdataOptions } from "./XmlCdata"; +import XmlCharData, { IXmlCharDataOptions } from "./XmlCharData"; +import XmlCharRef, { IXmlCharRefOptions } from "./XmlCharRef"; +import XmlComment, { IXmlCommentOptions } from "./XmlComment"; +import XmlEntityRef, { IXmlEntityRefOptions } from "./XmlEntityRef"; +import XmlProcInst, { IXmlProcInstOptions } from "./XmlProcInst"; +/** + * The options used to create a new element. + */ +export interface IXmlElementOptions { + /** + * The name of the element. + */ + name: string; + /** + * Whether to replace any invalid characters in the name of the element + * with the Unicode replacement character. By default, this is disabled. + */ + replaceInvalidCharsInName?: boolean; + /** + * Whether to use a self-closing tag if this element is empty. + * + * For example, use: + * ```xml + * + * ``` + * instead of: + * ```xml + * + * ``` + * + * By default, this is enabled. + */ + useSelfClosingTagIfEmpty?: boolean; +} +/** + * Represents an XML element. + * + * A sample element is structured as follows, where `{name}` is the name + * of the element: + * + * ```xml + * <{name} attname="attvalue"> + * + * + * text + * + * ``` + * + * XML elements can have an unlimited number of attributes, CDATA sections, + * character references, comments, elements, entity references, processing + * instructions, and character data. + * + * An element with no content will be represented using an empty element tag: + * + * ```xml + * <{name}/> + * ``` + */ +export default class XmlElement { + private readonly _validation; + private readonly _children; + private readonly _attributeNames; + private readonly _parent; + private readonly _replaceInvalidCharsInName; + private readonly _useSelfClosingTagIfEmpty; + private _name; + constructor(parent: Parent, validation: boolean, options: IXmlElementOptions); + /** + * Gets the name of this element. + */ + get name(): string; + /** + * Sets the name of this element. + */ + set name(name: string); + /** + * Adds an attribute to this element and returns the new attribute. + */ + attribute(options: IXmlAttributeOptions): XmlAttribute; + /** + * Adds a CDATA section to this element and returns the new CDATA section. + */ + cdata(options: IXmlCdataOptions): XmlCdata; + /** + * Adds character data to this element and returns the new character data. + */ + charData(options: IXmlCharDataOptions): XmlCharData; + /** + * Adds a character reference to this element and returns the new + * character reference. + */ + charRef(options: IXmlCharRefOptions): XmlCharRef; + /** + * Adds a comment to this element and returns the new comment. + */ + comment(options: IXmlCommentOptions): XmlComment; + /** + * Adds an element to this element and returns the new element. + */ + element(options: IXmlElementOptions): XmlElement; + /** + * Adds an entity reference to this element and returns the new entity + * reference. + */ + entityRef(options: IXmlEntityRefOptions): XmlEntityRef; + /** + * Adds a processing instruction to this element and returns the new + * processing instruction. + */ + procInst(options: IXmlProcInstOptions): XmlProcInst; + /** + * Returns an XML string representation of this element using the specified + * options. + */ + toString(options?: IStringOptions): string; + /** + * Returns the parent of this element. + */ + up(): Parent; + /** + * Returns an XML string representation of this element using the specified + * options and initial indent. + */ + private toStringWithIndent; + /** + * Returns true if the specified nodes are all character references, + * entity references, or character data. + */ + private allSameLineNodes; + /** + * Returns true if the specified nodes are all character references, + * entity references, or character data. + */ + private onSameLine; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.js new file mode 100644 index 00000000..0a8c9a4c --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlElement.js @@ -0,0 +1,302 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var options_1 = require("../options"); +var validate_1 = require("../validate"); +var XmlAttribute_1 = __importDefault(require("./XmlAttribute")); +var XmlCdata_1 = __importDefault(require("./XmlCdata")); +var XmlCharData_1 = __importDefault(require("./XmlCharData")); +var XmlCharRef_1 = __importDefault(require("./XmlCharRef")); +var XmlComment_1 = __importDefault(require("./XmlComment")); +var XmlEntityRef_1 = __importDefault(require("./XmlEntityRef")); +var XmlProcInst_1 = __importDefault(require("./XmlProcInst")); +/** + * Represents an XML element. + * + * A sample element is structured as follows, where `{name}` is the name + * of the element: + * + * ```xml + * <{name} attname="attvalue"> + * + * + * text + * + * ``` + * + * XML elements can have an unlimited number of attributes, CDATA sections, + * character references, comments, elements, entity references, processing + * instructions, and character data. + * + * An element with no content will be represented using an empty element tag: + * + * ```xml + * <{name}/> + * ``` + */ +var XmlElement = /** @class */ (function () { + function XmlElement(parent, validation, options) { + this._validation = validation; + if (!(0, validate_1.isUndefined)(options.replaceInvalidCharsInName)) { + this._replaceInvalidCharsInName = options.replaceInvalidCharsInName; + } + else { + this._replaceInvalidCharsInName = false; + } + if (!(0, validate_1.isUndefined)(options.useSelfClosingTagIfEmpty)) { + this._useSelfClosingTagIfEmpty = options.useSelfClosingTagIfEmpty; + } + else { + this._useSelfClosingTagIfEmpty = true; + } + this._children = []; + this._attributeNames = []; + this._parent = parent; + this.name = options.name; + } + Object.defineProperty(XmlElement.prototype, "name", { + /** + * Gets the name of this element. + */ + get: function () { + return this._name; + }, + /** + * Sets the name of this element. + */ + set: function (name) { + if (this._replaceInvalidCharsInName) { + name = (0, validate_1.fixName)(name); + if (name.length === 0) { + throw new Error((0, error_1.getContext)(this.up()) + ": element name should" + + " not be empty"); + } + } + else if (this._validation && !(0, validate_1.validateName)(name)) { + if (name.length === 0) { + throw new Error((0, error_1.getContext)(this.up()) + ": element name should" + + " not be empty"); + } + else { + throw new Error((0, error_1.getContext)(this.up()) + ": element name" + + (" \"" + name + "\" should not contain characters not") + + " allowed in XML names"); + } + } + this._name = name; + }, + enumerable: false, + configurable: true + }); + /** + * Adds an attribute to this element and returns the new attribute. + */ + XmlElement.prototype.attribute = function (options) { + if (this._validation + && this._attributeNames.indexOf(options.name) !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": element \"" + this.name + "\"" + + " already contains an attribute with the" + + (" name \"" + options.name + "\"")); + } + var attribute = new XmlAttribute_1.default(this, this._validation, options); + this._children.push(attribute); + this._attributeNames.push(options.name); + return attribute; + }; + /** + * Adds a CDATA section to this element and returns the new CDATA section. + */ + XmlElement.prototype.cdata = function (options) { + var cdata = new XmlCdata_1.default(this, this._validation, options); + this._children.push(cdata); + return cdata; + }; + /** + * Adds character data to this element and returns the new character data. + */ + XmlElement.prototype.charData = function (options) { + var charDataNode = new XmlCharData_1.default(this, this._validation, options); + this._children.push(charDataNode); + return charDataNode; + }; + /** + * Adds a character reference to this element and returns the new + * character reference. + */ + XmlElement.prototype.charRef = function (options) { + var charRef = new XmlCharRef_1.default(this, this._validation, options); + this._children.push(charRef); + return charRef; + }; + /** + * Adds a comment to this element and returns the new comment. + */ + XmlElement.prototype.comment = function (options) { + var comment = new XmlComment_1.default(this, this._validation, options); + this._children.push(comment); + return comment; + }; + /** + * Adds an element to this element and returns the new element. + */ + XmlElement.prototype.element = function (options) { + var element = new XmlElement(this, this._validation, options); + this._children.push(element); + return element; + }; + /** + * Adds an entity reference to this element and returns the new entity + * reference. + */ + XmlElement.prototype.entityRef = function (options) { + var entityRef = new XmlEntityRef_1.default(this, this._validation, options); + this._children.push(entityRef); + return entityRef; + }; + /** + * Adds a processing instruction to this element and returns the new + * processing instruction. + */ + XmlElement.prototype.procInst = function (options) { + var procInst = new XmlProcInst_1.default(this, this._validation, options); + this._children.push(procInst); + return procInst; + }; + /** + * Returns an XML string representation of this element using the specified + * options. + */ + XmlElement.prototype.toString = function (options) { + if (options === void 0) { options = {}; } + return this.toStringWithIndent(options, ""); + }; + /** + * Returns the parent of this element. + */ + XmlElement.prototype.up = function () { + return this._parent; + }; + /** + * Returns an XML string representation of this element using the specified + * options and initial indent. + */ + XmlElement.prototype.toStringWithIndent = function (options, indent) { + var optionsObj = new options_1.StringOptions(options); + var newIndent = indent + optionsObj.indent; + // Element tag start + var str = "<" + this._name; + // Attributes and other nodes + var nodes = []; + for (var _i = 0, _a = this._children; _i < _a.length; _i++) { + var node = _a[_i]; + if (node instanceof XmlAttribute_1.default) { + str += " " + node.toString(options); + } + else { + nodes.push(node); + } + } + // Child nodes + if (nodes.length > 0) { + var childStr = ""; + for (var i = 0; i < nodes.length; i++) { + var next = nodes[i]; + var nextStr = ""; + if (next instanceof XmlElement) { + nextStr += next.toStringWithIndent(optionsObj, newIndent); + } + else { + nextStr += next.toString(); + } + var prev = i > 0 ? nodes[i - 1] : undefined; + // Skip empty nodes + if (next instanceof XmlCharData_1.default && next.toString() === "") { + continue; + } + // Line break before child nodes unless all nodes, or at least + // the most recent two, are of type XmlCharacterReference, + // XmlEntityReference, or XmlCharData + if (optionsObj.pretty) { + if (!this.allSameLineNodes(nodes)) { + if (!(i > 0 && this.onSameLine(next, prev))) { + nextStr = optionsObj.newline + newIndent + nextStr; + } + } + } + childStr += nextStr; + } + // Line break before end tag unless all nodes are of type + // XmlCharacterReference, XmlEntityReference, or XmlCharData + if (optionsObj.pretty) { + if (!this.allSameLineNodes(nodes)) { + childStr += optionsObj.newline + indent; + } + } + if (childStr.length === 0 && this._useSelfClosingTagIfEmpty) { + // Element empty tag end + str += "/>"; + } + else { + // Element start and end tags + str += ">" + childStr + ""; + } + } + else if (this._useSelfClosingTagIfEmpty) { + // Element empty tag end + str += "/>"; + } + else { + // Element start and end tags + str += ">"; + } + return str; + }; + /** + * Returns true if the specified nodes are all character references, + * entity references, or character data. + */ + XmlElement.prototype.allSameLineNodes = function (nodes) { + for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { + var node = nodes_1[_i]; + if (!((node instanceof XmlCharRef_1.default + || node instanceof XmlEntityRef_1.default + || node instanceof XmlCharData_1.default))) { + return false; + } + } + return true; + }; + /** + * Returns true if the specified nodes are all character references, + * entity references, or character data. + */ + XmlElement.prototype.onSameLine = function (prev, next) { + return (prev instanceof XmlCharRef_1.default + || prev instanceof XmlEntityRef_1.default + || prev instanceof XmlCharData_1.default) + && (!(0, validate_1.isUndefined)(next) + && (next instanceof XmlCharRef_1.default + || next instanceof XmlEntityRef_1.default + || next instanceof XmlCharData_1.default)); + }; + return XmlElement; +}()); +exports.default = XmlElement; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.d.ts new file mode 100644 index 00000000..848e1322 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new entity reference. + */ +export interface IXmlEntityRefOptions { + /** + * The name of the entity to be referenced. + */ + name: string; +} +/** + * Represents an entity reference. + * + * An entity reference is structured as follows, where `{name}` is the name of + * the entity to be referenced: + * + * ```xml + * &{entity}; + * ``` + */ +export default class XmlEntityRef { + private readonly _validation; + private readonly _parent; + private _name; + constructor(parent: Parent, validation: boolean, options: IXmlEntityRefOptions); + /** + * Gets the name of this entity reference. + */ + get name(): string; + /** + * Sets the name of this entity reference. + */ + set name(name: string); + /** + * Returns an XML string representation of this entity reference. + */ + toString(): string; + /** + * Returns the parent of this entity reference. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.js new file mode 100644 index 00000000..874f8d27 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlEntityRef.js @@ -0,0 +1,71 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents an entity reference. + * + * An entity reference is structured as follows, where `{name}` is the name of + * the entity to be referenced: + * + * ```xml + * &{entity}; + * ``` + */ +var XmlEntityRef = /** @class */ (function () { + function XmlEntityRef(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.name = options.name; + } + Object.defineProperty(XmlEntityRef.prototype, "name", { + /** + * Gets the name of this entity reference. + */ + get: function () { + return this._name; + }, + /** + * Sets the name of this entity reference. + */ + set: function (name) { + if (this._validation && !(0, validate_1.validateName)(name)) { + throw new Error((0, error_1.getContext)(this.up()) + ": entity reference name" + + (" \"" + name + "\" should not contain characters not") + + " allowed in XML names"); + } + this._name = name; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this entity reference. + */ + XmlEntityRef.prototype.toString = function () { + return "&" + this._name + ";"; + }; + /** + * Returns the parent of this entity reference. + */ + XmlEntityRef.prototype.up = function () { + return this._parent; + }; + return XmlEntityRef; +}()); +exports.default = XmlEntityRef; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.d.ts new file mode 100644 index 00000000..eb8a6376 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.d.ts @@ -0,0 +1,71 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * The options used to create a new processing instruction. + */ +export interface IXmlProcInstOptions { + /** + * The target of the processing instruction. + */ + target: string; + /** + * The data of the processing instruction, or undefined if there is no + * content. + */ + content?: string; +} +/** + * Represents a processing instruction. + * + * A processing instruction is structured as follows, where `{target}` and + * `{content}` are the target and content of the processing instruction + * respectively: + * + * ```xml + * + * ``` + */ +export default class XmlProcInst { + private readonly _validation; + private readonly _parent; + private _content; + private _target; + constructor(parent: Parent, validation: boolean, options: IXmlProcInstOptions); + /** + * Gets the content of this processing instruction. + */ + get content(): string | undefined; + /** + * Sets the content of this processing instruction. + */ + set content(content: string | undefined); + /** + * Gets the target of this processing instruction. + */ + get target(): string; + /** + * Sets the content of this processing instruction. + */ + set target(target: string); + /** + * Returns an XML string representation of this processing instruction. + */ + toString(): string; + /** + * Returns the parent of this processing instruction. + */ + up(): Parent; +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.js new file mode 100644 index 00000000..283f587d --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/nodes/XmlProcInst.js @@ -0,0 +1,112 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +var error_1 = require("../error"); +var validate_1 = require("../validate"); +/** + * Represents a processing instruction. + * + * A processing instruction is structured as follows, where `{target}` and + * `{content}` are the target and content of the processing instruction + * respectively: + * + * ```xml + * + * ``` + */ +var XmlProcInst = /** @class */ (function () { + function XmlProcInst(parent, validation, options) { + this._validation = validation; + this._parent = parent; + this.content = options.content; + this.target = options.target; + } + Object.defineProperty(XmlProcInst.prototype, "content", { + /** + * Gets the content of this processing instruction. + */ + get: function () { + return this._content; + }, + /** + * Sets the content of this processing instruction. + */ + set: function (content) { + if (!(0, validate_1.isUndefined)(content)) { + if (this._validation && !(0, validate_1.validateChar)(content)) { + throw new Error((0, error_1.getContext)(this.up()) + ": processing" + + (" instruction content \"" + content + "\" should") + + " not contain characters not allowed in XML"); + } + else if (this._validation && content.indexOf("?>") !== -1) { + throw new Error((0, error_1.getContext)(this.up()) + ": processing" + + (" instruction content \"" + content + "\" should") + + " not contain the string '?>'"); + } + } + this._content = content; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(XmlProcInst.prototype, "target", { + /** + * Gets the target of this processing instruction. + */ + get: function () { + return this._target; + }, + /** + * Sets the content of this processing instruction. + */ + set: function (target) { + if (this._validation && !(0, validate_1.validateName)(target)) { + throw new Error((0, error_1.getContext)(this.up()) + ": processing" + + (" instruction target \"" + target + "\" should") + + " not contain characters not allowed in XML" + + " names"); + } + if (this._validation && target === "xml") { + throw new Error((0, error_1.getContext)(this.up()) + ": processing" + + (" instruction target \"" + target + "\" should") + + " not be the string 'xml'"); + } + this._target = target; + }, + enumerable: false, + configurable: true + }); + /** + * Returns an XML string representation of this processing instruction. + */ + XmlProcInst.prototype.toString = function () { + if ((0, validate_1.isUndefined)(this._content)) { + return ""; + } + else { + return ""; + } + }; + /** + * Returns the parent of this processing instruction. + */ + XmlProcInst.prototype.up = function () { + return this._parent; + }; + return XmlProcInst; +}()); +exports.default = XmlProcInst; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.d.ts new file mode 100644 index 00000000..d3edf1db --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.d.ts @@ -0,0 +1,51 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Formatting options for the string representation of an XML node. + */ +export interface IStringOptions { + /** + * Whether double quotes or single quotes should be used in XML attributes. + * By default, single quotes are used. + */ + doubleQuotes?: boolean; + /** + * The indent string used for pretty-printing. The default indent string is + * four spaces. + */ + indent?: string; + /** + * The newline string used for pretty-printing. The default newline string + * is "\n". + */ + newline?: string; + /** + * Whether pretty-printing is enabled. By default, pretty-printing is + * enabled. + */ + pretty?: boolean; +} +/** + * Implementation of the IStringOptions interface used to provide default + * values to fields. + */ +export declare class StringOptions implements IStringOptions { + doubleQuotes: boolean; + indent: string; + newline: string; + pretty: boolean; + constructor(options: IStringOptions); +} diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.js new file mode 100644 index 00000000..d9d95892 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/options.js @@ -0,0 +1,45 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StringOptions = void 0; +var validate_1 = require("./validate"); +/** + * Implementation of the IStringOptions interface used to provide default + * values to fields. + */ +var StringOptions = /** @class */ (function () { + function StringOptions(options) { + this.doubleQuotes = false; + this.indent = " "; + this.newline = "\n"; + this.pretty = true; + if (!(0, validate_1.isUndefined)(options.doubleQuotes)) { + this.doubleQuotes = options.doubleQuotes; + } + if (!(0, validate_1.isUndefined)(options.indent)) { + this.indent = options.indent; + } + if (!(0, validate_1.isUndefined)(options.newline)) { + this.newline = options.newline; + } + if (!(0, validate_1.isUndefined)(options.pretty)) { + this.pretty = options.pretty; + } + } + return StringOptions; +}()); +exports.StringOptions = StringOptions; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.d.ts b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.d.ts new file mode 100644 index 00000000..ef40ad85 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.d.ts @@ -0,0 +1,46 @@ +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Returns true if the specified string only contains characters permitted by + * the XML specification. + */ +export declare function validateChar(str: string): boolean; +/** + * Returns a version of the specified string that only contains characters + * permitted by the XML specification, with invalid characters replaced + * by the replacement character U+FFFD. + */ +export declare function fixChar(str: string): string; +/** + * Returns true if the specified string only contains a single character, and + * that this character is permitted by the XML specification. + */ +export declare function validateSingleChar(str: string): boolean; +/** + * Returns true if the specified string only contains characters permitted by + * the XML specification for names. + */ +export declare function validateName(str: string): boolean; +/** + * Returns a version of the specified string that only contains characters + * permitted by the XML specification for names, with invalid characters + * replaced by the replacement character U+FFFD. + */ +export declare function fixName(str: string): string; +/** + * Returns true if the specified value is undefined. + */ +export declare function isUndefined(val: unknown): val is undefined; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.js b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.js new file mode 100644 index 00000000..c8566e32 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/lib/validate.js @@ -0,0 +1,274 @@ +"use strict"; +/** + * Copyright (C) 2016-2019 Michael Kourlas + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isUndefined = exports.fixName = exports.validateName = exports.validateSingleChar = exports.fixChar = exports.validateChar = void 0; +/** + * Returns true if the specified string only contains characters permitted by + * the XML specification. + */ +function validateChar(str) { + for (var i = 0; i < str.length; i++) { + var firstChar = str.charCodeAt(i); + if (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD + || (firstChar >= 0x20 && firstChar <= 0xD7FF) + || (firstChar >= 0xE000 && firstChar <= 0xFFFD)) { + continue; + } + if (i + 1 === str.length) { + return false; + } + // UTF-16 surrogate characters + var secondChar = str.charCodeAt(i + 1); + if ((firstChar >= 0xD800 && firstChar <= 0xDBFF) + && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) { + i++; + continue; + } + return false; + } + return true; +} +exports.validateChar = validateChar; +/** + * Returns a version of the specified string that only contains characters + * permitted by the XML specification, with invalid characters replaced + * by the replacement character U+FFFD. + */ +function fixChar(str) { + var newStr = ""; + for (var i = 0; i < str.length; i++) { + var firstChar = str.charCodeAt(i); + if (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD + || (firstChar >= 0x20 && firstChar <= 0xD7FF) + || (firstChar >= 0xE000 && firstChar <= 0xFFFD)) { + newStr += str[i]; + continue; + } + if (i + 1 === str.length) { + newStr += "\uFFFD"; + return newStr; + } + // UTF-16 surrogate characters + var secondChar = str.charCodeAt(i + 1); + if ((firstChar >= 0xD800 && firstChar <= 0xDBFF) + && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) { + newStr += str[i] + str[i + 1]; + i++; + continue; + } + newStr += "\uFFFD"; + } + return newStr; +} +exports.fixChar = fixChar; +/** + * Returns true if the specified string only contains a single character, and + * that this character is permitted by the XML specification. + */ +function validateSingleChar(str) { + if (str.length === 0) { + return false; + } + var firstChar = str.charCodeAt(0); + if (str.length === 1) { + return (firstChar === 0x9 || firstChar === 0xA || firstChar === 0xD + || (firstChar >= 0x20 && firstChar <= 0xD7FF) + || (firstChar >= 0xE000 && firstChar <= 0xFFFD)); + } + if (str.length !== 2) { + return false; + } + // UTF-16 surrogate characters + var secondChar = str.charCodeAt(1); + return ((firstChar >= 0xD800 && firstChar <= 0xDBFF) + && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)); +} +exports.validateSingleChar = validateSingleChar; +/** + * Returns true if the specified string only contains characters permitted by + * the XML specification for names. + */ +function validateName(str) { + if (str.length === 0) { + return false; + } + var initialFirstChar = str.charCodeAt(0); + var initialFirstCharMatch = (initialFirstChar === 0x3A + || initialFirstChar === 0x5F + || (initialFirstChar >= 0x41 && initialFirstChar <= 0x5A) + || (initialFirstChar >= 0x61 && initialFirstChar <= 0x7A) + || (initialFirstChar >= 0xC0 && initialFirstChar <= 0xD6) + || (initialFirstChar >= 0xD8 && initialFirstChar <= 0xF6) + || (initialFirstChar >= 0XF8 && initialFirstChar <= 0X2FF) + || (initialFirstChar >= 0x370 && initialFirstChar <= 0x37D) + || (initialFirstChar >= 0x37F && initialFirstChar <= 0X1FFF) + || (initialFirstChar >= 0x200C && initialFirstChar <= 0x200D) + || (initialFirstChar >= 0x2070 && initialFirstChar <= 0x218F) + || (initialFirstChar >= 0x2C00 && initialFirstChar <= 0x2FEF) + || (initialFirstChar >= 0x3001 && initialFirstChar <= 0xD7FF) + || (initialFirstChar >= 0xF900 && initialFirstChar <= 0xFDCF) + || (initialFirstChar >= 0xFDF0 && initialFirstChar <= 0xFFFD)); + if (str.length === 1) { + return initialFirstCharMatch; + } + // UTF-16 surrogate characters + var initialSecondChar = str.charCodeAt(1); + var initialSecondCharMatch = ((initialFirstChar >= 0xD800 && initialFirstChar <= 0xDB7F) + && (initialSecondChar >= 0xDC00 && initialSecondChar <= 0xDFFF)); + if (!initialFirstCharMatch && !initialSecondCharMatch) { + return false; + } + var start = initialSecondCharMatch ? 2 : 1; + for (var i = start; i < str.length; i++) { + var firstChar = str.charCodeAt(i); + if (firstChar === 0x3A + || firstChar === 0x5F + || firstChar === 0x2D + || firstChar === 0x2E + || firstChar === 0xB7 + || (firstChar >= 0x30 && firstChar <= 0x39) + || (firstChar >= 0x41 && firstChar <= 0x5A) + || (firstChar >= 0x61 && firstChar <= 0x7A) + || (firstChar >= 0xC0 && firstChar <= 0xD6) + || (firstChar >= 0xD8 && firstChar <= 0xF6) + || (firstChar >= 0XF8 && firstChar <= 0X2FF) + || (firstChar >= 0x300 && firstChar <= 0x36F) + || (firstChar >= 0x370 && firstChar <= 0x37D) + || (firstChar >= 0x37F && firstChar <= 0X1FFF) + || (firstChar >= 0x200C && firstChar <= 0x200D) + || (firstChar >= 0x203F && firstChar <= 0x2040) + || (firstChar >= 0x2070 && firstChar <= 0x218F) + || (firstChar >= 0x2C00 && firstChar <= 0x2FEF) + || (firstChar >= 0x3001 && firstChar <= 0xD7FF) + || (firstChar >= 0xF900 && firstChar <= 0xFDCF) + || (firstChar >= 0xFDF0 && firstChar <= 0xFFFD)) { + continue; + } + if (i + 1 === str.length) { + return false; + } + // UTF-16 surrogate characters + var secondChar = str.charCodeAt(i + 1); + if ((firstChar >= 0xD800 && firstChar <= 0xDB7F) + && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) { + i++; + continue; + } + return false; + } + return true; +} +exports.validateName = validateName; +/** + * Returns a version of the specified string that only contains characters + * permitted by the XML specification for names, with invalid characters + * replaced by the replacement character U+FFFD. + */ +function fixName(str) { + var newStr = ""; + if (str.length === 0) { + return newStr; + } + var initialFirstChar = str.charCodeAt(0); + var initialFirstCharMatch = (initialFirstChar === 0x3A + || initialFirstChar === 0x5F + || (initialFirstChar >= 0x41 && initialFirstChar <= 0x5A) + || (initialFirstChar >= 0x61 && initialFirstChar <= 0x7A) + || (initialFirstChar >= 0xC0 && initialFirstChar <= 0xD6) + || (initialFirstChar >= 0xD8 && initialFirstChar <= 0xF6) + || (initialFirstChar >= 0XF8 && initialFirstChar <= 0X2FF) + || (initialFirstChar >= 0x370 && initialFirstChar <= 0x37D) + || (initialFirstChar >= 0x37F && initialFirstChar <= 0X1FFF) + || (initialFirstChar >= 0x200C && initialFirstChar <= 0x200D) + || (initialFirstChar >= 0x2070 && initialFirstChar <= 0x218F) + || (initialFirstChar >= 0x2C00 && initialFirstChar <= 0x2FEF) + || (initialFirstChar >= 0x3001 && initialFirstChar <= 0xD7FF) + || (initialFirstChar >= 0xF900 && initialFirstChar <= 0xFDCF) + || (initialFirstChar >= 0xFDF0 && initialFirstChar <= 0xFFFD)); + if (str.length === 1) { + if (initialFirstCharMatch) { + newStr = str[0]; + } + else { + newStr = "\uFFFD"; + } + return newStr; + } + // UTF-16 surrogate characters + var initialSecondChar = str.charCodeAt(1); + var initialSecondCharMatch = ((initialFirstChar >= 0xD800 && initialFirstChar <= 0xDB7F) + && (initialSecondChar >= 0xDC00 && initialSecondChar <= 0xDFFF)); + if (initialSecondCharMatch) { + newStr = str[0] + str[1]; + } + else if (initialFirstCharMatch) { + newStr = str[0]; + } + else { + newStr = "\uFFFD"; + } + var start = initialSecondCharMatch ? 2 : 1; + for (var i = start; i < str.length; i++) { + var firstChar = str.charCodeAt(i); + if (firstChar === 0x3A + || firstChar === 0x5F + || firstChar === 0x2D + || firstChar === 0x2E + || firstChar === 0xB7 + || (firstChar >= 0x30 && firstChar <= 0x39) + || (firstChar >= 0x41 && firstChar <= 0x5A) + || (firstChar >= 0x61 && firstChar <= 0x7A) + || (firstChar >= 0xC0 && firstChar <= 0xD6) + || (firstChar >= 0xD8 && firstChar <= 0xF6) + || (firstChar >= 0XF8 && firstChar <= 0X2FF) + || (firstChar >= 0x300 && firstChar <= 0x36F) + || (firstChar >= 0x370 && firstChar <= 0x37D) + || (firstChar >= 0x37F && firstChar <= 0X1FFF) + || (firstChar >= 0x200C && firstChar <= 0x200D) + || (firstChar >= 0x203F && firstChar <= 0x2040) + || (firstChar >= 0x2070 && firstChar <= 0x218F) + || (firstChar >= 0x2C00 && firstChar <= 0x2FEF) + || (firstChar >= 0x3001 && firstChar <= 0xD7FF) + || (firstChar >= 0xF900 && firstChar <= 0xFDCF) + || (firstChar >= 0xFDF0 && firstChar <= 0xFFFD)) { + newStr += str[i]; + continue; + } + if (i + 1 === str.length) { + newStr += "\uFFFD"; + return newStr; + } + // UTF-16 surrogate characters + var secondChar = str.charCodeAt(i + 1); + if ((firstChar >= 0xD800 && firstChar <= 0xDB7F) + && (secondChar >= 0xDC00 && secondChar <= 0xDFFF)) { + newStr += str[i] + str[i + 1]; + i++; + continue; + } + newStr += "\uFFFD"; + } + return newStr; +} +exports.fixName = fixName; +/** + * Returns true if the specified value is undefined. + */ +function isUndefined(val) { + return Object.prototype.toString.call(val) === "[object Undefined]"; +} +exports.isUndefined = isUndefined; diff --git a/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/package.json b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/package.json new file mode 100644 index 00000000..642d91b5 --- /dev/null +++ b/ts-client/node_modules/protobufjs/cli/node_modules/xmlcreate/package.json @@ -0,0 +1,55 @@ +{ + "name": "xmlcreate", + "version": "2.0.4", + "description": "Simple XML builder for Node.js", + "keywords": [ + "build", + "builder", + "create", + "creator", + "xml" + ], + "license": "Apache-2.0", + "author": { + "name": "Michael Kourlas", + "email": "michael@kourlas.com" + }, + "files": [ + "lib", + "CHANGES.md", + "LICENSE", + "NOTICE", + "package.json", + "README.md" + ], + "main": "./lib/main.js", + "typings": "./lib/main", + "repository": { + "type": "git", + "url": "git://github.com/michaelkourlas/node-xmlcreate.git" + }, + "scripts": { + "build": "npm run-script prod && npm run-script test-prod && npm run-script docs", + "clean": "rimraf lib", + "clean-docs": "rimraf docs", + "clean-test": "rimraf test/lib", + "dev": "npm run-script clean && npm run-script lint && tsc -p tsconfig.json --sourceMap", + "docs": "npm run-script clean-docs && typedoc --out docs --excludePrivate src/main.ts", + "lint": "eslint . --ext .ts", + "prod": "npm run-script clean && npm run-script lint && tsc -p tsconfig.json", + "test-dev": "npm run-script clean-test && tsc -p test/tsconfig.json --sourceMap && mocha --recursive test/lib", + "test-prod": "npm run-script clean-test && tsc -p test/tsconfig.json && mocha --recursive test/lib" + }, + "devDependencies": { + "@types/chai": "^4.2.22", + "@types/mocha": "^9.0.0", + "@typescript-eslint/eslint-plugin": "^5.2.0", + "@typescript-eslint/parser": "^5.2.0", + "chai": "^4.3.4", + "eslint": "^8.1.0", + "mocha": "^9.1.3", + "rimraf": "^3.0.2", + "typedoc": "^0.22.7", + "typescript": "^4.4.4" + } +}